Lines Matching refs:irq_domain

40 struct irq_domain;
101 int (*match)(struct irq_domain *d, struct device_node *node,
103 int (*select)(struct irq_domain *d, struct irq_fwspec *fwspec,
105 int (*map)(struct irq_domain *d, unsigned int virq, irq_hw_number_t hw);
106 void (*unmap)(struct irq_domain *d, unsigned int virq);
107 int (*xlate)(struct irq_domain *d, struct device_node *node,
112 int (*alloc)(struct irq_domain *d, unsigned int virq,
114 void (*free)(struct irq_domain *d, unsigned int virq,
116 int (*activate)(struct irq_domain *d, struct irq_data *irqd, bool reserve);
117 void (*deactivate)(struct irq_domain *d, struct irq_data *irq_data);
118 int (*translate)(struct irq_domain *d, struct irq_fwspec *fwspec,
122 void (*debug_show)(struct seq_file *m, struct irq_domain *d,
157 struct irq_domain { struct
170 struct irq_domain *parent; argument
213 static inline struct device_node *irq_domain_get_of_node(struct irq_domain *d) in irq_domain_get_of_node()
247 struct irq_domain *__irq_domain_add(struct fwnode_handle *fwnode, int size,
251 struct irq_domain *irq_domain_add_simple(struct device_node *of_node,
256 struct irq_domain *irq_domain_add_legacy(struct device_node *of_node,
262 extern struct irq_domain *irq_find_matching_fwspec(struct irq_fwspec *fwspec,
265 extern void irq_set_default_host(struct irq_domain *host);
282 extern void irq_domain_update_bus_token(struct irq_domain *domain,
286 struct irq_domain *irq_find_matching_fwnode(struct fwnode_handle *fwnode, in irq_find_matching_fwnode()
296 static inline struct irq_domain *irq_find_matching_host(struct device_node *node, in irq_find_matching_host()
302 static inline struct irq_domain *irq_find_host(struct device_node *node) in irq_find_host()
304 struct irq_domain *d; in irq_find_host()
320 static inline struct irq_domain *irq_domain_add_linear(struct device_node *of_node, in irq_domain_add_linear()
327 static inline struct irq_domain *irq_domain_add_nomap(struct device_node *of_node, in irq_domain_add_nomap()
334 static inline struct irq_domain *irq_domain_add_legacy_isa( in irq_domain_add_legacy_isa()
342 static inline struct irq_domain *irq_domain_add_tree(struct device_node *of_node, in irq_domain_add_tree()
349 static inline struct irq_domain *irq_domain_create_linear(struct fwnode_handle *fwnode, in irq_domain_create_linear()
357 static inline struct irq_domain *irq_domain_create_tree(struct fwnode_handle *fwnode, in irq_domain_create_tree()
364 extern void irq_domain_remove(struct irq_domain *host);
366 extern int irq_domain_associate(struct irq_domain *domain, unsigned int irq,
368 extern void irq_domain_associate_many(struct irq_domain *domain,
371 extern void irq_domain_disassociate(struct irq_domain *domain,
374 extern unsigned int irq_create_mapping(struct irq_domain *host,
389 static inline unsigned int irq_linear_revmap(struct irq_domain *domain, in irq_linear_revmap()
394 extern unsigned int irq_find_mapping(struct irq_domain *host,
396 extern unsigned int irq_create_direct_mapping(struct irq_domain *host);
397 extern int irq_create_strict_mappings(struct irq_domain *domain,
401 static inline int irq_create_identity_mapping(struct irq_domain *host, in irq_create_identity_mapping()
410 int irq_domain_xlate_onecell(struct irq_domain *d, struct device_node *ctrlr,
413 int irq_domain_xlate_twocell(struct irq_domain *d, struct device_node *ctrlr,
416 int irq_domain_xlate_onetwocell(struct irq_domain *d, struct device_node *ctrlr,
421 int irq_reserve_ipi(struct irq_domain *domain, const struct cpumask *dest);
425 extern struct irq_data *irq_domain_get_irq_data(struct irq_domain *domain,
427 extern void irq_domain_set_info(struct irq_domain *domain, unsigned int virq,
432 extern struct irq_domain *irq_domain_create_hierarchy(struct irq_domain *parent,
437 static inline struct irq_domain *irq_domain_add_hierarchy(struct irq_domain *parent, in irq_domain_add_hierarchy()
449 extern int __irq_domain_alloc_irqs(struct irq_domain *domain, int irq_base,
456 static inline int irq_domain_alloc_irqs(struct irq_domain *domain, in irq_domain_alloc_irqs()
463 extern int irq_domain_alloc_irqs_hierarchy(struct irq_domain *domain,
466 extern int irq_domain_set_hwirq_and_chip(struct irq_domain *domain,
472 extern void irq_domain_free_irqs_common(struct irq_domain *domain,
475 extern void irq_domain_free_irqs_top(struct irq_domain *domain,
478 extern int irq_domain_push_irq(struct irq_domain *domain, int virq, void *arg);
479 extern int irq_domain_pop_irq(struct irq_domain *domain, int virq);
481 extern int irq_domain_alloc_irqs_parent(struct irq_domain *domain,
485 extern void irq_domain_free_irqs_parent(struct irq_domain *domain,
489 static inline bool irq_domain_is_hierarchy(struct irq_domain *domain) in irq_domain_is_hierarchy()
494 static inline bool irq_domain_is_ipi(struct irq_domain *domain) in irq_domain_is_ipi()
500 static inline bool irq_domain_is_ipi_per_cpu(struct irq_domain *domain) in irq_domain_is_ipi_per_cpu()
505 static inline bool irq_domain_is_ipi_single(struct irq_domain *domain) in irq_domain_is_ipi_single()
510 static inline bool irq_domain_is_msi(struct irq_domain *domain) in irq_domain_is_msi()
515 static inline bool irq_domain_is_msi_remap(struct irq_domain *domain) in irq_domain_is_msi_remap()
520 extern bool irq_domain_hierarchical_is_msi_remap(struct irq_domain *domain);
523 static inline int irq_domain_alloc_irqs(struct irq_domain *domain, in irq_domain_alloc_irqs()
532 static inline bool irq_domain_is_hierarchy(struct irq_domain *domain) in irq_domain_is_hierarchy()
537 static inline bool irq_domain_is_ipi(struct irq_domain *domain) in irq_domain_is_ipi()
542 static inline bool irq_domain_is_ipi_per_cpu(struct irq_domain *domain) in irq_domain_is_ipi_per_cpu()
547 static inline bool irq_domain_is_ipi_single(struct irq_domain *domain) in irq_domain_is_ipi_single()
552 static inline bool irq_domain_is_msi(struct irq_domain *domain) in irq_domain_is_msi()
557 static inline bool irq_domain_is_msi_remap(struct irq_domain *domain) in irq_domain_is_msi_remap()
563 irq_domain_hierarchical_is_msi_remap(struct irq_domain *domain) in irq_domain_hierarchical_is_msi_remap()
571 static inline struct irq_domain *irq_find_matching_fwnode( in irq_find_matching_fwnode()