[tip:irq/core] arm64: Use the new GENERIC_IRQ_MULTI_HANDLER

From: tip-bot for Palmer Dabbelt
Date: Fri Aug 03 2018 - 06:20:25 EST


Commit-ID: 78ae2e1cd845480caaa2f181fee64e51f679f5aa
Gitweb: https://git.kernel.org/tip/78ae2e1cd845480caaa2f181fee64e51f679f5aa
Author: Palmer Dabbelt <palmer@xxxxxxxxxx>
AuthorDate: Fri, 22 Jun 2018 10:01:24 -0700
Committer: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
CommitDate: Fri, 3 Aug 2018 12:14:09 +0200

arm64: Use the new GENERIC_IRQ_MULTI_HANDLER

It appears arm64 copied arm's GENERIC_IRQ_MULTI_HANDLER code, but made
it unconditional.

Converts the arm64 code to use the new generic code, which simply consists
of deleting the arm64 code and setting MULTI_IRQ_HANDLER instead.

Signed-off-by: Palmer Dabbelt <palmer@xxxxxxxxxx>
Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Reviewed-by: Christoph Hellwig <hch@xxxxxx>
Cc: linux@xxxxxxxxxxxxxxx
Cc: catalin.marinas@xxxxxxx
Cc: Will Deacon <will.deacon@xxxxxxx>
Cc: jonas@xxxxxxxxxxxx
Cc: stefan.kristiansson@xxxxxxxxxxxxx
Cc: shorne@xxxxxxxxx
Cc: jason@xxxxxxxxxxxxxx
Cc: marc.zyngier@xxxxxxx
Cc: Arnd Bergmann <arnd@xxxxxxxx>
Cc: nicolas.pitre@xxxxxxxxxx
Cc: vladimir.murzin@xxxxxxx
Cc: keescook@xxxxxxxxxxxx
Cc: jinb.park7@xxxxxxxxx
Cc: yamada.masahiro@xxxxxxxxxxxxx
Cc: alexandre.belloni@xxxxxxxxxxx
Cc: pombredanne@xxxxxxxx
Cc: Greg KH <gregkh@xxxxxxxxxxxxxxxxxxx>
Cc: kstewart@xxxxxxxxxxxxxxxxxxx
Cc: jhogan@xxxxxxxxxx
Cc: mark.rutland@xxxxxxx
Cc: ard.biesheuvel@xxxxxxxxxx
Cc: james.morse@xxxxxxx
Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx
Cc: openrisc@xxxxxxxxxxxxxxxxxxxx
Link: https://lkml.kernel.org/r/20180622170126.6308-4-palmer@xxxxxxxxxx

---
arch/arm64/Kconfig | 4 +---
arch/arm64/include/asm/irq.h | 2 --
arch/arm64/kernel/irq.c | 10 ----------
3 files changed, 1 insertion(+), 15 deletions(-)

diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
index 42c090cf0292..3d1011957823 100644
--- a/arch/arm64/Kconfig
+++ b/arch/arm64/Kconfig
@@ -74,6 +74,7 @@ config ARM64
select GENERIC_CPU_AUTOPROBE
select GENERIC_EARLY_IOREMAP
select GENERIC_IDLE_POLL_SETUP
+ select GENERIC_IRQ_MULTI_HANDLER
select GENERIC_IRQ_PROBE
select GENERIC_IRQ_SHOW
select GENERIC_IRQ_SHOW_LEVEL
@@ -264,9 +265,6 @@ config ARCH_SUPPORTS_UPROBES
config ARCH_PROC_KCORE_TEXT
def_bool y

-config MULTI_IRQ_HANDLER
- def_bool y
-
source "init/Kconfig"

source "kernel/Kconfig.freezer"
diff --git a/arch/arm64/include/asm/irq.h b/arch/arm64/include/asm/irq.h
index a0fee6985e6a..b2b0c6405eb0 100644
--- a/arch/arm64/include/asm/irq.h
+++ b/arch/arm64/include/asm/irq.h
@@ -8,8 +8,6 @@

struct pt_regs;

-extern void set_handle_irq(void (*handle_irq)(struct pt_regs *));
-
static inline int nr_legacy_irqs(void)
{
return 0;
diff --git a/arch/arm64/kernel/irq.c b/arch/arm64/kernel/irq.c
index 60e5fc661f74..780a12f59a8f 100644
--- a/arch/arm64/kernel/irq.c
+++ b/arch/arm64/kernel/irq.c
@@ -42,16 +42,6 @@ int arch_show_interrupts(struct seq_file *p, int prec)
return 0;
}

-void (*handle_arch_irq)(struct pt_regs *) = NULL;
-
-void __init set_handle_irq(void (*handle_irq)(struct pt_regs *))
-{
- if (handle_arch_irq)
- return;
-
- handle_arch_irq = handle_irq;
-}
-
#ifdef CONFIG_VMAP_STACK
static void init_irq_stacks(void)
{