Commit 6c725f33 authored by Anup Patel's avatar Anup Patel Committed by Thomas Gleixner
Browse files

irqchip/sifive-plic: Use riscv_get_intc_hwnode() to get parent fwnode



The RISC-V INTC irqdomain is always the parent irqdomain of SiFive PLIC
so use riscv_get_intc_hwnode() to get the parent fwnode similar to other
RISC-V drivers which use local interrupts.

Signed-off-by: default avatarAnup Patel <apatel@ventanamicro.com>
Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/r/20240222094006.1030709-5-apatel@ventanamicro.com
parent b68d0ff5
Loading
Loading
Loading
Loading
+5 −4
Original line number Diff line number Diff line
@@ -423,6 +423,7 @@ static int plic_probe(struct platform_device *pdev)
	struct device *dev = &pdev->dev;
	unsigned long plic_quirks = 0;
	struct plic_handler *handler;
	struct irq_domain *domain;
	struct plic_priv *priv;
	bool cpuhp_setup;
	unsigned int cpu;
@@ -502,11 +503,11 @@ static int plic_probe(struct platform_device *pdev)
		}

		/* Find parent domain and register chained handler */
		if (!plic_parent_irq && irq_find_host(parent.np)) {
			plic_parent_irq = irq_of_parse_and_map(to_of_node(dev->fwnode), i);
		domain = irq_find_matching_fwnode(riscv_get_intc_hwnode(), DOMAIN_BUS_ANY);
		if (!plic_parent_irq && domain) {
			plic_parent_irq = irq_create_mapping(domain, RV_IRQ_EXT);
			if (plic_parent_irq)
				irq_set_chained_handler(plic_parent_irq,
							plic_handle_irq);
				irq_set_chained_handler(plic_parent_irq, plic_handle_irq);
		}

		/*