mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-15 16:53:54 +08:00
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>
This commit is contained in:
parent
fc862ee997
commit
8b5163eb98
@ -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
|
||||
|
||||
|
@ -14,31 +14,15 @@
|
||||
#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);
|
||||
|
@ -158,7 +158,6 @@ void __init init_IRQ(void)
|
||||
#ifdef CONFIG_SMP
|
||||
ipi_init();
|
||||
#endif
|
||||
variant_init_irq();
|
||||
}
|
||||
|
||||
#ifdef CONFIG_HOTPLUG_CPU
|
||||
|
@ -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)
|
||||
|
@ -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)
|
||||
|
Loading…
Reference in New Issue
Block a user