Commit 8b5163eb authored by Max Filippov's avatar Max Filippov

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: default avatarMax Filippov <jcmvbkbc@gmail.com>
parent fc862ee9
...@@ -75,9 +75,6 @@ config TRACE_IRQFLAGS_SUPPORT ...@@ -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
......
...@@ -14,31 +14,15 @@ ...@@ -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);
......
...@@ -158,7 +158,6 @@ void __init init_IRQ(void) ...@@ -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
......
...@@ -98,14 +98,12 @@ static void xtensa_mx_irq_unmask(struct irq_data *d) ...@@ -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)
......
...@@ -55,14 +55,12 @@ static void xtensa_irq_unmask(struct irq_data *d) ...@@ -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)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment