irq_domain结构体
143 struct irq_domain {
144 struct list_head link; ------------->用于将irq_domain连接到全局链表irq_domain_list中
145 const char *name; -------------->中断控制器名称
146 const struct irq_domain_ops *ops; --------------> irq domain映射操作使用的方法集合
147 void *host_data; ------------>gic相关的信息,比如gic的cpu interface和distrabutor的基地址
148 unsigned int flags;
149
150 /* Optional data */
151 struct fwnode_handle *fwnode; ------->通过fwnode得到中断的节点node信息
152 enum irq_domain_bus_token bus_token;
153 struct irq_domain_chip_generic *gc;
154 #ifdef CONFIG_IRQ_DOMAIN_HIERARCHY
155 struct irq_domain *parent;
156 #endif
157
158 /* reverse map data. The linear map gets appended to the irq_domain */
159 irq_hw_number_t hwirq_max; ------>支持hw的最大值
160 unsigned int revmap_direct_max_irq;
161 unsigned int revmap_size;
162 struct radix_tree_root revmap_tree;
163 unsigned int linear_revmap[]; ------>线性查询表,用于hw id和irq号的查询
164 };