idr_get_new_above — allocate new idr entry above or equal to a start id
int idr_get_new_above ( | struct idr * idp, |
| void * ptr, | |
| int starting_id, | |
int * id); |
idpidr handle
ptrpointer you want associated with the id
starting_idid to start search at
idpointer to the allocated handle
This is the allocate id function. It should be called with any required locks.
If allocation from IDR's private freelist fails, idr_get_new_above will
return -EAGAIN. The caller should retry the idr_pre_get call to refill
IDR's preallocation and then retry the idr_get_new_above call.
If the idr is full idr_get_new_above will return -ENOSPC.
id returns a value in the range starting_id ... 0x7fffffff