Re: [PATCH] gpio/samsung: Move SoC specific codes within macro

From: Grant Likely
Date: Tue Oct 04 2011 - 16:40:45 EST


On Mon, Oct 03, 2011 at 08:59:19AM +0530, Tushar Behera wrote:
> In drivers/gpio/gpio-samsung.c, there are certain structures
> and functions which are not getting used if the particular
> CPU is not selected. These code segments are moved under CPU
> specific macros to remove compilation warnings.
>
> Signed-off-by: Tushar Behera <tushar.behera@xxxxxxxxxx>

Acked-by: Grant Likely <grant.likely@xxxxxxxxxxxx>

> ---
> It has been build tested with s3c2410_defconfig, s3c6400_defconfig,
> s5p64x0_defconfig, s5pc100_defconfig, s5pv210_defconfig and
> exynos4_defconfig.
>
> The patch has been rebased onto
> Commit: gpio/samsung: correct pin configuration for S5PC100/S5PC110/EXYNOS4
>
> on git://github.com/kgene/linux-samsung.git (next/topic-gpio-samsung)
>
> drivers/gpio/gpio-samsung.c | 10 ++++++++++
> 1 files changed, 10 insertions(+), 0 deletions(-)
>
> diff --git a/drivers/gpio/gpio-samsung.c b/drivers/gpio/gpio-samsung.c
> index b6be77a..33d62d1 100644
> --- a/drivers/gpio/gpio-samsung.c
> +++ b/drivers/gpio/gpio-samsung.c
> @@ -318,6 +318,7 @@ static unsigned samsung_gpio_getcfg_4bit(struct samsung_gpio_chip *chip,
> return S3C_GPIO_SPECIAL(con);
> }
>
> +#ifdef CONFIG_PLAT_S3C24XX
> /*
> * s3c24xx_gpio_setcfg_abank - S3C24XX style GPIO configuration (Bank A)
> * @chip: The gpio chip that is being configured.
> @@ -379,7 +380,9 @@ static unsigned s3c24xx_gpio_getcfg_abank(struct samsung_gpio_chip *chip,
>
> return S3C_GPIO_SFN(con);
> }
> +#endif
>
> +#if defined(CONFIG_CPU_S5P6440) || defined(CONFIG_CPU_S5P6450)
> static int s5p64x0_gpio_setcfg_rbank(struct samsung_gpio_chip *chip,
> unsigned int off, unsigned int cfg)
> {
> @@ -417,6 +420,7 @@ static int s5p64x0_gpio_setcfg_rbank(struct samsung_gpio_chip *chip,
>
> return 0;
> }
> +#endif
>
> static void __init samsung_gpiolib_set_cfg(struct samsung_gpio_cfg *chipcfg,
> int nr_chips)
> @@ -438,10 +442,12 @@ struct samsung_gpio_cfg s3c24xx_gpiocfg_default = {
> .get_config = samsung_gpio_getcfg_2bit,
> };
>
> +#ifdef CONFIG_PLAT_S3C24XX
> static struct samsung_gpio_cfg s3c24xx_gpiocfg_banka = {
> .set_config = s3c24xx_gpio_setcfg_abank,
> .get_config = s3c24xx_gpio_getcfg_abank,
> };
> +#endif
>
> static struct samsung_gpio_cfg exynos4_gpio_cfg = {
> .set_pull = exynos4_gpio_setpull,
> @@ -450,6 +456,7 @@ static struct samsung_gpio_cfg exynos4_gpio_cfg = {
> .get_config = samsung_gpio_getcfg_4bit,
> };
>
> +#if defined(CONFIG_CPU_S5P6440) || defined(CONFIG_CPU_S5P6450)
> static struct samsung_gpio_cfg s5p64x0_gpio_cfg_rbank = {
> .cfg_eint = 0x3,
> .set_config = s5p64x0_gpio_setcfg_rbank,
> @@ -457,6 +464,7 @@ static struct samsung_gpio_cfg s5p64x0_gpio_cfg_rbank = {
> .set_pull = samsung_gpio_setpull_updown,
> .get_pull = samsung_gpio_getpull_updown,
> };
> +#endif
>
> static struct samsung_gpio_cfg samsung_gpio_cfgs[] = {
> {
> @@ -682,6 +690,7 @@ static int samsung_gpiolib_4bit2_output(struct gpio_chip *chip,
> return 0;
> }
>
> +#ifdef CONFIG_PLAT_S3C24XX
> /* The next set of routines are for the case of s3c24xx bank a */
>
> static int s3c24xx_gpiolib_banka_input(struct gpio_chip *chip, unsigned offset)
> @@ -717,6 +726,7 @@ static int s3c24xx_gpiolib_banka_output(struct gpio_chip *chip,
> local_irq_restore(flags);
> return 0;
> }
> +#endif
>
> /* The next set of routines are for the case of s5p64x0 bank r */
>
> --
> 1.7.4.1
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/