Эх сурвалжийг харах

xtensa: drop variant IRQ support

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>
Max Filippov 7 жил өмнө
parent
commit
8b5163eb98

+ 0 - 3
arch/xtensa/Kconfig

@@ -75,9 +75,6 @@ config TRACE_IRQFLAGS_SUPPORT
 config MMU
 config MMU
 	def_bool n
 	def_bool n
 
 
-config VARIANT_IRQ_SWITCH
-	def_bool n
-
 config HAVE_XTENSA_GPIO32
 config HAVE_XTENSA_GPIO32
 	def_bool n
 	def_bool n
 
 

+ 1 - 17
arch/xtensa/include/asm/irq.h

@@ -14,31 +14,15 @@
 #include <linux/init.h>
 #include <linux/init.h>
 #include <variant/core.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
 #ifdef CONFIG_PLATFORM_NR_IRQS
 # define PLATFORM_NR_IRQS CONFIG_PLATFORM_NR_IRQS
 # define PLATFORM_NR_IRQS CONFIG_PLATFORM_NR_IRQS
 #else
 #else
 # define PLATFORM_NR_IRQS 0
 # define PLATFORM_NR_IRQS 0
 #endif
 #endif
 #define XTENSA_NR_IRQS XCHAL_NUM_INTERRUPTS
 #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)
 #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)
 static __inline__ int irq_canonicalize(int irq)
 {
 {
 	return (irq);
 	return (irq);

+ 0 - 1
arch/xtensa/kernel/irq.c

@@ -158,7 +158,6 @@ void __init init_IRQ(void)
 #ifdef CONFIG_SMP
 #ifdef CONFIG_SMP
 	ipi_init();
 	ipi_init();
 #endif
 #endif
-	variant_init_irq();
 }
 }
 
 
 #ifdef CONFIG_HOTPLUG_CPU
 #ifdef CONFIG_HOTPLUG_CPU

+ 0 - 2
drivers/irqchip/irq-xtensa-mx.c

@@ -98,14 +98,12 @@ static void xtensa_mx_irq_unmask(struct irq_data *d)
 
 
 static void xtensa_mx_irq_enable(struct irq_data *d)
 static void xtensa_mx_irq_enable(struct irq_data *d)
 {
 {
-	variant_irq_enable(d->hwirq);
 	xtensa_mx_irq_unmask(d);
 	xtensa_mx_irq_unmask(d);
 }
 }
 
 
 static void xtensa_mx_irq_disable(struct irq_data *d)
 static void xtensa_mx_irq_disable(struct irq_data *d)
 {
 {
 	xtensa_mx_irq_mask(d);
 	xtensa_mx_irq_mask(d);
-	variant_irq_disable(d->hwirq);
 }
 }
 
 
 static void xtensa_mx_irq_ack(struct irq_data *d)
 static void xtensa_mx_irq_ack(struct irq_data *d)

+ 0 - 2
drivers/irqchip/irq-xtensa-pic.c

@@ -55,14 +55,12 @@ static void xtensa_irq_unmask(struct irq_data *d)
 
 
 static void xtensa_irq_enable(struct irq_data *d)
 static void xtensa_irq_enable(struct irq_data *d)
 {
 {
-	variant_irq_enable(d->hwirq);
 	xtensa_irq_unmask(d);
 	xtensa_irq_unmask(d);
 }
 }
 
 
 static void xtensa_irq_disable(struct irq_data *d)
 static void xtensa_irq_disable(struct irq_data *d)
 {
 {
 	xtensa_irq_mask(d);
 	xtensa_irq_mask(d);
-	variant_irq_disable(d->hwirq);
 }
 }
 
 
 static void xtensa_irq_ack(struct irq_data *d)
 static void xtensa_irq_ack(struct irq_data *d)