In the source code implementation it says idr_alloc() is used to allocate new idr entry. I couldn't find the man page and want to know why it is used especially when writing drivers for MTD devices.