]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
xtensa: drop variant IRQ support
authorMax Filippov <jcmvbkbc@gmail.com>
Tue, 14 Aug 2018 01:21:08 +0000 (18:21 -0700)
committerMax Filippov <jcmvbkbc@gmail.com>
Mon, 20 Aug 2018 19:28:05 +0000 (12:28 -0700)
If an xtensa core provides an additional IRQ controller it should be
treated as a separate piece of hardware and be driven by an irqchip
driver.

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
arch/xtensa/Kconfig
arch/xtensa/include/asm/irq.h
arch/xtensa/kernel/irq.c
drivers/irqchip/irq-xtensa-mx.c
drivers/irqchip/irq-xtensa-pic.c

index 4e64c9c1748bfc1862cf44b50ede2d4c7ebebcaa..44b20da404be67573306bd312472ba9c12a541a6 100644 (file)
@@ -75,9 +75,6 @@ config TRACE_IRQFLAGS_SUPPORT
 config MMU
        def_bool n
 
-config VARIANT_IRQ_SWITCH
-       def_bool n
-
 config HAVE_XTENSA_GPIO32
        def_bool n
 
index 2270d93ab7e6149456c82cdfc360f7c2e69b899a..6c6ed23e0c79c51875710e29a7e59ce59fe2ef7b 100644 (file)
 #include <linux/init.h>
 #include <variant/core.h>
 
-#ifdef CONFIG_VARIANT_IRQ_SWITCH
-#include <variant/irq.h>
-#else
-static inline void variant_irq_enable(unsigned int irq) { }
-static inline void variant_irq_disable(unsigned int irq) { }
-#endif
-
-#ifndef VARIANT_NR_IRQS
-# define VARIANT_NR_IRQS 0
-#endif
 #ifdef CONFIG_PLATFORM_NR_IRQS
 # define PLATFORM_NR_IRQS CONFIG_PLATFORM_NR_IRQS
 #else
 # define PLATFORM_NR_IRQS 0
 #endif
 #define XTENSA_NR_IRQS XCHAL_NUM_INTERRUPTS
-#define NR_IRQS (XTENSA_NR_IRQS + VARIANT_NR_IRQS + PLATFORM_NR_IRQS + 1)
+#define NR_IRQS (XTENSA_NR_IRQS + PLATFORM_NR_IRQS + 1)
 #define XTENSA_PIC_LINUX_IRQ(hwirq) ((hwirq) + 1)
 
-#if VARIANT_NR_IRQS == 0
-static inline void variant_init_irq(void) { }
-#else
-void variant_init_irq(void) __init;
-#endif
-
 static __inline__ int irq_canonicalize(int irq)
 {
        return (irq);
index 18e4ef34ac4559a1afe105d93d480094d44f9667..a48bf2d10ac2d9fc71f677d1e516ebcb0aef2e65 100644 (file)
@@ -158,7 +158,6 @@ void __init init_IRQ(void)
 #ifdef CONFIG_SMP
        ipi_init();
 #endif
-       variant_init_irq();
 }
 
 #ifdef CONFIG_HOTPLUG_CPU
index a15a9510c90439b11072fe5cc88f6f4656414388..e539500752d463f6051fce31085866dbd4abc853 100644 (file)
@@ -98,14 +98,12 @@ static void xtensa_mx_irq_unmask(struct irq_data *d)
 
 static void xtensa_mx_irq_enable(struct irq_data *d)
 {
-       variant_irq_enable(d->hwirq);
        xtensa_mx_irq_unmask(d);
 }
 
 static void xtensa_mx_irq_disable(struct irq_data *d)
 {
        xtensa_mx_irq_mask(d);
-       variant_irq_disable(d->hwirq);
 }
 
 static void xtensa_mx_irq_ack(struct irq_data *d)
index f728755fa2922019e6b117105f3a9b9dfe0fc3e9..000cb5462bcf40a379b8703b59d96e2b90460d22 100644 (file)
@@ -55,14 +55,12 @@ static void xtensa_irq_unmask(struct irq_data *d)
 
 static void xtensa_irq_enable(struct irq_data *d)
 {
-       variant_irq_enable(d->hwirq);
        xtensa_irq_unmask(d);
 }
 
 static void xtensa_irq_disable(struct irq_data *d)
 {
        xtensa_irq_mask(d);
-       variant_irq_disable(d->hwirq);
 }
 
 static void xtensa_irq_ack(struct irq_data *d)