DEFINE_IDA 是什么意思?
What does DEFINE_IDA mean?
我正在查看 chipidea usb otg 驱动程序代码,我多次看到类似的定义。
static DEFINE_IDA(ci_ida);
我不明白它在编程世界中的含义及其目的。有人可以解释一下吗?
如前所述,DEFINE_IDE(name)
与 struct ida name = IDA_INIT(name)
相同 #define
d。你应该检查一下LXR,这对于浏览内核源代码非常方便。
IDR 是内核中的一个子系统,它提供了一种将 id 映射到指针的有效方法。通常您会使用 id 作为指针数组的偏移量,但这会限制您的 id 的大小。 IDR 通过使用基数树代替查找来解决这个问题。
有时您只需要唯一的 ID,而不需要将它们与指针相关联,而这正是 IDA 的用途。
/* IDA - IDR based ID allocator
*
* This is id allocator without id -> pointer translation. Memory
* usage is much lower than full blown idr because each id only
* occupies a bit.
我正在查看 chipidea usb otg 驱动程序代码,我多次看到类似的定义。
static DEFINE_IDA(ci_ida);
我不明白它在编程世界中的含义及其目的。有人可以解释一下吗?
如前所述,DEFINE_IDE(name)
与 struct ida name = IDA_INIT(name)
相同 #define
d。你应该检查一下LXR,这对于浏览内核源代码非常方便。
IDR 是内核中的一个子系统,它提供了一种将 id 映射到指针的有效方法。通常您会使用 id 作为指针数组的偏移量,但这会限制您的 id 的大小。 IDR 通过使用基数树代替查找来解决这个问题。
有时您只需要唯一的 ID,而不需要将它们与指针相关联,而这正是 IDA 的用途。
/* IDA - IDR based ID allocator
*
* This is id allocator without id -> pointer translation. Memory
* usage is much lower than full blown idr because each id only
* occupies a bit.