On Wed, 2 May 2012 01:26:12 +0200, Linus Walleij wrote: > On Mon, Apr 30, 2012 at 8:52 AM, Sachin Kamat wrote: > > > +#if defined(CONFIG_ARCH_EXYNOS4) || defined(CONFIG_ARCH_EXYNOS5) > > +#endif > > -static struct samsung_gpio_chip exynos4_gpios_1[] = { > >  #ifdef CONFIG_ARCH_EXYNOS4 > > +static struct samsung_gpio_chip exynos4_gpios_1[] = { > > -#endif > > +#endif > > -static struct samsung_gpio_chip exynos4_gpios_2[] = { > >  #ifdef CONFIG_ARCH_EXYNOS4 > > +static struct samsung_gpio_chip exynos4_gpios_2[] = { > > -#endif > > +#endif > > -static struct samsung_gpio_chip exynos4_gpios_3[] = { > >  #ifdef CONFIG_ARCH_EXYNOS4 > > +static struct samsung_gpio_chip exynos4_gpios_3[] = { > > -#endif > > +#endif > >  #ifdef CONFIG_ARCH_EXYNOS5 > > +#if defined(CONFIG_CPU_EXYNOS4210) || defined(CONFIG_SOC_EXYNOS5250) > > +#endif > > +#if defined(CONFIG_CPU_EXYNOS4210) || defined(CONFIG_SOC_EXYNOS5250) > > +#endif > > We really want to get rid of this kind of stuff from all drivers, #ifdefs are > declared ugly already in Documentation/CodingStyle. > > Any chance you could solve this problem by reworking the driver to > pass some flag in platform data tell which exynos it's for > and jist adapt at runtime instead of the compile-time quirkiness? > > Besides looking better, it helps us to get to a single zImage for the > exynoses too.. I don't see any single-zImage issues here. There are no #else clauses in the #ifdef blocks so all it does it compile out unused code when exynos4 & 5 is not enabled. I'm going to apply it. g.