On 07/09/17 12:41, Masahiro Yamada wrote: > The meaning of "root" in irq_domain_{push,pop} is opposite to the > documentation. Documentation/IRQ-domain.txt depicts the hierarchy > IRQ domain as follows: > > CPU Vector irq_domain (root irq_domain to manage CPU vectors) > ^ > | > Interrupt Remapping irq_domain (manage irq_remapping entries) > ^ > | > IOAPIC irq_domain (manage IOAPIC delivery entries/pins) > > From above, the inner-most domain (nearest to the CPU) is "root". > > The document also says, "When building irq_domain hierarchy, the > irq_domain near to the device is child and the irq_domain near to > CPU is parent." This is how irq_data->parent_data works. In > contrast, these function use a variable "child_irq_data" for that. The exact opposite argument could be used for the data structure. The irq_desc is the root of the list ordered with parent_data. Yes, this is confusing, but because we're using the same English words to describe two different things, we're bound to make one thing more difficult. I'm unconvinced that this change helps anything (it certainly confuses me more than anything else). Thanks, M. -- Jazz is not dead. It just smells funny... -- To unsubscribe from this list: send the line "unsubscribe linux-gpio" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html