diff options
author | Shawn Guo <shawn.guo@linaro.org> | 2011-07-07 00:37:42 +0800 |
---|---|---|
committer | Grant Likely <grant.likely@secretlab.ca> | 2011-07-08 12:38:18 -0600 |
commit | 14305e685dff531583e95c5076f633f2fe2b141c (patch) | |
tree | cfa91e6e55d17ec77a933241190a0c6def2e1b95 /arch/arm/plat-mxc/include/mach/irqs.h | |
parent | e7fc6ae7446710a487510d212137a43289bbe90e (diff) | |
download | op-kernel-dev-14305e685dff531583e95c5076f633f2fe2b141c.zip op-kernel-dev-14305e685dff531583e95c5076f633f2fe2b141c.tar.gz |
ARM: mxc: use ARCH_NR_GPIOS to define gpio number
The patch removes MXC_GPIO_IRQS and instead uses ARCH_NR_GPIOS to
define gpio number. This change is need when we change mxc gpio
driver to be device tree aware. When migrating the driver to device
tree, pdev->id becomes unusable. It requires driver get gpio range
from gpio core, which will dynamically allocates number from
ARCH_NR_GPIOS to 0.
As a bonus point, it removes lines of '#if' and make the code a
little bit cleaner. The side effect is the waste of number. But
this is not a point when we go single image.
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
Diffstat (limited to 'arch/arm/plat-mxc/include/mach/irqs.h')
-rw-r--r-- | arch/arm/plat-mxc/include/mach/irqs.h | 21 |
1 files changed, 3 insertions, 18 deletions
diff --git a/arch/arm/plat-mxc/include/mach/irqs.h b/arch/arm/plat-mxc/include/mach/irqs.h index 35c89bc..00e812b 100644 --- a/arch/arm/plat-mxc/include/mach/irqs.h +++ b/arch/arm/plat-mxc/include/mach/irqs.h @@ -11,6 +11,8 @@ #ifndef __ASM_ARCH_MXC_IRQS_H__ #define __ASM_ARCH_MXC_IRQS_H__ +#include <asm-generic/gpio.h> + /* * SoCs with TZIC interrupt controller have 128 IRQs, those with AVIC have 64 */ @@ -22,30 +24,13 @@ #define MXC_GPIO_IRQ_START MXC_INTERNAL_IRQS -/* these are ordered by size to support multi-SoC kernels */ -#if defined CONFIG_SOC_IMX53 -#define MXC_GPIO_IRQS (32 * 7) -#elif defined CONFIG_ARCH_MX2 -#define MXC_GPIO_IRQS (32 * 6) -#elif defined CONFIG_SOC_IMX50 -#define MXC_GPIO_IRQS (32 * 6) -#elif defined CONFIG_ARCH_MX1 -#define MXC_GPIO_IRQS (32 * 4) -#elif defined CONFIG_ARCH_MX25 -#define MXC_GPIO_IRQS (32 * 4) -#elif defined CONFIG_SOC_IMX51 -#define MXC_GPIO_IRQS (32 * 4) -#elif defined CONFIG_ARCH_MX3 -#define MXC_GPIO_IRQS (32 * 3) -#endif - /* * The next 16 interrupts are for board specific purposes. Since * the kernel can only run on one machine at a time, we can re-use * these. If you need more, increase MXC_BOARD_IRQS, but keep it * within sensible limits. */ -#define MXC_BOARD_IRQ_START (MXC_INTERNAL_IRQS + MXC_GPIO_IRQS) +#define MXC_BOARD_IRQ_START (MXC_INTERNAL_IRQS + ARCH_NR_GPIOS) #ifdef CONFIG_MACH_MX31ADS_WM1133_EV1 #define MXC_BOARD_IRQS 80 |