Lines Matching refs:fwnode

62 static int __init aclint_sswi_parse_irq(struct fwnode_handle *fwnode, void __iomem *reg)  in aclint_sswi_parse_irq()  argument
64 u32 contexts = of_irq_count(to_of_node(fwnode)); in aclint_sswi_parse_irq()
67 pr_err("%pfwP: no ACLINT SSWI context available\n", fwnode); in aclint_sswi_parse_irq()
77 rc = of_irq_parse_one(to_of_node(fwnode), i, &parent); in aclint_sswi_parse_irq()
90 rc = riscv_get_hart_index(fwnode, i, &hart_index); in aclint_sswi_parse_irq()
92 pr_warn("%pfwP: hart index [%d] not found\n", fwnode, i); in aclint_sswi_parse_irq()
98 pr_info("%pfwP: register %u CPU%s\n", fwnode, contexts, str_plural(contexts)); in aclint_sswi_parse_irq()
103 static int __init aclint_sswi_probe(struct fwnode_handle *fwnode) in aclint_sswi_probe() argument
109 if (!is_of_node(fwnode)) in aclint_sswi_probe()
112 reg = of_iomap(to_of_node(fwnode), 0); in aclint_sswi_probe()
117 rc = aclint_sswi_parse_irq(fwnode, reg); in aclint_sswi_probe()
128 pr_err("%pfwP: Failed to find INTC domain\n", fwnode); in aclint_sswi_probe()
159 static int __init generic_aclint_sswi_probe(struct fwnode_handle *fwnode) in generic_aclint_sswi_probe() argument
163 rc = aclint_sswi_probe(fwnode); in generic_aclint_sswi_probe()
176 return generic_aclint_sswi_probe(&node->fwnode); in generic_aclint_sswi_early_probe()
184 static int __init thead_aclint_sswi_probe(struct fwnode_handle *fwnode) in thead_aclint_sswi_probe() argument
193 rc = aclint_sswi_probe(fwnode); in thead_aclint_sswi_probe()
206 return thead_aclint_sswi_probe(&node->fwnode); in thead_aclint_sswi_early_probe()