[PATCH] ARM: S3C64XX: Remove gpio-bank-X header files
Kukjin Kim
kgene.kim at samsung.com
Tue Apr 26 21:27:57 EDT 2011
Joonyoung Shim wrote:
>
> The gpio-bank-X header files of S3C64XX have defines which can be
> substituted by more common API, so they can be removed. This is compile
> tested only.
>
> Signed-off-by: Joonyoung Shim <jy0922.shim at samsung.com>
> ---
> arch/arm/mach-s3c64xx/dev-spi.c | 20 ++----
> arch/arm/mach-s3c64xx/include/mach/gpio-bank-a.h | 48 --------------
> arch/arm/mach-s3c64xx/include/mach/gpio-bank-b.h | 60 -----------------
> arch/arm/mach-s3c64xx/include/mach/gpio-bank-c.h | 53 ---------------
> arch/arm/mach-s3c64xx/include/mach/gpio-bank-d.h | 49 --------------
> arch/arm/mach-s3c64xx/include/mach/gpio-bank-e.h | 44 -------------
> arch/arm/mach-s3c64xx/include/mach/gpio-bank-f.h | 71
--------------------
> -
> arch/arm/mach-s3c64xx/include/mach/gpio-bank-g.h | 42 ------------
> arch/arm/mach-s3c64xx/include/mach/gpio-bank-h.h | 74
--------------------
> --
> arch/arm/mach-s3c64xx/include/mach/gpio-bank-i.h | 40 ------------
> arch/arm/mach-s3c64xx/include/mach/gpio-bank-j.h | 36 -----------
> arch/arm/mach-s3c64xx/include/mach/gpio-bank-n.h | 54 ----------------
> arch/arm/mach-s3c64xx/include/mach/gpio-bank-o.h | 70
--------------------
> arch/arm/mach-s3c64xx/include/mach/gpio-bank-p.h | 69
--------------------
> arch/arm/mach-s3c64xx/include/mach/gpio-bank-q.h | 46 -------------
> arch/arm/mach-s3c64xx/mach-smdk6410.c | 1 -
> arch/arm/mach-s3c64xx/pm.c | 35 +++++------
> arch/arm/mach-s3c64xx/setup-i2c0.c | 7 +--
> arch/arm/mach-s3c64xx/setup-i2c1.c | 7 +--
> arch/arm/mach-s3c64xx/sleep.S | 8 ++-
> 20 files changed, 34 insertions(+), 800 deletions(-)
> delete mode 100644 arch/arm/mach-s3c64xx/include/mach/gpio-bank-a.h
> delete mode 100644 arch/arm/mach-s3c64xx/include/mach/gpio-bank-b.h
> delete mode 100644 arch/arm/mach-s3c64xx/include/mach/gpio-bank-c.h
> delete mode 100644 arch/arm/mach-s3c64xx/include/mach/gpio-bank-d.h
> delete mode 100644 arch/arm/mach-s3c64xx/include/mach/gpio-bank-e.h
> delete mode 100644 arch/arm/mach-s3c64xx/include/mach/gpio-bank-f.h
> delete mode 100644 arch/arm/mach-s3c64xx/include/mach/gpio-bank-g.h
> delete mode 100644 arch/arm/mach-s3c64xx/include/mach/gpio-bank-h.h
> delete mode 100644 arch/arm/mach-s3c64xx/include/mach/gpio-bank-i.h
> delete mode 100644 arch/arm/mach-s3c64xx/include/mach/gpio-bank-j.h
> delete mode 100644 arch/arm/mach-s3c64xx/include/mach/gpio-bank-n.h
> delete mode 100644 arch/arm/mach-s3c64xx/include/mach/gpio-bank-o.h
> delete mode 100644 arch/arm/mach-s3c64xx/include/mach/gpio-bank-p.h
> delete mode 100644 arch/arm/mach-s3c64xx/include/mach/gpio-bank-q.h
>
Hi,
Oh, great.
I also tried to remove useless gpio header files :) and it is in my dev/gpio
branch. But I think, this is better.
Anyway there are small comments.
(snip)
> void s3c_pm_debug_smdkled(u32 set, u32 clear)
> {
> - unsigned long flags;
> - u32 reg;
> -
> - local_irq_save(flags);
> - reg = __raw_readl(S3C64XX_GPNCON);
> - reg &= ~(S3C64XX_GPN_CONMASK(12) | S3C64XX_GPN_CONMASK(13) |
> - S3C64XX_GPN_CONMASK(14) | S3C64XX_GPN_CONMASK(15));
> - reg |= S3C64XX_GPN_OUTPUT(12) | S3C64XX_GPN_OUTPUT(13) |
> - S3C64XX_GPN_OUTPUT(14) | S3C64XX_GPN_OUTPUT(15);
> - __raw_writel(reg, S3C64XX_GPNCON);
> -
> - reg = __raw_readl(S3C64XX_GPNDAT);
> - reg &= ~(clear << 12);
> - reg |= set << 12;
> - __raw_writel(reg, S3C64XX_GPNDAT);
> -
> - local_irq_restore(flags);
> + int i;
> +
> + for (i = 0; i < 4; i++) {
> + if (clear & (1 << i))
> + gpio_direction_output(S3C64XX_GPN(12 + i), 0);
> + if (set & (1 << i))
> + gpio_direction_output(S3C64XX_GPN(12 + i), 1);
> + }
Hmm...
According to comments in gpio_direction_{input,output}, it isn't called more
than once...but it can be called twice in your code. And need
local_irq_{save,restore} around them.
So how about keeping old codes here? In addtion, as you know, need to keep
definitions of S3C64XX_GPNxxx now :(
Others looks ok.
Thanks.
Best regards,
Kgene.
--
Kukjin Kim <kgene.kim at samsung.com>, Senior Engineer,
SW Solution Development Team, Samsung Electronics Co., Ltd.
More information about the linux-arm-kernel
mailing list