]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
LoongArch: Move irqchip function prototypes to irq-loongson.h
authorHuacai Chen <chenhuacai@loongson.cn>
Fri, 23 Aug 2024 10:39:32 +0000 (18:39 +0800)
committerThomas Gleixner <tglx@linutronix.de>
Fri, 23 Aug 2024 18:40:27 +0000 (20:40 +0200)
Some irqchip functions are only for internal use by irqchip drivers, so
move their prototypes from asm/irq.h to drivers/irqchip/irq-loongson.h.

All related driver files include the new irq-loongson.h.

Signed-off-by: Huacai Chen <chenhuacai@loongson.cn>
Signed-off-by: Tianyang Zhang <zhangtianyang@loongson.cn>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/all/20240823103936.25092-1-zhangtianyang@loongson.cn
arch/loongarch/include/asm/irq.h
drivers/irqchip/irq-loongarch-cpu.c
drivers/irqchip/irq-loongson-eiointc.c
drivers/irqchip/irq-loongson-htvec.c
drivers/irqchip/irq-loongson-liointc.c
drivers/irqchip/irq-loongson-pch-lpc.c
drivers/irqchip/irq-loongson-pch-msi.c
drivers/irqchip/irq-loongson-pch-pic.c
drivers/irqchip/irq-loongson.h [new file with mode: 0644]

index 480418bc5071a5ebba50192744fe0be64b719d32..65503c9eb52934e56e745e70fccc6a056ea968e9 100644 (file)
@@ -88,20 +88,6 @@ struct acpi_madt_bio_pic;
 struct acpi_madt_msi_pic;
 struct acpi_madt_lpc_pic;
 
-int liointc_acpi_init(struct irq_domain *parent,
-                                       struct acpi_madt_lio_pic *acpi_liointc);
-int eiointc_acpi_init(struct irq_domain *parent,
-                                       struct acpi_madt_eio_pic *acpi_eiointc);
-
-int htvec_acpi_init(struct irq_domain *parent,
-                                       struct acpi_madt_ht_pic *acpi_htvec);
-int pch_lpc_acpi_init(struct irq_domain *parent,
-                                       struct acpi_madt_lpc_pic *acpi_pchlpc);
-int pch_msi_acpi_init(struct irq_domain *parent,
-                                       struct acpi_madt_msi_pic *acpi_pchmsi);
-int pch_pic_acpi_init(struct irq_domain *parent,
-                                       struct acpi_madt_bio_pic *acpi_pchpic);
-int find_pch_pic(u32 gsi);
 struct fwnode_handle *get_pch_msi_handle(int pci_segment);
 
 extern struct acpi_madt_lio_pic *acpi_liointc;
index 9d8f2c40604310d6d92fdea667c2ea0322ece015..83f7492290a8bbf92823c2fe3af808cd20e9c905 100644 (file)
@@ -13,6 +13,8 @@
 #include <asm/loongarch.h>
 #include <asm/setup.h>
 
+#include "irq-loongson.h"
+
 static struct irq_domain *irq_domain;
 struct fwnode_handle *cpuintc_handle;
 
index b1f2080be2beb2525d8e189e15e15c1be9336100..34b5ca2f5e629272d7782f38d221e4087e99a077 100644 (file)
@@ -17,6 +17,8 @@
 #include <linux/syscore_ops.h>
 #include <asm/numa.h>
 
+#include "irq-loongson.h"
+
 #define EIOINTC_REG_NODEMAP    0x14a0
 #define EIOINTC_REG_IPMAP      0x14c0
 #define EIOINTC_REG_ENABLE     0x1600
index 0bff728b25e3da85ebb1d166f0cae5b7a7f0ea51..5da02c7ad0b3075c2ac0a0aa1d9a5724d8906b9c 100644 (file)
@@ -17,6 +17,8 @@
 #include <linux/of_irq.h>
 #include <linux/syscore_ops.h>
 
+#include "irq-loongson.h"
+
 /* Registers */
 #define HTVEC_EN_OFF           0x20
 #define HTVEC_MAX_PARENT_IRQ   8
index 7c4fe7ab4b830e499ec36140ae6cd39ad1325ab0..2b1bd4a96665b4eab6832dd95daca4468c3d661d 100644 (file)
@@ -22,6 +22,8 @@
 #include <asm/loongson.h>
 #endif
 
+#include "irq-loongson.h"
+
 #define LIOINTC_CHIP_IRQ       32
 #define LIOINTC_NUM_PARENT     4
 #define LIOINTC_NUM_CORES      4
index 9b35492fb6be9eacfbfe07a2b7d54f147843f094..2d4c3ec128b8f27056ccec04515c423174a1c0f9 100644 (file)
@@ -15,6 +15,8 @@
 #include <linux/kernel.h>
 #include <linux/syscore_ops.h>
 
+#include "irq-loongson.h"
+
 /* Registers */
 #define LPC_INT_CTL            0x00
 #define LPC_INT_ENA            0x04
index 2242f63c66fc93005be744aa60c077820225dbd5..d43731878800c1ab8cc6eda3519e818c7b301702 100644 (file)
@@ -16,6 +16,7 @@
 #include <linux/slab.h>
 
 #include "irq-msi-lib.h"
+#include "irq-loongson.h"
 
 static int nr_pics;
 
index cbaef65e804cec093c39eba7c83c19e18b39fd21..69efda35a8e78574ca67754c72828c9529a62281 100644 (file)
@@ -17,6 +17,8 @@
 #include <linux/of_irq.h>
 #include <linux/syscore_ops.h>
 
+#include "irq-loongson.h"
+
 /* Registers */
 #define PCH_PIC_MASK           0x20
 #define PCH_PIC_HTMSI_EN       0x40
diff --git a/drivers/irqchip/irq-loongson.h b/drivers/irqchip/irq-loongson.h
new file mode 100644 (file)
index 0000000..b155f12
--- /dev/null
@@ -0,0 +1,25 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
+ * Copyright (C) 2024 Loongson Technology Corporation Limited
+ */
+
+#ifndef _DRIVERS_IRQCHIP_IRQ_LOONGSON_H
+#define _DRIVERS_IRQCHIP_IRQ_LOONGSON_H
+
+int find_pch_pic(u32 gsi);
+
+int liointc_acpi_init(struct irq_domain *parent,
+                                       struct acpi_madt_lio_pic *acpi_liointc);
+int eiointc_acpi_init(struct irq_domain *parent,
+                                       struct acpi_madt_eio_pic *acpi_eiointc);
+
+int htvec_acpi_init(struct irq_domain *parent,
+                                       struct acpi_madt_ht_pic *acpi_htvec);
+int pch_lpc_acpi_init(struct irq_domain *parent,
+                                       struct acpi_madt_lpc_pic *acpi_pchlpc);
+int pch_pic_acpi_init(struct irq_domain *parent,
+                                       struct acpi_madt_bio_pic *acpi_pchpic);
+int pch_msi_acpi_init(struct irq_domain *parent,
+                                       struct acpi_madt_msi_pic *acpi_pchmsi);
+
+#endif /* _DRIVERS_IRQCHIP_IRQ_LOONGSON_H */