Lines Matching refs:irq_domain
38 struct irq_domain;
94 int (*match)(struct irq_domain *d, struct device_node *node,
96 int (*map)(struct irq_domain *d, unsigned int virq, irq_hw_number_t hw);
97 void (*unmap)(struct irq_domain *d, unsigned int virq);
98 int (*xlate)(struct irq_domain *d, struct device_node *node,
104 int (*alloc)(struct irq_domain *d, unsigned int virq,
106 void (*free)(struct irq_domain *d, unsigned int virq,
108 void (*activate)(struct irq_domain *d, struct irq_data *irq_data);
109 void (*deactivate)(struct irq_domain *d, struct irq_data *irq_data);
110 int (*translate)(struct irq_domain *d, struct irq_fwspec *fwspec,
143 struct irq_domain { struct
155 struct irq_domain *parent; argument
182 static inline struct device_node *irq_domain_get_of_node(struct irq_domain *d) in irq_domain_get_of_node() argument
190 struct irq_domain *__irq_domain_add(struct fwnode_handle *fwnode, int size,
194 struct irq_domain *irq_domain_add_simple(struct device_node *of_node,
199 struct irq_domain *irq_domain_add_legacy(struct device_node *of_node,
205 extern struct irq_domain *irq_find_matching_fwnode(struct fwnode_handle *fwnode,
207 extern void irq_set_default_host(struct irq_domain *host);
214 static inline struct irq_domain *irq_find_matching_host(struct device_node *node, in irq_find_matching_host()
220 static inline struct irq_domain *irq_find_host(struct device_node *node) in irq_find_host()
232 static inline struct irq_domain *irq_domain_add_linear(struct device_node *of_node, in irq_domain_add_linear()
239 static inline struct irq_domain *irq_domain_add_nomap(struct device_node *of_node, in irq_domain_add_nomap()
246 static inline struct irq_domain *irq_domain_add_legacy_isa( in irq_domain_add_legacy_isa()
254 static inline struct irq_domain *irq_domain_add_tree(struct device_node *of_node, in irq_domain_add_tree()
261 static inline struct irq_domain *irq_domain_create_linear(struct fwnode_handle *fwnode, in irq_domain_create_linear()
269 static inline struct irq_domain *irq_domain_create_tree(struct fwnode_handle *fwnode, in irq_domain_create_tree()
276 extern void irq_domain_remove(struct irq_domain *host);
278 extern int irq_domain_associate(struct irq_domain *domain, unsigned int irq,
280 extern void irq_domain_associate_many(struct irq_domain *domain,
283 extern void irq_domain_disassociate(struct irq_domain *domain,
286 extern unsigned int irq_create_mapping(struct irq_domain *host,
301 static inline unsigned int irq_linear_revmap(struct irq_domain *domain, in irq_linear_revmap()
306 extern unsigned int irq_find_mapping(struct irq_domain *host,
308 extern unsigned int irq_create_direct_mapping(struct irq_domain *host);
309 extern int irq_create_strict_mappings(struct irq_domain *domain,
313 static inline int irq_create_identity_mapping(struct irq_domain *host, in irq_create_identity_mapping()
322 int irq_domain_xlate_onecell(struct irq_domain *d, struct device_node *ctrlr,
325 int irq_domain_xlate_twocell(struct irq_domain *d, struct device_node *ctrlr,
328 int irq_domain_xlate_onetwocell(struct irq_domain *d, struct device_node *ctrlr,
333 extern struct irq_data *irq_domain_get_irq_data(struct irq_domain *domain,
335 extern void irq_domain_set_info(struct irq_domain *domain, unsigned int virq,
340 extern struct irq_domain *irq_domain_create_hierarchy(struct irq_domain *parent,
345 static inline struct irq_domain *irq_domain_add_hierarchy(struct irq_domain *parent, in irq_domain_add_hierarchy()
357 extern int __irq_domain_alloc_irqs(struct irq_domain *domain, int irq_base,
364 static inline int irq_domain_alloc_irqs(struct irq_domain *domain, in irq_domain_alloc_irqs()
370 extern int irq_domain_set_hwirq_and_chip(struct irq_domain *domain,
376 extern void irq_domain_free_irqs_common(struct irq_domain *domain,
379 extern void irq_domain_free_irqs_top(struct irq_domain *domain,
382 extern int irq_domain_alloc_irqs_parent(struct irq_domain *domain,
386 extern void irq_domain_free_irqs_parent(struct irq_domain *domain,
390 static inline bool irq_domain_is_hierarchy(struct irq_domain *domain) in irq_domain_is_hierarchy()
397 static inline int irq_domain_alloc_irqs(struct irq_domain *domain, in irq_domain_alloc_irqs()
403 static inline bool irq_domain_is_hierarchy(struct irq_domain *domain) in irq_domain_is_hierarchy()