Lines Matching refs:fwnode
31 struct fwnode_handle fwnode; member
45 static const char *irqchip_fwnode_get_name(const struct fwnode_handle *fwnode) in irqchip_fwnode_get_name() argument
47 struct irqchip_fwid *fwid = container_of(fwnode, struct irqchip_fwid, fwnode); in irqchip_fwnode_get_name()
103 fwnode_init(&fwid->fwnode, &irqchip_fwnode_ops); in __irq_domain_alloc_fwnode()
104 return &fwid->fwnode; in __irq_domain_alloc_fwnode()
113 void irq_domain_free_fwnode(struct fwnode_handle *fwnode) in irq_domain_free_fwnode() argument
117 if (WARN_ON(!is_fwnode_irqchip(fwnode))) in irq_domain_free_fwnode()
120 fwid = container_of(fwnode, struct irqchip_fwid, fwnode); in irq_domain_free_fwnode()
139 struct irq_domain *__irq_domain_add(struct fwnode_handle *fwnode, unsigned int size, in __irq_domain_add() argument
154 GFP_KERNEL, of_node_to_nid(to_of_node(fwnode))); in __irq_domain_add()
158 if (is_fwnode_irqchip(fwnode)) { in __irq_domain_add()
159 fwid = container_of(fwnode, struct irqchip_fwid, fwnode); in __irq_domain_add()
164 domain->fwnode = fwnode; in __irq_domain_add()
173 domain->fwnode = fwnode; in __irq_domain_add()
177 } else if (is_of_node(fwnode) || is_acpi_device_node(fwnode) || in __irq_domain_add()
178 is_software_node(fwnode)) { in __irq_domain_add()
186 name = kasprintf(GFP_KERNEL, "%pfw", fwnode); in __irq_domain_add()
195 domain->fwnode = fwnode; in __irq_domain_add()
200 if (fwnode) in __irq_domain_add()
211 fwnode_handle_get(fwnode); in __irq_domain_add()
212 fwnode_dev_initialized(fwnode, true); in __irq_domain_add()
267 fwnode_dev_initialized(domain->fwnode, false); in irq_domain_remove()
268 fwnode_handle_put(domain->fwnode); in irq_domain_remove()
325 struct irq_domain *irq_domain_create_simple(struct fwnode_handle *fwnode, in irq_domain_create_simple() argument
333 domain = __irq_domain_add(fwnode, size, size, 0, ops, host_data); in irq_domain_create_simple()
341 of_node_to_nid(to_of_node(fwnode))); in irq_domain_create_simple()
380 struct irq_domain *irq_domain_create_legacy(struct fwnode_handle *fwnode, in irq_domain_create_legacy() argument
389 domain = __irq_domain_add(fwnode, first_hwirq + size, first_hwirq + size, 0, ops, host_data); in irq_domain_create_legacy()
406 struct fwnode_handle *fwnode = fwspec->fwnode; in irq_find_matching_fwspec() local
423 rc = h->ops->match(h, to_of_node(fwnode), bus_token); in irq_find_matching_fwspec()
425 rc = ((fwnode != NULL) && (h->fwnode == fwnode) && in irq_find_matching_fwspec()
738 return d->ops->xlate(d, to_of_node(fwspec->fwnode), in irq_domain_translate()
752 fwspec->fwnode = of_node_to_fwnode(np); in of_phandle_args_to_fwspec()
768 if (fwspec->fwnode) { in irq_create_fwspec_mapping()
778 of_node_full_name(to_of_node(fwspec->fwnode))); in irq_create_fwspec_mapping()
820 hwirq, of_node_full_name(to_of_node(fwspec->fwnode))); in irq_create_fwspec_mapping()
1096 struct fwnode_handle *fwnode, in irq_domain_create_hierarchy() argument
1103 domain = irq_domain_create_linear(fwnode, size, ops, host_data); in irq_domain_create_hierarchy()
1105 domain = irq_domain_create_tree(fwnode, ops, host_data); in irq_domain_create_hierarchy()