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: Arnd Bergmann <arnd@arndb.de>
Acked-by: Ludovic Desroches <ludovic.desroches@atmel.com>
Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com>
diff --git a/arch/arm/mach-at91/irq.c b/arch/arm/mach-at91/irq.c
index c5eaaa0..1e02c0e 100644
--- a/arch/arm/mach-at91/irq.c
+++ b/arch/arm/mach-at91/irq.c
@@ -49,7 +49,6 @@
 static struct device_node *at91_aic_np;
 static unsigned int n_irqs = NR_AIC_IRQS;
 static unsigned long at91_aic_caps = 0;
-static unsigned int *at91_aic_irq_priorities;
 
 /* AIC5 introduces a Source Select Register */
 #define AT91_AIC_CAP_AIC5	(1 << 0)
@@ -359,6 +358,8 @@
 }
 
 #if defined(CONFIG_OF)
+static unsigned int *at91_aic_irq_priorities;
+
 static int at91_aic_irq_map(struct irq_domain *h, unsigned int virq,
 							irq_hw_number_t hw)
 {