idr_get_new_above9
Allocate new idr entry above or equal to a start id
Usage
int idr_get_new_above(struct idr * idp, void * ptr, int starting_id, int * id);
Arguments
idp
idr handle
ptr
pointer you want associated with the id
starting_id
id to start search at
id
pointer to the allocated handle
Overview
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