ARM: 7343/1: sa11x0: convert to sparse IRQ
Now that Neponset, UCB1x00 and SA1111 are all converted to use the IRQ allocation interfaces, we can enable sparse IRQ support for SA11x0 platforms.
This commit is contained in:
Родитель
f314f33be7
Коммит
375dec9277
|
@ -760,6 +760,7 @@ config ARCH_SA1100
|
||||||
select ARCH_REQUIRE_GPIOLIB
|
select ARCH_REQUIRE_GPIOLIB
|
||||||
select HAVE_IDE
|
select HAVE_IDE
|
||||||
select NEED_MACH_MEMORY_H
|
select NEED_MACH_MEMORY_H
|
||||||
|
select SPARSE_IRQ
|
||||||
help
|
help
|
||||||
Support for StrongARM 11x0 based boards.
|
Support for StrongARM 11x0 based boards.
|
||||||
|
|
||||||
|
|
|
@ -57,7 +57,6 @@ static void badge4_sa1111_disable(void *data, unsigned devid)
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct sa1111_platform_data sa1111_info = {
|
static struct sa1111_platform_data sa1111_info = {
|
||||||
.irq_base = IRQ_BOARD_END,
|
|
||||||
.disable_devs = SA1111_DEVID_PS2_MSE,
|
.disable_devs = SA1111_DEVID_PS2_MSE,
|
||||||
.enable = badge4_sa1111_enable,
|
.enable = badge4_sa1111_enable,
|
||||||
.disable = badge4_sa1111_disable,
|
.disable = badge4_sa1111_disable,
|
||||||
|
|
|
@ -71,16 +71,19 @@
|
||||||
/*
|
/*
|
||||||
* Figure out the MAX IRQ number.
|
* Figure out the MAX IRQ number.
|
||||||
*
|
*
|
||||||
* If we have an SA1111, the max IRQ is S1_BVD1_STSCHG+1.
|
* Neponset, SA1111 and UCB1x00 are sparse IRQ aware, so can dynamically
|
||||||
* If we have an LoCoMo, the max IRQ is IRQ_BOARD_START + 4
|
* allocate their IRQs above NR_IRQS.
|
||||||
* Otherwise, we have the standard IRQs only.
|
*
|
||||||
|
* LoCoMo has 4 additional IRQs, but is not sparse IRQ aware, and so has
|
||||||
|
* to be included in the NR_IRQS calculation.
|
||||||
*/
|
*/
|
||||||
#ifdef CONFIG_SA1111
|
#ifdef CONFIG_SHARP_LOCOMO
|
||||||
#define NR_IRQS (IRQ_BOARD_END + 55)
|
#define NR_IRQS_LOCOMO 4
|
||||||
#elif defined(CONFIG_SHARP_LOCOMO)
|
|
||||||
#define NR_IRQS (IRQ_BOARD_START + 4)
|
|
||||||
#else
|
#else
|
||||||
#define NR_IRQS (IRQ_BOARD_START)
|
#define NR_IRQS_LOCOMO 0
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define SA1100_NR_IRQS NR_IRQS
|
#ifndef NR_IRQS
|
||||||
|
#define NR_IRQS (IRQ_BOARD_START + NR_IRQS_LOCOMO)
|
||||||
|
#endif
|
||||||
|
#define SA1100_NR_IRQS (IRQ_BOARD_START + NR_IRQS_LOCOMO)
|
||||||
|
|
|
@ -195,7 +195,6 @@ static struct resource sa1111_resources[] = {
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct sa1111_platform_data sa1111_info = {
|
static struct sa1111_platform_data sa1111_info = {
|
||||||
.irq_base = IRQ_BOARD_END,
|
|
||||||
.disable_devs = SA1111_DEVID_PS2_MSE,
|
.disable_devs = SA1111_DEVID_PS2_MSE,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -229,7 +229,6 @@ static struct irq_chip nochip = {
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct sa1111_platform_data sa1111_info = {
|
static struct sa1111_platform_data sa1111_info = {
|
||||||
.irq_base = IRQ_BOARD_END,
|
|
||||||
.disable_devs = SA1111_DEVID_PS2_MSE,
|
.disable_devs = SA1111_DEVID_PS2_MSE,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче