From: Marc Zyngier Date: Mon, 5 Dec 2022 10:45:11 +0000 (+0000) Subject: Merge branch irq/loongarch-of into irq/irqchip-next X-Git-Tag: v6.2-rc1~195^2^2~2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=dc7f1c295f829c0dd40fed8e799a37a05bec6892;p=thirdparty%2Fkernel%2Flinux.git Merge branch irq/loongarch-of into irq/irqchip-next * irq/loongarch-of: : . : Initial OF support for LoongArch. Funny how it only took : *one* release from plumbing ACPI into an unsuspecting : architecture to start enabling OF on it. Oh well... : . irqchip/loongarch-cpu: Fix a missing prototype warning dt-bindings: interrupt-controller: add yaml for LoongArch CPU interrupt controller irqchip: loongarch-cpu: add DT support Signed-off-by: Marc Zyngier --- dc7f1c295f829c0dd40fed8e799a37a05bec6892 diff --cc drivers/irqchip/irq-loongarch-cpu.c index fdec3e9cfacfb,738d69c4d4a33..9d8f2c4060431 --- a/drivers/irqchip/irq-loongarch-cpu.c +++ b/drivers/irqchip/irq-loongarch-cpu.c @@@ -92,8 -92,27 +92,26 @@@ static const struct irq_domain_ops loon .xlate = irq_domain_xlate_onecell, }; + #ifdef CONFIG_OF + static int __init cpuintc_of_init(struct device_node *of_node, + struct device_node *parent) + { + cpuintc_handle = of_node_to_fwnode(of_node); + + irq_domain = irq_domain_create_linear(cpuintc_handle, EXCCODE_INT_NUM, + &loongarch_cpu_intc_irq_domain_ops, NULL); + if (!irq_domain) + panic("Failed to add irqdomain for loongarch CPU"); + + set_handle_irq(&handle_cpu_irq); + + return 0; + } + IRQCHIP_DECLARE(cpu_intc, "loongson,cpu-interrupt-controller", cpuintc_of_init); + #endif + -static int __init -liointc_parse_madt(union acpi_subtable_headers *header, - const unsigned long end) +static int __init liointc_parse_madt(union acpi_subtable_headers *header, + const unsigned long end) { struct acpi_madt_lio_pic *liointc_entry = (struct acpi_madt_lio_pic *)header;