man*_*m-n 7 memory linux-device-driver linux-kernel embedded-linux
在源代码实现中,它表示idr_alloc()用于分配新idr条目.我找不到man page并且想知道为什么它在使用时特别是在为MTD设备编写驱动程序时.
idr在内核中使用该库来管理为对象分配整数ID并通过id查找对象.有关完整介绍,请参阅此LWN网络文章 ; 基本的想法是你有以下操作:
idr_get_new(struct idr *idp, void *ptr, int *id)- 为指针分配一个新ID ptr并通过它返回id
void *idr_find(struct idr *idp, int id) - 返回对应的指针 id
void idr_remove(struct idr *idp, int id) - 清除条目 id
这对于映射到内核对象的小整数ID很有用 - 例如,返回给用户空间的次要数字或其他索引.