Commit 14070ade authored by Arnd Bergmann's avatar Arnd Bergmann

ARM: at91: fix new build errors

MULTI_IRQ_HANDLER and SPARSE_IRQ are now required everywhere because
mach/irqs.h and mach/entry-macros.S are gone but the symbols are
only selected for AT91SAM9, not for the NOMMU parts.

A few files now need to include linux/io.h directly, which used to
be included through other headers that have changed.

The new at91_aic_irq_priorities variable is only used with CONFIG_OF
enabled and should not be visible otherwise.
Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
Acked-by: default avatarLudovic Desroches <ludovic.desroches@atmel.com>
Acked-by: default avatarNicolas Ferre <nicolas.ferre@atmel.com>
parent 1fe40618
...@@ -37,6 +37,8 @@ config SOC_AT91SAM9 ...@@ -37,6 +37,8 @@ config SOC_AT91SAM9
config SOC_AT91RM9200 config SOC_AT91RM9200
bool "AT91RM9200" bool "AT91RM9200"
select CPU_ARM920T select CPU_ARM920T
select MULTI_IRQ_HANDLER
select SPARSE_IRQ
select GENERIC_CLOCKEVENTS select GENERIC_CLOCKEVENTS
select HAVE_AT91_DBGU0 select HAVE_AT91_DBGU0
...@@ -142,6 +144,8 @@ config ARCH_AT91SAM9G45 ...@@ -142,6 +144,8 @@ config ARCH_AT91SAM9G45
config ARCH_AT91X40 config ARCH_AT91X40
bool "AT91x40" bool "AT91x40"
depends on !MMU depends on !MMU
select MULTI_IRQ_HANDLER
select SPARSE_IRQ
select ARCH_USES_GETTIMEOFFSET select ARCH_USES_GETTIMEOFFSET
endchoice endchoice
......
...@@ -13,6 +13,7 @@ ...@@ -13,6 +13,7 @@
#include <linux/kernel.h> #include <linux/kernel.h>
#include <linux/init.h> #include <linux/init.h>
#include <linux/irq.h> #include <linux/irq.h>
#include <linux/io.h>
#include <asm/proc-fns.h> #include <asm/proc-fns.h>
#include <asm/system_misc.h> #include <asm/system_misc.h>
#include <asm/mach/arch.h> #include <asm/mach/arch.h>
......
...@@ -49,7 +49,6 @@ static struct irq_domain *at91_aic_domain; ...@@ -49,7 +49,6 @@ static struct irq_domain *at91_aic_domain;
static struct device_node *at91_aic_np; static struct device_node *at91_aic_np;
static unsigned int n_irqs = NR_AIC_IRQS; static unsigned int n_irqs = NR_AIC_IRQS;
static unsigned long at91_aic_caps = 0; static unsigned long at91_aic_caps = 0;
static unsigned int *at91_aic_irq_priorities;
/* AIC5 introduces a Source Select Register */ /* AIC5 introduces a Source Select Register */
#define AT91_AIC_CAP_AIC5 (1 << 0) #define AT91_AIC_CAP_AIC5 (1 << 0)
...@@ -359,6 +358,8 @@ static void __init __maybe_unused at91_aic5_hw_init(unsigned int spu_vector) ...@@ -359,6 +358,8 @@ static void __init __maybe_unused at91_aic5_hw_init(unsigned int spu_vector)
} }
#if defined(CONFIG_OF) #if defined(CONFIG_OF)
static unsigned int *at91_aic_irq_priorities;
static int at91_aic_irq_map(struct irq_domain *h, unsigned int virq, static int at91_aic_irq_map(struct irq_domain *h, unsigned int virq,
irq_hw_number_t hw) irq_hw_number_t hw)
{ {
......
...@@ -27,6 +27,7 @@ ...@@ -27,6 +27,7 @@
#include <linux/interrupt.h> #include <linux/interrupt.h>
#include <linux/ioctl.h> #include <linux/ioctl.h>
#include <linux/completion.h> #include <linux/completion.h>
#include <linux/io.h>
#include <asm/uaccess.h> #include <asm/uaccess.h>
......
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