On Thu, Jul 07, 2011 at 09:47:55AM +0200, Sascha Hauer wrote: > On Thu, Jul 07, 2011 at 12:37:42AM +0800, Shawn Guo wrote: > > 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. > > I'm not sure whether we really should depend on an externally defined > ARCH_NR_GPIOS. Someone might get the idea to change this to a lower > value. Maybe we should define this ourselves instead. > > Any other opinions? > > Otherwise I'm fine with this patch.
/me would like to be rid of ARCH_NR_GPIOS entirely, but we're a long way away from that. g. > > Sascha > > > > > Signed-off-by: Shawn Guo <[email protected]> > > Cc: Sascha Hauer <[email protected]> > > Cc: Grant Likely <[email protected]> > > --- > > 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 > > -- > > 1.7.4.1 > > > > > > > > -- > Pengutronix e.K. | | > Industrial Linux Solutions | http://www.pengutronix.de/ | > Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | > Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | > > _______________________________________________ > linux-arm-kernel mailing list > [email protected] > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel _______________________________________________ devicetree-discuss mailing list [email protected] https://lists.ozlabs.org/listinfo/devicetree-discuss
