* Finish the GENERIC_IRQ_MULTI_HANDLER conversion
@ 2018-06-21 18:17 Palmer Dabbelt
2018-06-22 17:01 ` Palmer Dabbelt
2018-06-24 13:15 ` Finish the GENERIC_IRQ_MULTI_HANDLER conversion Thomas Gleixner
0 siblings, 2 replies; 15+ messages in thread
From: Palmer Dabbelt @ 2018-06-21 18:17 UTC (permalink / raw)
To: tglx
Cc: linux, catalin.marinas, will.deacon, jonas, stefan.kristiansson,
shorne, tglx, jason, marc.zyngier, arnd, keescook,
vladimir.murzin, nicolas.pitre, jinb.park7, yamada.masahiro,
alexandre.belloni, palmer, gregkh, pombredanne, kstewart, jhogan,
mark.rutland, ard.biesheuvel, james.morse, linux-arm-kernel,
linux-kernel, openrisc
A while ago I sent a patch set that adds a GENERIC_IRQ_MULTI_HANDLER,
which is an exact copy of the existing IRQ_MULTI_HANDLER support in the
arm port, which is being used unconditionally by arm64 and openrisc.
GENERIC_IRQ_MULTI_HANDLER is currently being used by the RISC-V port. I
managed to make a few mistakes in my original patch set and as a result
my conversion of the other architectures of GENERIC_IRQ_MULTI_HANDLER
was dropped.
This patch set finishes up my original patch set by converting arm,
arm64, and openrisc over to the new GENERIC_IRQ_MULTI_HANDLER support
and then removing MULTI_IRQ_HANDLER as it's obselete.
At the time I wrote this I gave it fairly extensive build testing, but
went I recently rebased it I just tested the full patch set on arm,
arm64, and openrisc defconfigs.
Various flavors of this patch set have bounced around a few times
before, but I'm calling this a whole new patch set as it builds on top
of what was merged.
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: Finish the GENERIC_IRQ_MULTI_HANDLER conversion
2018-06-21 18:17 Finish the GENERIC_IRQ_MULTI_HANDLER conversion Palmer Dabbelt
@ 2018-06-22 17:01 ` Palmer Dabbelt
2018-06-22 17:01 ` [PATCH 1/5] irq: Port the ARM IRQ drivers to GENERIC_IRQ_MULTI_HANDLER Palmer Dabbelt
` (4 more replies)
2018-06-24 13:15 ` Finish the GENERIC_IRQ_MULTI_HANDLER conversion Thomas Gleixner
1 sibling, 5 replies; 15+ messages in thread
From: Palmer Dabbelt @ 2018-06-22 17:01 UTC (permalink / raw)
To: tglx
Cc: linux, catalin.marinas, Will Deacon, jonas, stefan.kristiansson,
shorne, jason, marc.zyngier, Arnd Bergmann, nicolas.pitre,
vladimir.murzin, keescook, jinb.park7, yamada.masahiro,
alexandre.belloni, Palmer Dabbelt, pombredanne, Greg KH,
kstewart, jhogan, mark.rutland, ard.biesheuvel, james.morse,
linux-arm-kernel, linux-kernel, openrisc
On Thu, Jun 21, 2018 at 11:17 AM, Palmer Dabbelt <palmer@sifive.com> wrote:
> A while ago I sent a patch set that adds a GENERIC_IRQ_MULTI_HANDLER,
> which is an exact copy of the existing IRQ_MULTI_HANDLER support in the
> arm port, which is being used unconditionally by arm64 and openrisc.
> GENERIC_IRQ_MULTI_HANDLER is currently being used by the RISC-V port. I
> managed to make a few mistakes in my original patch set and as a result
> my conversion of the other architectures of GENERIC_IRQ_MULTI_HANDLER
> was dropped.
>
> This patch set finishes up my original patch set by converting arm,
> arm64, and openrisc over to the new GENERIC_IRQ_MULTI_HANDLER support
> and then removing MULTI_IRQ_HANDLER as it's obselete.
>
> At the time I wrote this I gave it fairly extensive build testing, but
> went I recently rebased it I just tested the full patch set on arm,
> arm64, and openrisc defconfigs.
>
> Various flavors of this patch set have bounced around a few times
> before, but I'm calling this a whole new patch set as it builds on top
> of what was merged.
Looks like I managed to lose the patches. They should be threaded under
this message...
^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH 1/5] irq: Port the ARM IRQ drivers to GENERIC_IRQ_MULTI_HANDLER
2018-06-22 17:01 ` Palmer Dabbelt
@ 2018-06-22 17:01 ` Palmer Dabbelt
2018-08-03 10:19 ` [tip:irq/core] irqchip: " tip-bot for Palmer Dabbelt
2018-06-22 17:01 ` [PATCH 2/5] arm: Convert " Palmer Dabbelt
` (3 subsequent siblings)
4 siblings, 1 reply; 15+ messages in thread
From: Palmer Dabbelt @ 2018-06-22 17:01 UTC (permalink / raw)
To: tglx
Cc: linux, catalin.marinas, Will Deacon, jonas, stefan.kristiansson,
shorne, jason, marc.zyngier, Arnd Bergmann, nicolas.pitre,
vladimir.murzin, keescook, jinb.park7, yamada.masahiro,
alexandre.belloni, Palmer Dabbelt, pombredanne, Greg KH,
kstewart, jhogan, mark.rutland, ard.biesheuvel, james.morse,
linux-arm-kernel, linux-kernel, openrisc, Shea Levy
GENERIC_IRQ_MULTI_HANDLER is incompatible with MULTI_IRQ_HANDLER because
they define the same symbols. Multiple generic irqchip drivers select
MULTI_IRQ_HANDLER, which is now defined on all architectures that
provide set_handle_irq(). This patch selects GENERIC_IRQ_MULTI_HANDLER
for all drivers that used to select MULTI_IRQ_HANDLER, but only when
MULTI_IRQ_HANDLER doesn't exist. I'll then convert every architecture
over from MULTI_IRQ_HANDLER to GENERIC_IRQ_MULTI_HANDLER before removing
the extra MULTI_IRQ_HANDLER scaffolding.
CC: Shea Levy <shea@shealevy.com>
CC: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Palmer Dabbelt <palmer@sifive.com>
---
drivers/irqchip/Kconfig | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/drivers/irqchip/Kconfig b/drivers/irqchip/Kconfig
index e9233db16e03..7527f6a9adae 100644
--- a/drivers/irqchip/Kconfig
+++ b/drivers/irqchip/Kconfig
@@ -9,6 +9,7 @@ config ARM_GIC
select IRQ_DOMAIN
select IRQ_DOMAIN_HIERARCHY
select MULTI_IRQ_HANDLER
+ select GENERIC_IRQ_MULTI_HANDLER if !MULTI_IRQ_HANDLER
select GENERIC_IRQ_EFFECTIVE_AFF_MASK
config ARM_GIC_PM
@@ -35,6 +36,7 @@ config ARM_GIC_V3
bool
select IRQ_DOMAIN
select MULTI_IRQ_HANDLER
+ select GENERIC_IRQ_MULTI_HANDLER if !MULTI_IRQ_HANDLER
select IRQ_DOMAIN_HIERARCHY
select PARTITION_PERCPU
select GENERIC_IRQ_EFFECTIVE_AFF_MASK
@@ -67,6 +69,7 @@ config ARM_VIC
bool
select IRQ_DOMAIN
select MULTI_IRQ_HANDLER
+ select GENERIC_IRQ_MULTI_HANDLER if !MULTI_IRQ_HANDLER
config ARM_VIC_NR
int
@@ -94,6 +97,7 @@ config ATMEL_AIC_IRQ
select GENERIC_IRQ_CHIP
select IRQ_DOMAIN
select MULTI_IRQ_HANDLER
+ select GENERIC_IRQ_MULTI_HANDLER if !MULTI_IRQ_HANDLER
select SPARSE_IRQ
config ATMEL_AIC5_IRQ
@@ -101,6 +105,7 @@ config ATMEL_AIC5_IRQ
select GENERIC_IRQ_CHIP
select IRQ_DOMAIN
select MULTI_IRQ_HANDLER
+ select GENERIC_IRQ_MULTI_HANDLER if !MULTI_IRQ_HANDLER
select SPARSE_IRQ
config I8259
@@ -138,6 +143,7 @@ config FARADAY_FTINTC010
bool
select IRQ_DOMAIN
select MULTI_IRQ_HANDLER
+ select GENERIC_IRQ_MULTI_HANDLER if !MULTI_IRQ_HANDLER
select SPARSE_IRQ
config HISILICON_IRQ_MBIGEN
@@ -163,6 +169,7 @@ config CLPS711X_IRQCHIP
depends on ARCH_CLPS711X
select IRQ_DOMAIN
select MULTI_IRQ_HANDLER
+ select GENERIC_IRQ_MULTI_HANDLER if !MULTI_IRQ_HANDLER
select SPARSE_IRQ
default y
@@ -182,6 +189,7 @@ config ORION_IRQCHIP
bool
select IRQ_DOMAIN
select MULTI_IRQ_HANDLER
+ select GENERIC_IRQ_MULTI_HANDLER if !MULTI_IRQ_HANDLER
config PIC32_EVIC
bool
--
2.16.4
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 2/5] arm: Convert to GENERIC_IRQ_MULTI_HANDLER
2018-06-22 17:01 ` Palmer Dabbelt
2018-06-22 17:01 ` [PATCH 1/5] irq: Port the ARM IRQ drivers to GENERIC_IRQ_MULTI_HANDLER Palmer Dabbelt
@ 2018-06-22 17:01 ` Palmer Dabbelt
2018-08-03 10:19 ` [tip:irq/core] ARM: " tip-bot for Palmer Dabbelt
2018-06-22 17:01 ` [PATCH 3/5] arm64: Use the new GENERIC_IRQ_MULTI_HANDLER Palmer Dabbelt
` (2 subsequent siblings)
4 siblings, 1 reply; 15+ messages in thread
From: Palmer Dabbelt @ 2018-06-22 17:01 UTC (permalink / raw)
To: tglx
Cc: linux, catalin.marinas, Will Deacon, jonas, stefan.kristiansson,
shorne, jason, marc.zyngier, Arnd Bergmann, nicolas.pitre,
vladimir.murzin, keescook, jinb.park7, yamada.masahiro,
alexandre.belloni, Palmer Dabbelt, pombredanne, Greg KH,
kstewart, jhogan, mark.rutland, ard.biesheuvel, james.morse,
linux-arm-kernel, linux-kernel, openrisc
This converts the ARM port to use the recently added
GENERIC_IRQ_MULTI_HANDLER, which is essentially just a copy of ARM's
existhing MULTI_IRQ_HANDLER. The only changes are:
* handle_arch_irq is now defined in a generic C file instead of an
arm-specific assembly file.
* handle_arch_irq is now marked as __ro_after_init.
Signed-off-by: Palmer Dabbelt <palmer@sifive.com>
---
arch/arm/Kconfig | 19 +++++++------------
arch/arm/include/asm/irq.h | 5 -----
arch/arm/include/asm/mach/arch.h | 2 +-
arch/arm/kernel/entry-armv.S | 10 ++--------
arch/arm/kernel/irq.c | 10 ----------
arch/arm/kernel/setup.c | 2 +-
6 files changed, 11 insertions(+), 37 deletions(-)
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 54eeb8d00bc6..b6be2b1be75d 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -337,8 +337,8 @@ config ARCH_MULTIPLATFORM
select TIMER_OF
select COMMON_CLK
select GENERIC_CLOCKEVENTS
+ select GENERIC_IRQ_MULTI_HANDLER
select MIGHT_HAVE_PCI
- select MULTI_IRQ_HANDLER
select PCI_DOMAINS if PCI
select SPARSE_IRQ
select USE_OF
@@ -465,9 +465,9 @@ config ARCH_DOVE
bool "Marvell Dove"
select CPU_PJ4
select GENERIC_CLOCKEVENTS
+ select GENERIC_IRQ_MULTI_HANDLER
select GPIOLIB
select MIGHT_HAVE_PCI
- select MULTI_IRQ_HANDLER
select MVEBU_MBUS
select PINCTRL
select PINCTRL_DOVE
@@ -512,8 +512,8 @@ config ARCH_LPC32XX
select COMMON_CLK
select CPU_ARM926T
select GENERIC_CLOCKEVENTS
+ select GENERIC_IRQ_MULTI_HANDLER
select GPIOLIB
- select MULTI_IRQ_HANDLER
select SPARSE_IRQ
select USE_OF
help
@@ -532,11 +532,11 @@ config ARCH_PXA
select TIMER_OF
select CPU_XSCALE if !CPU_XSC3
select GENERIC_CLOCKEVENTS
+ select GENERIC_IRQ_MULTI_HANDLER
select GPIO_PXA
select GPIOLIB
select HAVE_IDE
select IRQ_DOMAIN
- select MULTI_IRQ_HANDLER
select PLAT_PXA
select SPARSE_IRQ
help
@@ -572,11 +572,11 @@ config ARCH_SA1100
select CPU_FREQ
select CPU_SA1100
select GENERIC_CLOCKEVENTS
+ select GENERIC_IRQ_MULTI_HANDLER
select GPIOLIB
select HAVE_IDE
select IRQ_DOMAIN
select ISA
- select MULTI_IRQ_HANDLER
select NEED_MACH_MEMORY_H
select SPARSE_IRQ
help
@@ -590,10 +590,10 @@ config ARCH_S3C24XX
select GENERIC_CLOCKEVENTS
select GPIO_SAMSUNG
select GPIOLIB
+ select GENERIC_IRQ_MULTI_HANDLER
select HAVE_S3C2410_I2C if I2C
select HAVE_S3C2410_WATCHDOG if WATCHDOG
select HAVE_S3C_RTC if RTC_CLASS
- select MULTI_IRQ_HANDLER
select NEED_MACH_IO_H
select SAMSUNG_ATAGS
select USE_OF
@@ -627,10 +627,10 @@ config ARCH_OMAP1
select CLKSRC_MMIO
select GENERIC_CLOCKEVENTS
select GENERIC_IRQ_CHIP
+ select GENERIC_IRQ_MULTI_HANDLER
select GPIOLIB
select HAVE_IDE
select IRQ_DOMAIN
- select MULTI_IRQ_HANDLER
select NEED_MACH_IO_H if PCCARD
select NEED_MACH_MEMORY_H
select SPARSE_IRQ
@@ -921,11 +921,6 @@ config IWMMXT
Enable support for iWMMXt context switching at run time if
running on a CPU that supports it.
-config MULTI_IRQ_HANDLER
- bool
- help
- Allow each machine to specify it's own IRQ handler at run time.
-
if !MMU
source "arch/arm/Kconfig-nommu"
endif
diff --git a/arch/arm/include/asm/irq.h b/arch/arm/include/asm/irq.h
index b6f319606e30..c883fcbe93b6 100644
--- a/arch/arm/include/asm/irq.h
+++ b/arch/arm/include/asm/irq.h
@@ -31,11 +31,6 @@ extern void asm_do_IRQ(unsigned int, struct pt_regs *);
void handle_IRQ(unsigned int, struct pt_regs *);
void init_IRQ(void);
-#ifdef CONFIG_MULTI_IRQ_HANDLER
-extern void (*handle_arch_irq)(struct pt_regs *);
-extern void set_handle_irq(void (*handle_irq)(struct pt_regs *));
-#endif
-
#ifdef CONFIG_SMP
extern void arch_trigger_cpumask_backtrace(const cpumask_t *mask,
bool exclude_self);
diff --git a/arch/arm/include/asm/mach/arch.h b/arch/arm/include/asm/mach/arch.h
index 5c1ad11aa392..bb8851208e17 100644
--- a/arch/arm/include/asm/mach/arch.h
+++ b/arch/arm/include/asm/mach/arch.h
@@ -59,7 +59,7 @@ struct machine_desc {
void (*init_time)(void);
void (*init_machine)(void);
void (*init_late)(void);
-#ifdef CONFIG_MULTI_IRQ_HANDLER
+#ifdef CONFIG_GENERIC_IRQ_MULTI_HANDLER
void (*handle_irq)(struct pt_regs *);
#endif
void (*restart)(enum reboot_mode, const char *);
diff --git a/arch/arm/kernel/entry-armv.S b/arch/arm/kernel/entry-armv.S
index 179a9f6bd1e3..e85a3af9ddeb 100644
--- a/arch/arm/kernel/entry-armv.S
+++ b/arch/arm/kernel/entry-armv.S
@@ -22,7 +22,7 @@
#include <asm/glue-df.h>
#include <asm/glue-pf.h>
#include <asm/vfpmacros.h>
-#ifndef CONFIG_MULTI_IRQ_HANDLER
+#ifndef CONFIG_GENERIC_IRQ_MULTI_HANDLER
#include <mach/entry-macro.S>
#endif
#include <asm/thread_notify.h>
@@ -39,7 +39,7 @@
* Interrupt handling.
*/
.macro irq_handler
-#ifdef CONFIG_MULTI_IRQ_HANDLER
+#ifdef CONFIG_GENERIC_IRQ_MULTI_HANDLER
ldr r1, =handle_arch_irq
mov r0, sp
badr lr, 9997f
@@ -1226,9 +1226,3 @@ vector_addrexcptn:
.globl cr_alignment
cr_alignment:
.space 4
-
-#ifdef CONFIG_MULTI_IRQ_HANDLER
- .globl handle_arch_irq
-handle_arch_irq:
- .space 4
-#endif
diff --git a/arch/arm/kernel/irq.c b/arch/arm/kernel/irq.c
index ece04a457486..9908dacf9229 100644
--- a/arch/arm/kernel/irq.c
+++ b/arch/arm/kernel/irq.c
@@ -102,16 +102,6 @@ void __init init_IRQ(void)
uniphier_cache_init();
}
-#ifdef CONFIG_MULTI_IRQ_HANDLER
-void __init set_handle_irq(void (*handle_irq)(struct pt_regs *))
-{
- if (handle_arch_irq)
- return;
-
- handle_arch_irq = handle_irq;
-}
-#endif
-
#ifdef CONFIG_SPARSE_IRQ
int __init arch_probe_nr_irqs(void)
{
diff --git a/arch/arm/kernel/setup.c b/arch/arm/kernel/setup.c
index 35ca494c028c..4c249cb261f3 100644
--- a/arch/arm/kernel/setup.c
+++ b/arch/arm/kernel/setup.c
@@ -1145,7 +1145,7 @@ void __init setup_arch(char **cmdline_p)
reserve_crashkernel();
-#ifdef CONFIG_MULTI_IRQ_HANDLER
+#ifdef CONFIG_GENERIC_IRQ_MULTI_HANDLER
handle_arch_irq = mdesc->handle_irq;
#endif
--
2.16.4
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 3/5] arm64: Use the new GENERIC_IRQ_MULTI_HANDLER
2018-06-22 17:01 ` Palmer Dabbelt
2018-06-22 17:01 ` [PATCH 1/5] irq: Port the ARM IRQ drivers to GENERIC_IRQ_MULTI_HANDLER Palmer Dabbelt
2018-06-22 17:01 ` [PATCH 2/5] arm: Convert " Palmer Dabbelt
@ 2018-06-22 17:01 ` Palmer Dabbelt
2018-08-03 10:20 ` [tip:irq/core] " tip-bot for Palmer Dabbelt
2018-06-22 17:01 ` [PATCH 4/5] openrisc: " Palmer Dabbelt
2018-06-22 17:01 ` [PATCH 5/5] irq: Remove MULTI_IRQ_HANDLER as it's now obselete Palmer Dabbelt
4 siblings, 1 reply; 15+ messages in thread
From: Palmer Dabbelt @ 2018-06-22 17:01 UTC (permalink / raw)
To: tglx
Cc: linux, catalin.marinas, Will Deacon, jonas, stefan.kristiansson,
shorne, jason, marc.zyngier, Arnd Bergmann, nicolas.pitre,
vladimir.murzin, keescook, jinb.park7, yamada.masahiro,
alexandre.belloni, Palmer Dabbelt, pombredanne, Greg KH,
kstewart, jhogan, mark.rutland, ard.biesheuvel, james.morse,
linux-arm-kernel, linux-kernel, openrisc
It appears arm64 copied arm's GENERIC_IRQ_MULTI_HANDLER code, but made
it unconditional. I wanted to make this generic so it could be used by
the RISC-V port. This patch converts the arm64 code to use the new
generic code, which simply consists of deleting the arm64 code and
setting MULTI_IRQ_HANDLER instead.
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Palmer Dabbelt <palmer@sifive.com>
---
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)
{
--
2.16.4
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 4/5] openrisc: Use the new GENERIC_IRQ_MULTI_HANDLER
2018-06-22 17:01 ` Palmer Dabbelt
` (2 preceding siblings ...)
2018-06-22 17:01 ` [PATCH 3/5] arm64: Use the new GENERIC_IRQ_MULTI_HANDLER Palmer Dabbelt
@ 2018-06-22 17:01 ` Palmer Dabbelt
2018-08-03 10:20 ` [tip:irq/core] " tip-bot for Palmer Dabbelt
2018-06-22 17:01 ` [PATCH 5/5] irq: Remove MULTI_IRQ_HANDLER as it's now obselete Palmer Dabbelt
4 siblings, 1 reply; 15+ messages in thread
From: Palmer Dabbelt @ 2018-06-22 17:01 UTC (permalink / raw)
To: tglx
Cc: linux, catalin.marinas, Will Deacon, jonas, stefan.kristiansson,
shorne, jason, marc.zyngier, Arnd Bergmann, nicolas.pitre,
vladimir.murzin, keescook, jinb.park7, yamada.masahiro,
alexandre.belloni, Palmer Dabbelt, pombredanne, Greg KH,
kstewart, jhogan, mark.rutland, ard.biesheuvel, james.morse,
linux-arm-kernel, linux-kernel, openrisc
It appears that openrisc copied arm64's GENERIC_IRQ_MULTI_HANDLER code
(which came from arm). I wanted to make this generic so I could use it
in the RISC-V port. This patch converts the openrisc code to use the
generic version.
Acked-by: Stafford Horne <shorne@gmail.com>
Signed-off-by: Palmer Dabbelt <palmer@sifive.com>
---
arch/openrisc/Kconfig | 5 +----
arch/openrisc/include/asm/irq.h | 2 --
arch/openrisc/kernel/irq.c | 7 -------
3 files changed, 1 insertion(+), 13 deletions(-)
diff --git a/arch/openrisc/Kconfig b/arch/openrisc/Kconfig
index 9ecad05bfc73..dfb6a79ba7ff 100644
--- a/arch/openrisc/Kconfig
+++ b/arch/openrisc/Kconfig
@@ -27,7 +27,6 @@ config OPENRISC
select GENERIC_STRNLEN_USER
select GENERIC_SMP_IDLE_THREAD
select MODULES_USE_ELF_RELA
- select MULTI_IRQ_HANDLER
select HAVE_DEBUG_STACKOVERFLOW
select OR1K_PIC
select CPU_NO_EFFICIENT_FFS if !OPENRISC_HAVE_INST_FF1
@@ -36,6 +35,7 @@ config OPENRISC
select ARCH_USE_QUEUED_RWLOCKS
select OMPIC if SMP
select ARCH_WANT_FRAME_POINTERS
+ select GENERIC_IRQ_MULTI_HANDLER
config CPU_BIG_ENDIAN
def_bool y
@@ -69,9 +69,6 @@ config STACKTRACE_SUPPORT
config LOCKDEP_SUPPORT
def_bool y
-config MULTI_IRQ_HANDLER
- def_bool y
-
source "init/Kconfig"
source "kernel/Kconfig.freezer"
diff --git a/arch/openrisc/include/asm/irq.h b/arch/openrisc/include/asm/irq.h
index d9eee0a2b7b4..eb612b1865d2 100644
--- a/arch/openrisc/include/asm/irq.h
+++ b/arch/openrisc/include/asm/irq.h
@@ -24,6 +24,4 @@
#define NO_IRQ (-1)
-extern void set_handle_irq(void (*handle_irq)(struct pt_regs *));
-
#endif /* __ASM_OPENRISC_IRQ_H__ */
diff --git a/arch/openrisc/kernel/irq.c b/arch/openrisc/kernel/irq.c
index 35e478a93116..5f9445effaf8 100644
--- a/arch/openrisc/kernel/irq.c
+++ b/arch/openrisc/kernel/irq.c
@@ -41,13 +41,6 @@ void __init init_IRQ(void)
irqchip_init();
}
-static void (*handle_arch_irq)(struct pt_regs *);
-
-void __init set_handle_irq(void (*handle_irq)(struct pt_regs *))
-{
- handle_arch_irq = handle_irq;
-}
-
void __irq_entry do_IRQ(struct pt_regs *regs)
{
handle_arch_irq(regs);
--
2.16.4
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 5/5] irq: Remove MULTI_IRQ_HANDLER as it's now obselete
2018-06-22 17:01 ` Palmer Dabbelt
` (3 preceding siblings ...)
2018-06-22 17:01 ` [PATCH 4/5] openrisc: " Palmer Dabbelt
@ 2018-06-22 17:01 ` Palmer Dabbelt
2018-08-03 10:21 ` [tip:irq/core] genirq/irqchip: " tip-bot for Palmer Dabbelt
4 siblings, 1 reply; 15+ messages in thread
From: Palmer Dabbelt @ 2018-06-22 17:01 UTC (permalink / raw)
To: tglx
Cc: linux, catalin.marinas, Will Deacon, jonas, stefan.kristiansson,
shorne, jason, marc.zyngier, Arnd Bergmann, nicolas.pitre,
vladimir.murzin, keescook, jinb.park7, yamada.masahiro,
alexandre.belloni, Palmer Dabbelt, pombredanne, Greg KH,
kstewart, jhogan, mark.rutland, ard.biesheuvel, james.morse,
linux-arm-kernel, linux-kernel, openrisc
Now that every user of MULTI_IRQ_HANDLER has been convereted over to use
GENERIC_IRQ_MULTI_HANDLER we can remove the references to
MULTI_IRQ_HANDLER.
Signed-off-by: Palmer Dabbelt <palmer@sifive.com>
---
drivers/irqchip/Kconfig | 24 ++++++++----------------
kernel/irq/Kconfig | 1 -
2 files changed, 8 insertions(+), 17 deletions(-)
diff --git a/drivers/irqchip/Kconfig b/drivers/irqchip/Kconfig
index 7527f6a9adae..d564d21245c5 100644
--- a/drivers/irqchip/Kconfig
+++ b/drivers/irqchip/Kconfig
@@ -8,8 +8,7 @@ config ARM_GIC
bool
select IRQ_DOMAIN
select IRQ_DOMAIN_HIERARCHY
- select MULTI_IRQ_HANDLER
- select GENERIC_IRQ_MULTI_HANDLER if !MULTI_IRQ_HANDLER
+ select GENERIC_IRQ_MULTI_HANDLER
select GENERIC_IRQ_EFFECTIVE_AFF_MASK
config ARM_GIC_PM
@@ -35,8 +34,7 @@ config GIC_NON_BANKED
config ARM_GIC_V3
bool
select IRQ_DOMAIN
- select MULTI_IRQ_HANDLER
- select GENERIC_IRQ_MULTI_HANDLER if !MULTI_IRQ_HANDLER
+ select GENERIC_IRQ_MULTI_HANDLER
select IRQ_DOMAIN_HIERARCHY
select PARTITION_PERCPU
select GENERIC_IRQ_EFFECTIVE_AFF_MASK
@@ -68,8 +66,7 @@ config ARM_NVIC
config ARM_VIC
bool
select IRQ_DOMAIN
- select MULTI_IRQ_HANDLER
- select GENERIC_IRQ_MULTI_HANDLER if !MULTI_IRQ_HANDLER
+ select GENERIC_IRQ_MULTI_HANDLER
config ARM_VIC_NR
int
@@ -96,16 +93,14 @@ config ATMEL_AIC_IRQ
bool
select GENERIC_IRQ_CHIP
select IRQ_DOMAIN
- select MULTI_IRQ_HANDLER
- select GENERIC_IRQ_MULTI_HANDLER if !MULTI_IRQ_HANDLER
+ select GENERIC_IRQ_MULTI_HANDLER
select SPARSE_IRQ
config ATMEL_AIC5_IRQ
bool
select GENERIC_IRQ_CHIP
select IRQ_DOMAIN
- select MULTI_IRQ_HANDLER
- select GENERIC_IRQ_MULTI_HANDLER if !MULTI_IRQ_HANDLER
+ select GENERIC_IRQ_MULTI_HANDLER
select SPARSE_IRQ
config I8259
@@ -142,8 +137,7 @@ config DW_APB_ICTL
config FARADAY_FTINTC010
bool
select IRQ_DOMAIN
- select MULTI_IRQ_HANDLER
- select GENERIC_IRQ_MULTI_HANDLER if !MULTI_IRQ_HANDLER
+ select GENERIC_IRQ_MULTI_HANDLER
select SPARSE_IRQ
config HISILICON_IRQ_MBIGEN
@@ -168,8 +162,7 @@ config CLPS711X_IRQCHIP
bool
depends on ARCH_CLPS711X
select IRQ_DOMAIN
- select MULTI_IRQ_HANDLER
- select GENERIC_IRQ_MULTI_HANDLER if !MULTI_IRQ_HANDLER
+ select GENERIC_IRQ_MULTI_HANDLER
select SPARSE_IRQ
default y
@@ -188,8 +181,7 @@ config OMAP_IRQCHIP
config ORION_IRQCHIP
bool
select IRQ_DOMAIN
- select MULTI_IRQ_HANDLER
- select GENERIC_IRQ_MULTI_HANDLER if !MULTI_IRQ_HANDLER
+ select GENERIC_IRQ_MULTI_HANDLER
config PIC32_EVIC
bool
diff --git a/kernel/irq/Kconfig b/kernel/irq/Kconfig
index c6766f326072..5f3e2baefca9 100644
--- a/kernel/irq/Kconfig
+++ b/kernel/irq/Kconfig
@@ -134,7 +134,6 @@ config GENERIC_IRQ_DEBUGFS
endmenu
config GENERIC_IRQ_MULTI_HANDLER
- depends on !MULTI_IRQ_HANDLER
bool
help
Allow to specify the low level IRQ handler at run time.
--
2.16.4
^ permalink raw reply related [flat|nested] 15+ messages in thread
* Re: Finish the GENERIC_IRQ_MULTI_HANDLER conversion
2018-06-21 18:17 Finish the GENERIC_IRQ_MULTI_HANDLER conversion Palmer Dabbelt
2018-06-22 17:01 ` Palmer Dabbelt
@ 2018-06-24 13:15 ` Thomas Gleixner
2018-08-02 18:30 ` Palmer Dabbelt
1 sibling, 1 reply; 15+ messages in thread
From: Thomas Gleixner @ 2018-06-24 13:15 UTC (permalink / raw)
To: Palmer Dabbelt
Cc: linux, catalin.marinas, will.deacon, jonas, stefan.kristiansson,
shorne, jason, marc.zyngier, arnd, keescook, vladimir.murzin,
nicolas.pitre, jinb.park7, yamada.masahiro, alexandre.belloni,
gregkh, pombredanne, kstewart, jhogan, mark.rutland,
ard.biesheuvel, james.morse, linux-arm-kernel, linux-kernel,
openrisc
On Thu, 21 Jun 2018, Palmer Dabbelt wrote:
> A while ago I sent a patch set that adds a GENERIC_IRQ_MULTI_HANDLER,
> which is an exact copy of the existing IRQ_MULTI_HANDLER support in the
> arm port, which is being used unconditionally by arm64 and openrisc.
> GENERIC_IRQ_MULTI_HANDLER is currently being used by the RISC-V port. I
> managed to make a few mistakes in my original patch set and as a result
> my conversion of the other architectures of GENERIC_IRQ_MULTI_HANDLER
> was dropped.
>
> This patch set finishes up my original patch set by converting arm,
> arm64, and openrisc over to the new GENERIC_IRQ_MULTI_HANDLER support
> and then removing MULTI_IRQ_HANDLER as it's obselete.
>
> At the time I wrote this I gave it fairly extensive build testing, but
> went I recently rebased it I just tested the full patch set on arm,
> arm64, and openrisc defconfigs.
>
> Various flavors of this patch set have bounced around a few times
> before, but I'm calling this a whole new patch set as it builds on top
> of what was merged.
I'll take the whole pile through tip irq/core which probably makes the most
sense unless there are any objections from architecture maintainers.
Thanks,
tglx
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: Finish the GENERIC_IRQ_MULTI_HANDLER conversion
2018-06-24 13:15 ` Finish the GENERIC_IRQ_MULTI_HANDLER conversion Thomas Gleixner
@ 2018-08-02 18:30 ` Palmer Dabbelt
2018-08-03 10:09 ` Thomas Gleixner
0 siblings, 1 reply; 15+ messages in thread
From: Palmer Dabbelt @ 2018-08-02 18:30 UTC (permalink / raw)
To: tglx
Cc: linux, catalin.marinas, Will Deacon, jonas, stefan.kristiansson,
shorne, jason, marc.zyngier, Arnd Bergmann, keescook,
vladimir.murzin, nicolas.pitre, jinb.park7, yamada.masahiro,
alexandre.belloni, Greg KH, pombredanne, kstewart, jhogan,
mark.rutland, ard.biesheuvel, james.morse, linux-arm-kernel,
linux-kernel, openrisc
On Sun, 24 Jun 2018 06:15:25 PDT (-0700), tglx@linutronix.de wrote:
> On Thu, 21 Jun 2018, Palmer Dabbelt wrote:
>> A while ago I sent a patch set that adds a GENERIC_IRQ_MULTI_HANDLER,
>> which is an exact copy of the existing IRQ_MULTI_HANDLER support in the
>> arm port, which is being used unconditionally by arm64 and openrisc.
>> GENERIC_IRQ_MULTI_HANDLER is currently being used by the RISC-V port. I
>> managed to make a few mistakes in my original patch set and as a result
>> my conversion of the other architectures of GENERIC_IRQ_MULTI_HANDLER
>> was dropped.
>>
>> This patch set finishes up my original patch set by converting arm,
>> arm64, and openrisc over to the new GENERIC_IRQ_MULTI_HANDLER support
>> and then removing MULTI_IRQ_HANDLER as it's obselete.
>>
>> At the time I wrote this I gave it fairly extensive build testing, but
>> went I recently rebased it I just tested the full patch set on arm,
>> arm64, and openrisc defconfigs.
>>
>> Various flavors of this patch set have bounced around a few times
>> before, but I'm calling this a whole new patch set as it builds on top
>> of what was merged.
>
> I'll take the whole pile through tip irq/core which probably makes the most
> sense unless there are any objections from architecture maintainers.
Thanks! Unless I've managed to screw something up I don't see these in your
tree, but I also don't see any feedback from anyone else.
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: Finish the GENERIC_IRQ_MULTI_HANDLER conversion
2018-08-02 18:30 ` Palmer Dabbelt
@ 2018-08-03 10:09 ` Thomas Gleixner
0 siblings, 0 replies; 15+ messages in thread
From: Thomas Gleixner @ 2018-08-03 10:09 UTC (permalink / raw)
To: Palmer Dabbelt
Cc: linux, catalin.marinas, Will Deacon, jonas, stefan.kristiansson,
shorne, jason, marc.zyngier, Arnd Bergmann, keescook,
vladimir.murzin, nicolas.pitre, jinb.park7, yamada.masahiro,
alexandre.belloni, Greg KH, pombredanne, kstewart, jhogan,
mark.rutland, ard.biesheuvel, james.morse, linux-arm-kernel,
linux-kernel, openrisc
On Thu, 2 Aug 2018, Palmer Dabbelt wrote:
> On Sun, 24 Jun 2018 06:15:25 PDT (-0700), tglx@linutronix.de wrote:
> > On Thu, 21 Jun 2018, Palmer Dabbelt wrote:
> > > A while ago I sent a patch set that adds a GENERIC_IRQ_MULTI_HANDLER,
> > > which is an exact copy of the existing IRQ_MULTI_HANDLER support in the
> > > arm port, which is being used unconditionally by arm64 and openrisc.
> > > GENERIC_IRQ_MULTI_HANDLER is currently being used by the RISC-V port. I
> > > managed to make a few mistakes in my original patch set and as a result
> > > my conversion of the other architectures of GENERIC_IRQ_MULTI_HANDLER
> > > was dropped.
> > >
> > > This patch set finishes up my original patch set by converting arm,
> > > arm64, and openrisc over to the new GENERIC_IRQ_MULTI_HANDLER support
> > > and then removing MULTI_IRQ_HANDLER as it's obselete.
> > >
> > > At the time I wrote this I gave it fairly extensive build testing, but
> > > went I recently rebased it I just tested the full patch set on arm,
> > > arm64, and openrisc defconfigs.
> > >
> > > Various flavors of this patch set have bounced around a few times
> > > before, but I'm calling this a whole new patch set as it builds on top
> > > of what was merged.
> >
> > I'll take the whole pile through tip irq/core which probably makes the most
> > sense unless there are any objections from architecture maintainers.
>
> Thanks! Unless I've managed to screw something up I don't see these in your
> tree, but I also don't see any feedback from anyone else.
Yeah, I somehow managed to lose track of them. Picking them up now.
^ permalink raw reply [flat|nested] 15+ messages in thread
* [tip:irq/core] irqchip: Port the ARM IRQ drivers to GENERIC_IRQ_MULTI_HANDLER
2018-06-22 17:01 ` [PATCH 1/5] irq: Port the ARM IRQ drivers to GENERIC_IRQ_MULTI_HANDLER Palmer Dabbelt
@ 2018-08-03 10:19 ` tip-bot for Palmer Dabbelt
0 siblings, 0 replies; 15+ messages in thread
From: tip-bot for Palmer Dabbelt @ 2018-08-03 10:19 UTC (permalink / raw)
To: linux-tip-commits
Cc: palmer, arnd, hpa, tglx, gregkh, will.deacon, mingo, shea, linux-kernel
Commit-ID: 08fb550cb3f8e1efff5586b938eeedddb3ba0506
Gitweb: https://git.kernel.org/tip/08fb550cb3f8e1efff5586b938eeedddb3ba0506
Author: Palmer Dabbelt <palmer@sifive.com>
AuthorDate: Fri, 22 Jun 2018 10:01:22 -0700
Committer: Thomas Gleixner <tglx@linutronix.de>
CommitDate: Fri, 3 Aug 2018 12:14:08 +0200
irqchip: Port the ARM IRQ drivers to GENERIC_IRQ_MULTI_HANDLER
GENERIC_IRQ_MULTI_HANDLER is incompatible with MULTI_IRQ_HANDLER because
they define the same symbols. Multiple generic irqchip drivers select
MULTI_IRQ_HANDLER, which is now defined on all architectures that
provide set_handle_irq().
To solve this select GENERIC_IRQ_MULTI_HANDLER for all drivers that used to
select MULTI_IRQ_HANDLER, but only when MULTI_IRQ_HANDLER doesn't exist.
After that every architecture can be converted over from MULTI_IRQ_HANDLER
to GENERIC_IRQ_MULTI_HANDLER before removing the extra MULTI_IRQ_HANDLER
scaffolding.
Signed-off-by: Palmer Dabbelt <palmer@sifive.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: linux@armlinux.org.uk
Cc: catalin.marinas@arm.com
Cc: Will Deacon <will.deacon@arm.com>
Cc: jonas@southpole.se
Cc: stefan.kristiansson@saunalahti.fi
Cc: shorne@gmail.com
Cc: jason@lakedaemon.net
Cc: marc.zyngier@arm.com
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: nicolas.pitre@linaro.org
Cc: vladimir.murzin@arm.com
Cc: keescook@chromium.org
Cc: jinb.park7@gmail.com
Cc: yamada.masahiro@socionext.com
Cc: alexandre.belloni@bootlin.com
Cc: pombredanne@nexb.com
Cc: Greg KH <gregkh@linuxfoundation.org>
Cc: kstewart@linuxfoundation.org
Cc: jhogan@kernel.org
Cc: mark.rutland@arm.com
Cc: ard.biesheuvel@linaro.org
Cc: james.morse@arm.com
Cc: linux-arm-kernel@lists.infradead.org
Cc: openrisc@lists.librecores.org
Cc: Shea Levy <shea@shealevy.com>
Link: https://lkml.kernel.org/r/20180622170126.6308-2-palmer@sifive.com
---
drivers/irqchip/Kconfig | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/drivers/irqchip/Kconfig b/drivers/irqchip/Kconfig
index e9233db16e03..7527f6a9adae 100644
--- a/drivers/irqchip/Kconfig
+++ b/drivers/irqchip/Kconfig
@@ -9,6 +9,7 @@ config ARM_GIC
select IRQ_DOMAIN
select IRQ_DOMAIN_HIERARCHY
select MULTI_IRQ_HANDLER
+ select GENERIC_IRQ_MULTI_HANDLER if !MULTI_IRQ_HANDLER
select GENERIC_IRQ_EFFECTIVE_AFF_MASK
config ARM_GIC_PM
@@ -35,6 +36,7 @@ config ARM_GIC_V3
bool
select IRQ_DOMAIN
select MULTI_IRQ_HANDLER
+ select GENERIC_IRQ_MULTI_HANDLER if !MULTI_IRQ_HANDLER
select IRQ_DOMAIN_HIERARCHY
select PARTITION_PERCPU
select GENERIC_IRQ_EFFECTIVE_AFF_MASK
@@ -67,6 +69,7 @@ config ARM_VIC
bool
select IRQ_DOMAIN
select MULTI_IRQ_HANDLER
+ select GENERIC_IRQ_MULTI_HANDLER if !MULTI_IRQ_HANDLER
config ARM_VIC_NR
int
@@ -94,6 +97,7 @@ config ATMEL_AIC_IRQ
select GENERIC_IRQ_CHIP
select IRQ_DOMAIN
select MULTI_IRQ_HANDLER
+ select GENERIC_IRQ_MULTI_HANDLER if !MULTI_IRQ_HANDLER
select SPARSE_IRQ
config ATMEL_AIC5_IRQ
@@ -101,6 +105,7 @@ config ATMEL_AIC5_IRQ
select GENERIC_IRQ_CHIP
select IRQ_DOMAIN
select MULTI_IRQ_HANDLER
+ select GENERIC_IRQ_MULTI_HANDLER if !MULTI_IRQ_HANDLER
select SPARSE_IRQ
config I8259
@@ -138,6 +143,7 @@ config FARADAY_FTINTC010
bool
select IRQ_DOMAIN
select MULTI_IRQ_HANDLER
+ select GENERIC_IRQ_MULTI_HANDLER if !MULTI_IRQ_HANDLER
select SPARSE_IRQ
config HISILICON_IRQ_MBIGEN
@@ -163,6 +169,7 @@ config CLPS711X_IRQCHIP
depends on ARCH_CLPS711X
select IRQ_DOMAIN
select MULTI_IRQ_HANDLER
+ select GENERIC_IRQ_MULTI_HANDLER if !MULTI_IRQ_HANDLER
select SPARSE_IRQ
default y
@@ -182,6 +189,7 @@ config ORION_IRQCHIP
bool
select IRQ_DOMAIN
select MULTI_IRQ_HANDLER
+ select GENERIC_IRQ_MULTI_HANDLER if !MULTI_IRQ_HANDLER
config PIC32_EVIC
bool
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [tip:irq/core] ARM: Convert to GENERIC_IRQ_MULTI_HANDLER
2018-06-22 17:01 ` [PATCH 2/5] arm: Convert " Palmer Dabbelt
@ 2018-08-03 10:19 ` tip-bot for Palmer Dabbelt
0 siblings, 0 replies; 15+ messages in thread
From: tip-bot for Palmer Dabbelt @ 2018-08-03 10:19 UTC (permalink / raw)
To: linux-tip-commits
Cc: linux-kernel, gregkh, arnd, mingo, hpa, will.deacon, tglx, palmer
Commit-ID: 4c301f9b6a94bb383089bc847083e287e9bfc96e
Gitweb: https://git.kernel.org/tip/4c301f9b6a94bb383089bc847083e287e9bfc96e
Author: Palmer Dabbelt <palmer@sifive.com>
AuthorDate: Fri, 22 Jun 2018 10:01:23 -0700
Committer: Thomas Gleixner <tglx@linutronix.de>
CommitDate: Fri, 3 Aug 2018 12:14:08 +0200
ARM: Convert to GENERIC_IRQ_MULTI_HANDLER
Converts the ARM interrupt code to use the recently added
GENERIC_IRQ_MULTI_HANDLER, which is essentially just a copy of ARM's
existhing MULTI_IRQ_HANDLER. The only changes are:
* handle_arch_irq is now defined in a generic C file instead of an
arm-specific assembly file.
* handle_arch_irq is now marked as __ro_after_init.
Signed-off-by: Palmer Dabbelt <palmer@sifive.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: linux@armlinux.org.uk
Cc: catalin.marinas@arm.com
Cc: Will Deacon <will.deacon@arm.com>
Cc: jonas@southpole.se
Cc: stefan.kristiansson@saunalahti.fi
Cc: shorne@gmail.com
Cc: jason@lakedaemon.net
Cc: marc.zyngier@arm.com
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: nicolas.pitre@linaro.org
Cc: vladimir.murzin@arm.com
Cc: keescook@chromium.org
Cc: jinb.park7@gmail.com
Cc: yamada.masahiro@socionext.com
Cc: alexandre.belloni@bootlin.com
Cc: pombredanne@nexb.com
Cc: Greg KH <gregkh@linuxfoundation.org>
Cc: kstewart@linuxfoundation.org
Cc: jhogan@kernel.org
Cc: mark.rutland@arm.com
Cc: ard.biesheuvel@linaro.org
Cc: james.morse@arm.com
Cc: linux-arm-kernel@lists.infradead.org
Cc: openrisc@lists.librecores.org
Link: https://lkml.kernel.org/r/20180622170126.6308-3-palmer@sifive.com
---
arch/arm/Kconfig | 19 +++++++------------
arch/arm/include/asm/irq.h | 5 -----
arch/arm/include/asm/mach/arch.h | 2 +-
arch/arm/kernel/entry-armv.S | 10 ++--------
arch/arm/kernel/irq.c | 10 ----------
arch/arm/kernel/setup.c | 2 +-
6 files changed, 11 insertions(+), 37 deletions(-)
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 54eeb8d00bc6..b6be2b1be75d 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -337,8 +337,8 @@ config ARCH_MULTIPLATFORM
select TIMER_OF
select COMMON_CLK
select GENERIC_CLOCKEVENTS
+ select GENERIC_IRQ_MULTI_HANDLER
select MIGHT_HAVE_PCI
- select MULTI_IRQ_HANDLER
select PCI_DOMAINS if PCI
select SPARSE_IRQ
select USE_OF
@@ -465,9 +465,9 @@ config ARCH_DOVE
bool "Marvell Dove"
select CPU_PJ4
select GENERIC_CLOCKEVENTS
+ select GENERIC_IRQ_MULTI_HANDLER
select GPIOLIB
select MIGHT_HAVE_PCI
- select MULTI_IRQ_HANDLER
select MVEBU_MBUS
select PINCTRL
select PINCTRL_DOVE
@@ -512,8 +512,8 @@ config ARCH_LPC32XX
select COMMON_CLK
select CPU_ARM926T
select GENERIC_CLOCKEVENTS
+ select GENERIC_IRQ_MULTI_HANDLER
select GPIOLIB
- select MULTI_IRQ_HANDLER
select SPARSE_IRQ
select USE_OF
help
@@ -532,11 +532,11 @@ config ARCH_PXA
select TIMER_OF
select CPU_XSCALE if !CPU_XSC3
select GENERIC_CLOCKEVENTS
+ select GENERIC_IRQ_MULTI_HANDLER
select GPIO_PXA
select GPIOLIB
select HAVE_IDE
select IRQ_DOMAIN
- select MULTI_IRQ_HANDLER
select PLAT_PXA
select SPARSE_IRQ
help
@@ -572,11 +572,11 @@ config ARCH_SA1100
select CPU_FREQ
select CPU_SA1100
select GENERIC_CLOCKEVENTS
+ select GENERIC_IRQ_MULTI_HANDLER
select GPIOLIB
select HAVE_IDE
select IRQ_DOMAIN
select ISA
- select MULTI_IRQ_HANDLER
select NEED_MACH_MEMORY_H
select SPARSE_IRQ
help
@@ -590,10 +590,10 @@ config ARCH_S3C24XX
select GENERIC_CLOCKEVENTS
select GPIO_SAMSUNG
select GPIOLIB
+ select GENERIC_IRQ_MULTI_HANDLER
select HAVE_S3C2410_I2C if I2C
select HAVE_S3C2410_WATCHDOG if WATCHDOG
select HAVE_S3C_RTC if RTC_CLASS
- select MULTI_IRQ_HANDLER
select NEED_MACH_IO_H
select SAMSUNG_ATAGS
select USE_OF
@@ -627,10 +627,10 @@ config ARCH_OMAP1
select CLKSRC_MMIO
select GENERIC_CLOCKEVENTS
select GENERIC_IRQ_CHIP
+ select GENERIC_IRQ_MULTI_HANDLER
select GPIOLIB
select HAVE_IDE
select IRQ_DOMAIN
- select MULTI_IRQ_HANDLER
select NEED_MACH_IO_H if PCCARD
select NEED_MACH_MEMORY_H
select SPARSE_IRQ
@@ -921,11 +921,6 @@ config IWMMXT
Enable support for iWMMXt context switching at run time if
running on a CPU that supports it.
-config MULTI_IRQ_HANDLER
- bool
- help
- Allow each machine to specify it's own IRQ handler at run time.
-
if !MMU
source "arch/arm/Kconfig-nommu"
endif
diff --git a/arch/arm/include/asm/irq.h b/arch/arm/include/asm/irq.h
index b6f319606e30..c883fcbe93b6 100644
--- a/arch/arm/include/asm/irq.h
+++ b/arch/arm/include/asm/irq.h
@@ -31,11 +31,6 @@ extern void asm_do_IRQ(unsigned int, struct pt_regs *);
void handle_IRQ(unsigned int, struct pt_regs *);
void init_IRQ(void);
-#ifdef CONFIG_MULTI_IRQ_HANDLER
-extern void (*handle_arch_irq)(struct pt_regs *);
-extern void set_handle_irq(void (*handle_irq)(struct pt_regs *));
-#endif
-
#ifdef CONFIG_SMP
extern void arch_trigger_cpumask_backtrace(const cpumask_t *mask,
bool exclude_self);
diff --git a/arch/arm/include/asm/mach/arch.h b/arch/arm/include/asm/mach/arch.h
index 5c1ad11aa392..bb8851208e17 100644
--- a/arch/arm/include/asm/mach/arch.h
+++ b/arch/arm/include/asm/mach/arch.h
@@ -59,7 +59,7 @@ struct machine_desc {
void (*init_time)(void);
void (*init_machine)(void);
void (*init_late)(void);
-#ifdef CONFIG_MULTI_IRQ_HANDLER
+#ifdef CONFIG_GENERIC_IRQ_MULTI_HANDLER
void (*handle_irq)(struct pt_regs *);
#endif
void (*restart)(enum reboot_mode, const char *);
diff --git a/arch/arm/kernel/entry-armv.S b/arch/arm/kernel/entry-armv.S
index 179a9f6bd1e3..e85a3af9ddeb 100644
--- a/arch/arm/kernel/entry-armv.S
+++ b/arch/arm/kernel/entry-armv.S
@@ -22,7 +22,7 @@
#include <asm/glue-df.h>
#include <asm/glue-pf.h>
#include <asm/vfpmacros.h>
-#ifndef CONFIG_MULTI_IRQ_HANDLER
+#ifndef CONFIG_GENERIC_IRQ_MULTI_HANDLER
#include <mach/entry-macro.S>
#endif
#include <asm/thread_notify.h>
@@ -39,7 +39,7 @@
* Interrupt handling.
*/
.macro irq_handler
-#ifdef CONFIG_MULTI_IRQ_HANDLER
+#ifdef CONFIG_GENERIC_IRQ_MULTI_HANDLER
ldr r1, =handle_arch_irq
mov r0, sp
badr lr, 9997f
@@ -1226,9 +1226,3 @@ vector_addrexcptn:
.globl cr_alignment
cr_alignment:
.space 4
-
-#ifdef CONFIG_MULTI_IRQ_HANDLER
- .globl handle_arch_irq
-handle_arch_irq:
- .space 4
-#endif
diff --git a/arch/arm/kernel/irq.c b/arch/arm/kernel/irq.c
index ece04a457486..9908dacf9229 100644
--- a/arch/arm/kernel/irq.c
+++ b/arch/arm/kernel/irq.c
@@ -102,16 +102,6 @@ void __init init_IRQ(void)
uniphier_cache_init();
}
-#ifdef CONFIG_MULTI_IRQ_HANDLER
-void __init set_handle_irq(void (*handle_irq)(struct pt_regs *))
-{
- if (handle_arch_irq)
- return;
-
- handle_arch_irq = handle_irq;
-}
-#endif
-
#ifdef CONFIG_SPARSE_IRQ
int __init arch_probe_nr_irqs(void)
{
diff --git a/arch/arm/kernel/setup.c b/arch/arm/kernel/setup.c
index 35ca494c028c..4c249cb261f3 100644
--- a/arch/arm/kernel/setup.c
+++ b/arch/arm/kernel/setup.c
@@ -1145,7 +1145,7 @@ void __init setup_arch(char **cmdline_p)
reserve_crashkernel();
-#ifdef CONFIG_MULTI_IRQ_HANDLER
+#ifdef CONFIG_GENERIC_IRQ_MULTI_HANDLER
handle_arch_irq = mdesc->handle_irq;
#endif
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [tip:irq/core] arm64: Use the new GENERIC_IRQ_MULTI_HANDLER
2018-06-22 17:01 ` [PATCH 3/5] arm64: Use the new GENERIC_IRQ_MULTI_HANDLER Palmer Dabbelt
@ 2018-08-03 10:20 ` tip-bot for Palmer Dabbelt
0 siblings, 0 replies; 15+ messages in thread
From: tip-bot for Palmer Dabbelt @ 2018-08-03 10:20 UTC (permalink / raw)
To: linux-tip-commits
Cc: hch, linux-kernel, palmer, will.deacon, arnd, tglx, hpa, gregkh, mingo
Commit-ID: 78ae2e1cd845480caaa2f181fee64e51f679f5aa
Gitweb: https://git.kernel.org/tip/78ae2e1cd845480caaa2f181fee64e51f679f5aa
Author: Palmer Dabbelt <palmer@sifive.com>
AuthorDate: Fri, 22 Jun 2018 10:01:24 -0700
Committer: Thomas Gleixner <tglx@linutronix.de>
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@sifive.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Cc: linux@armlinux.org.uk
Cc: catalin.marinas@arm.com
Cc: Will Deacon <will.deacon@arm.com>
Cc: jonas@southpole.se
Cc: stefan.kristiansson@saunalahti.fi
Cc: shorne@gmail.com
Cc: jason@lakedaemon.net
Cc: marc.zyngier@arm.com
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: nicolas.pitre@linaro.org
Cc: vladimir.murzin@arm.com
Cc: keescook@chromium.org
Cc: jinb.park7@gmail.com
Cc: yamada.masahiro@socionext.com
Cc: alexandre.belloni@bootlin.com
Cc: pombredanne@nexb.com
Cc: Greg KH <gregkh@linuxfoundation.org>
Cc: kstewart@linuxfoundation.org
Cc: jhogan@kernel.org
Cc: mark.rutland@arm.com
Cc: ard.biesheuvel@linaro.org
Cc: james.morse@arm.com
Cc: linux-arm-kernel@lists.infradead.org
Cc: openrisc@lists.librecores.org
Link: https://lkml.kernel.org/r/20180622170126.6308-4-palmer@sifive.com
---
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)
{
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [tip:irq/core] openrisc: Use the new GENERIC_IRQ_MULTI_HANDLER
2018-06-22 17:01 ` [PATCH 4/5] openrisc: " Palmer Dabbelt
@ 2018-08-03 10:20 ` tip-bot for Palmer Dabbelt
0 siblings, 0 replies; 15+ messages in thread
From: tip-bot for Palmer Dabbelt @ 2018-08-03 10:20 UTC (permalink / raw)
To: linux-tip-commits
Cc: will.deacon, tglx, gregkh, palmer, mingo, shorne, hpa,
linux-kernel, arnd
Commit-ID: c5ca4560de0f04a3c872bdd17ae3378762c66bd2
Gitweb: https://git.kernel.org/tip/c5ca4560de0f04a3c872bdd17ae3378762c66bd2
Author: Palmer Dabbelt <palmer@sifive.com>
AuthorDate: Fri, 22 Jun 2018 10:01:25 -0700
Committer: Thomas Gleixner <tglx@linutronix.de>
CommitDate: Fri, 3 Aug 2018 12:14:09 +0200
openrisc: Use the new GENERIC_IRQ_MULTI_HANDLER
It appears that openrisc copied arm64's GENERIC_IRQ_MULTI_HANDLER code
(which came from arm). Cnvert it to use the generic version.
Signed-off-by: Palmer Dabbelt <palmer@sifive.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Stafford Horne <shorne@gmail.com>
Cc: linux@armlinux.org.uk
Cc: catalin.marinas@arm.com
Cc: Will Deacon <will.deacon@arm.com>
Cc: jonas@southpole.se
Cc: stefan.kristiansson@saunalahti.fi
Cc: jason@lakedaemon.net
Cc: marc.zyngier@arm.com
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: nicolas.pitre@linaro.org
Cc: vladimir.murzin@arm.com
Cc: keescook@chromium.org
Cc: jinb.park7@gmail.com
Cc: yamada.masahiro@socionext.com
Cc: alexandre.belloni@bootlin.com
Cc: pombredanne@nexb.com
Cc: Greg KH <gregkh@linuxfoundation.org>
Cc: kstewart@linuxfoundation.org
Cc: jhogan@kernel.org
Cc: mark.rutland@arm.com
Cc: ard.biesheuvel@linaro.org
Cc: james.morse@arm.com
Cc: linux-arm-kernel@lists.infradead.org
Cc: openrisc@lists.librecores.org
Link: https://lkml.kernel.org/r/20180622170126.6308-5-palmer@sifive.com
---
arch/openrisc/Kconfig | 5 +----
arch/openrisc/include/asm/irq.h | 2 --
arch/openrisc/kernel/irq.c | 7 -------
3 files changed, 1 insertion(+), 13 deletions(-)
diff --git a/arch/openrisc/Kconfig b/arch/openrisc/Kconfig
index 9ecad05bfc73..dfb6a79ba7ff 100644
--- a/arch/openrisc/Kconfig
+++ b/arch/openrisc/Kconfig
@@ -27,7 +27,6 @@ config OPENRISC
select GENERIC_STRNLEN_USER
select GENERIC_SMP_IDLE_THREAD
select MODULES_USE_ELF_RELA
- select MULTI_IRQ_HANDLER
select HAVE_DEBUG_STACKOVERFLOW
select OR1K_PIC
select CPU_NO_EFFICIENT_FFS if !OPENRISC_HAVE_INST_FF1
@@ -36,6 +35,7 @@ config OPENRISC
select ARCH_USE_QUEUED_RWLOCKS
select OMPIC if SMP
select ARCH_WANT_FRAME_POINTERS
+ select GENERIC_IRQ_MULTI_HANDLER
config CPU_BIG_ENDIAN
def_bool y
@@ -69,9 +69,6 @@ config STACKTRACE_SUPPORT
config LOCKDEP_SUPPORT
def_bool y
-config MULTI_IRQ_HANDLER
- def_bool y
-
source "init/Kconfig"
source "kernel/Kconfig.freezer"
diff --git a/arch/openrisc/include/asm/irq.h b/arch/openrisc/include/asm/irq.h
index d9eee0a2b7b4..eb612b1865d2 100644
--- a/arch/openrisc/include/asm/irq.h
+++ b/arch/openrisc/include/asm/irq.h
@@ -24,6 +24,4 @@
#define NO_IRQ (-1)
-extern void set_handle_irq(void (*handle_irq)(struct pt_regs *));
-
#endif /* __ASM_OPENRISC_IRQ_H__ */
diff --git a/arch/openrisc/kernel/irq.c b/arch/openrisc/kernel/irq.c
index 35e478a93116..5f9445effaf8 100644
--- a/arch/openrisc/kernel/irq.c
+++ b/arch/openrisc/kernel/irq.c
@@ -41,13 +41,6 @@ void __init init_IRQ(void)
irqchip_init();
}
-static void (*handle_arch_irq)(struct pt_regs *);
-
-void __init set_handle_irq(void (*handle_irq)(struct pt_regs *))
-{
- handle_arch_irq = handle_irq;
-}
-
void __irq_entry do_IRQ(struct pt_regs *regs)
{
handle_arch_irq(regs);
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [tip:irq/core] genirq/irqchip: Remove MULTI_IRQ_HANDLER as it's now obselete
2018-06-22 17:01 ` [PATCH 5/5] irq: Remove MULTI_IRQ_HANDLER as it's now obselete Palmer Dabbelt
@ 2018-08-03 10:21 ` tip-bot for Palmer Dabbelt
0 siblings, 0 replies; 15+ messages in thread
From: tip-bot for Palmer Dabbelt @ 2018-08-03 10:21 UTC (permalink / raw)
To: linux-tip-commits
Cc: will.deacon, hpa, gregkh, palmer, tglx, arnd, mingo, linux-kernel
Commit-ID: 4f7799d96e6621ce584df60739e1480a6fd89f0a
Gitweb: https://git.kernel.org/tip/4f7799d96e6621ce584df60739e1480a6fd89f0a
Author: Palmer Dabbelt <palmer@sifive.com>
AuthorDate: Fri, 22 Jun 2018 10:01:26 -0700
Committer: Thomas Gleixner <tglx@linutronix.de>
CommitDate: Fri, 3 Aug 2018 12:14:10 +0200
genirq/irqchip: Remove MULTI_IRQ_HANDLER as it's now obselete
Now that every user of MULTI_IRQ_HANDLER has been convereted over to use
GENERIC_IRQ_MULTI_HANDLER remove the references to MULTI_IRQ_HANDLER.
Signed-off-by: Palmer Dabbelt <palmer@sifive.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: linux@armlinux.org.uk
Cc: catalin.marinas@arm.com
Cc: Will Deacon <will.deacon@arm.com>
Cc: jonas@southpole.se
Cc: stefan.kristiansson@saunalahti.fi
Cc: shorne@gmail.com
Cc: jason@lakedaemon.net
Cc: marc.zyngier@arm.com
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: nicolas.pitre@linaro.org
Cc: vladimir.murzin@arm.com
Cc: keescook@chromium.org
Cc: jinb.park7@gmail.com
Cc: yamada.masahiro@socionext.com
Cc: alexandre.belloni@bootlin.com
Cc: pombredanne@nexb.com
Cc: Greg KH <gregkh@linuxfoundation.org>
Cc: kstewart@linuxfoundation.org
Cc: jhogan@kernel.org
Cc: mark.rutland@arm.com
Cc: ard.biesheuvel@linaro.org
Cc: james.morse@arm.com
Cc: linux-arm-kernel@lists.infradead.org
Cc: openrisc@lists.librecores.org
Link: https://lkml.kernel.org/r/20180622170126.6308-6-palmer@sifive.com
---
drivers/irqchip/Kconfig | 24 ++++++++----------------
kernel/irq/Kconfig | 1 -
2 files changed, 8 insertions(+), 17 deletions(-)
diff --git a/drivers/irqchip/Kconfig b/drivers/irqchip/Kconfig
index 7527f6a9adae..d564d21245c5 100644
--- a/drivers/irqchip/Kconfig
+++ b/drivers/irqchip/Kconfig
@@ -8,8 +8,7 @@ config ARM_GIC
bool
select IRQ_DOMAIN
select IRQ_DOMAIN_HIERARCHY
- select MULTI_IRQ_HANDLER
- select GENERIC_IRQ_MULTI_HANDLER if !MULTI_IRQ_HANDLER
+ select GENERIC_IRQ_MULTI_HANDLER
select GENERIC_IRQ_EFFECTIVE_AFF_MASK
config ARM_GIC_PM
@@ -35,8 +34,7 @@ config GIC_NON_BANKED
config ARM_GIC_V3
bool
select IRQ_DOMAIN
- select MULTI_IRQ_HANDLER
- select GENERIC_IRQ_MULTI_HANDLER if !MULTI_IRQ_HANDLER
+ select GENERIC_IRQ_MULTI_HANDLER
select IRQ_DOMAIN_HIERARCHY
select PARTITION_PERCPU
select GENERIC_IRQ_EFFECTIVE_AFF_MASK
@@ -68,8 +66,7 @@ config ARM_NVIC
config ARM_VIC
bool
select IRQ_DOMAIN
- select MULTI_IRQ_HANDLER
- select GENERIC_IRQ_MULTI_HANDLER if !MULTI_IRQ_HANDLER
+ select GENERIC_IRQ_MULTI_HANDLER
config ARM_VIC_NR
int
@@ -96,16 +93,14 @@ config ATMEL_AIC_IRQ
bool
select GENERIC_IRQ_CHIP
select IRQ_DOMAIN
- select MULTI_IRQ_HANDLER
- select GENERIC_IRQ_MULTI_HANDLER if !MULTI_IRQ_HANDLER
+ select GENERIC_IRQ_MULTI_HANDLER
select SPARSE_IRQ
config ATMEL_AIC5_IRQ
bool
select GENERIC_IRQ_CHIP
select IRQ_DOMAIN
- select MULTI_IRQ_HANDLER
- select GENERIC_IRQ_MULTI_HANDLER if !MULTI_IRQ_HANDLER
+ select GENERIC_IRQ_MULTI_HANDLER
select SPARSE_IRQ
config I8259
@@ -142,8 +137,7 @@ config DW_APB_ICTL
config FARADAY_FTINTC010
bool
select IRQ_DOMAIN
- select MULTI_IRQ_HANDLER
- select GENERIC_IRQ_MULTI_HANDLER if !MULTI_IRQ_HANDLER
+ select GENERIC_IRQ_MULTI_HANDLER
select SPARSE_IRQ
config HISILICON_IRQ_MBIGEN
@@ -168,8 +162,7 @@ config CLPS711X_IRQCHIP
bool
depends on ARCH_CLPS711X
select IRQ_DOMAIN
- select MULTI_IRQ_HANDLER
- select GENERIC_IRQ_MULTI_HANDLER if !MULTI_IRQ_HANDLER
+ select GENERIC_IRQ_MULTI_HANDLER
select SPARSE_IRQ
default y
@@ -188,8 +181,7 @@ config OMAP_IRQCHIP
config ORION_IRQCHIP
bool
select IRQ_DOMAIN
- select MULTI_IRQ_HANDLER
- select GENERIC_IRQ_MULTI_HANDLER if !MULTI_IRQ_HANDLER
+ select GENERIC_IRQ_MULTI_HANDLER
config PIC32_EVIC
bool
diff --git a/kernel/irq/Kconfig b/kernel/irq/Kconfig
index c6766f326072..5f3e2baefca9 100644
--- a/kernel/irq/Kconfig
+++ b/kernel/irq/Kconfig
@@ -134,7 +134,6 @@ config GENERIC_IRQ_DEBUGFS
endmenu
config GENERIC_IRQ_MULTI_HANDLER
- depends on !MULTI_IRQ_HANDLER
bool
help
Allow to specify the low level IRQ handler at run time.
^ permalink raw reply related [flat|nested] 15+ messages in thread
end of thread, other threads:[~2018-08-03 10:21 UTC | newest]
Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-06-21 18:17 Finish the GENERIC_IRQ_MULTI_HANDLER conversion Palmer Dabbelt
2018-06-22 17:01 ` Palmer Dabbelt
2018-06-22 17:01 ` [PATCH 1/5] irq: Port the ARM IRQ drivers to GENERIC_IRQ_MULTI_HANDLER Palmer Dabbelt
2018-08-03 10:19 ` [tip:irq/core] irqchip: " tip-bot for Palmer Dabbelt
2018-06-22 17:01 ` [PATCH 2/5] arm: Convert " Palmer Dabbelt
2018-08-03 10:19 ` [tip:irq/core] ARM: " tip-bot for Palmer Dabbelt
2018-06-22 17:01 ` [PATCH 3/5] arm64: Use the new GENERIC_IRQ_MULTI_HANDLER Palmer Dabbelt
2018-08-03 10:20 ` [tip:irq/core] " tip-bot for Palmer Dabbelt
2018-06-22 17:01 ` [PATCH 4/5] openrisc: " Palmer Dabbelt
2018-08-03 10:20 ` [tip:irq/core] " tip-bot for Palmer Dabbelt
2018-06-22 17:01 ` [PATCH 5/5] irq: Remove MULTI_IRQ_HANDLER as it's now obselete Palmer Dabbelt
2018-08-03 10:21 ` [tip:irq/core] genirq/irqchip: " tip-bot for Palmer Dabbelt
2018-06-24 13:15 ` Finish the GENERIC_IRQ_MULTI_HANDLER conversion Thomas Gleixner
2018-08-02 18:30 ` Palmer Dabbelt
2018-08-03 10:09 ` Thomas Gleixner
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).