* [PATCH 0/3] Removal of obsolete s3c2410_* GPIO API @ 2012-08-25 12:20 Sylwester Nawrocki 2012-08-25 12:20 ` [PATCH 1/3] ARM: S3C24XX: Convert users of s3c2410_gpio_setpin to gpiolib API Sylwester Nawrocki ` (4 more replies) 0 siblings, 5 replies; 13+ messages in thread From: Sylwester Nawrocki @ 2012-08-25 12:20 UTC (permalink / raw) To: linux-arm-kernel This short patch series converts remaining users of the s3c24xx SoC specific gpiolib functions to the gpiolib API and finally removes all s3c2410_* functions from drivers/gpio/gpio-samsung.c. Sylwester Nawrocki (3): ARM: S3C24XX: Convert users of s3c2410_gpio_setpin to gpiolib API ARM: S3C24XX: Remove obsolete GPIO API declarations gpio-samsung: Remove now unused s3c2410_gpio* API arch/arm/mach-s3c24xx/mach-anubis.c | 3 +- arch/arm/mach-s3c24xx/mach-jive.c | 12 ++-- arch/arm/mach-s3c24xx/mach-mini2440.c | 4 +- arch/arm/mach-s3c24xx/mach-nexcoder.c | 22 +++--- arch/arm/mach-s3c24xx/mach-osiris.c | 7 +- arch/arm/plat-samsung/include/plat/gpio-fns.h | 97 ------------------------- drivers/gpio/gpio-samsung.c | 40 ---------- 7 files changed, 25 insertions(+), 160 deletions(-) -- 1.7.4.1 ^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH 1/3] ARM: S3C24XX: Convert users of s3c2410_gpio_setpin to gpiolib API 2012-08-25 12:20 [PATCH 0/3] Removal of obsolete s3c2410_* GPIO API Sylwester Nawrocki @ 2012-08-25 12:20 ` Sylwester Nawrocki 2012-08-25 12:20 ` [PATCH 2/3] ARM: S3C24XX: Remove obsolete GPIO API declarations Sylwester Nawrocki ` (3 subsequent siblings) 4 siblings, 0 replies; 13+ messages in thread From: Sylwester Nawrocki @ 2012-08-25 12:20 UTC (permalink / raw) To: linux-arm-kernel This is a prerequisite for removal of deprecated s3c2410_gpio* API from the Samsung gpiolib driver. Cc: Ben Dooks <ben-linux@fluff.org> Cc: Guillaume Gourat <guillaume.gourat@nexvision.tv> Cc: Michel Pollet <buserror@gmail.com> Signed-off-by: Sylwester Nawrocki <sylvester.nawrocki@gmail.com> --- arch/arm/mach-s3c24xx/mach-anubis.c | 3 ++- arch/arm/mach-s3c24xx/mach-jive.c | 12 ++++++------ arch/arm/mach-s3c24xx/mach-mini2440.c | 4 ++-- arch/arm/mach-s3c24xx/mach-nexcoder.c | 22 +++++++++++----------- arch/arm/mach-s3c24xx/mach-osiris.c | 7 ++++--- 5 files changed, 25 insertions(+), 23 deletions(-) diff --git a/arch/arm/mach-s3c24xx/mach-anubis.c b/arch/arm/mach-s3c24xx/mach-anubis.c index 5a7d0c0..0c7ed7a 100644 --- a/arch/arm/mach-s3c24xx/mach-anubis.c +++ b/arch/arm/mach-s3c24xx/mach-anubis.c @@ -424,7 +424,8 @@ static void __init anubis_map_io(void) anubis_nand_sets[0].nr_partitions = ARRAY_SIZE(anubis_default_nand_part_large); } else { /* ensure that the GPIO is setup */ - s3c2410_gpio_setpin(S3C2410_GPA(0), 1); + gpio_request_one(S3C2410_GPA(0), GPIOF_OUT_INIT_HIGH, NULL); + gpio_free(S3C2410_GPA(0)); } } diff --git a/arch/arm/mach-s3c24xx/mach-jive.c b/arch/arm/mach-s3c24xx/mach-jive.c index ae73ba3..4713347 100644 --- a/arch/arm/mach-s3c24xx/mach-jive.c +++ b/arch/arm/mach-s3c24xx/mach-jive.c @@ -512,8 +512,8 @@ static void jive_power_off(void) { printk(KERN_INFO "powering system down...\n"); - s3c2410_gpio_setpin(S3C2410_GPC(5), 1); - s3c_gpio_cfgpin(S3C2410_GPC(5), S3C2410_GPIO_OUTPUT); + gpio_request_one(S3C2410_GPC(5), GPIOF_OUT_INIT_HIGH, NULL); + gpio_free(S3C2410_GPC(5)); } static void __init jive_machine_init(void) @@ -623,11 +623,11 @@ static void __init jive_machine_init(void) gpio_request(S3C2410_GPB(7), "jive spi"); gpio_direction_output(S3C2410_GPB(7), 1); - s3c2410_gpio_setpin(S3C2410_GPB(6), 0); - s3c_gpio_cfgpin(S3C2410_GPB(6), S3C2410_GPIO_OUTPUT); + gpio_request_one(S3C2410_GPB(6), GPIOF_OUT_INIT_LOW, NULL); + gpio_free(S3C2410_GPB(6)); - s3c2410_gpio_setpin(S3C2410_GPG(8), 1); - s3c_gpio_cfgpin(S3C2410_GPG(8), S3C2410_GPIO_OUTPUT); + gpio_request_one(S3C2410_GPG(8), GPIOF_OUT_INIT_HIGH, NULL); + gpio_free(S3C2410_GPG(8)); /* initialise the WM8750 spi */ diff --git a/arch/arm/mach-s3c24xx/mach-mini2440.c b/arch/arm/mach-s3c24xx/mach-mini2440.c index bd6d252..734bbfe 100644 --- a/arch/arm/mach-s3c24xx/mach-mini2440.c +++ b/arch/arm/mach-s3c24xx/mach-mini2440.c @@ -638,9 +638,9 @@ static void __init mini2440_init(void) gpio_free(S3C2410_GPG(4)); /* remove pullup on optional PWM backlight -- unused on 3.5 and 7"s */ + gpio_request_one(S3C2410_GPB(1), GPIOF_IN, NULL); s3c_gpio_setpull(S3C2410_GPB(1), S3C_GPIO_PULL_UP); - s3c2410_gpio_setpin(S3C2410_GPB(1), 0); - s3c_gpio_cfgpin(S3C2410_GPB(1), S3C2410_GPIO_INPUT); + gpio_free(S3C2410_GPB(1)); /* mark the key as input, without pullups (there is one on the board) */ for (i = 0; i < ARRAY_SIZE(mini2440_buttons); i++) { diff --git a/arch/arm/mach-s3c24xx/mach-nexcoder.c b/arch/arm/mach-s3c24xx/mach-nexcoder.c index 5c05ba1..a71a551 100644 --- a/arch/arm/mach-s3c24xx/mach-nexcoder.c +++ b/arch/arm/mach-s3c24xx/mach-nexcoder.c @@ -119,17 +119,17 @@ static struct platform_device *nexcoder_devices[] __initdata = { static void __init nexcoder_sensorboard_init(void) { - // Initialize SCCB bus - s3c2410_gpio_setpin(S3C2410_GPE(14), 1); // IICSCL - s3c_gpio_cfgpin(S3C2410_GPE(14), S3C2410_GPIO_OUTPUT); - s3c2410_gpio_setpin(S3C2410_GPE(15), 1); // IICSDA - s3c_gpio_cfgpin(S3C2410_GPE(15), S3C2410_GPIO_OUTPUT); - - // Power up the sensor board - s3c2410_gpio_setpin(S3C2410_GPF(1), 1); - s3c_gpio_cfgpin(S3C2410_GPF(1), S3C2410_GPIO_OUTPUT); // CAM_GPIO7 => nLDO_PWRDN - s3c2410_gpio_setpin(S3C2410_GPF(2), 0); - s3c_gpio_cfgpin(S3C2410_GPF(2), S3C2410_GPIO_OUTPUT); // CAM_GPIO6 => CAM_PWRDN + /* Initialize SCCB bus */ + gpio_request_one(S3C2410_GPE(14), GPIOF_OUT_INIT_HIGH, NULL); + gpio_free(S3C2410_GPE(14)); /* IICSCL */ + gpio_request_one(S3C2410_GPE(15), GPIOF_OUT_INIT_HIGH, NULL); + gpio_free(S3C2410_GPE(15)); /* IICSDA */ + + /* Power up the sensor board */ + gpio_request_one(S3C2410_GPF(1), GPIOF_OUT_INIT_HIGH, NULL); + gpio_free(S3C2410_GPF(1)); /* CAM_GPIO7 => nLDO_PWRDN */ + gpio_request_one(S3C2410_GPF(2), GPIOF_OUT_INIT_LOW, NULL); + gpio_free(S3C2410_GPF(2)); /* CAM_GPIO6 => CAM_PWRDN */ } static void __init nexcoder_map_io(void) diff --git a/arch/arm/mach-s3c24xx/mach-osiris.c b/arch/arm/mach-s3c24xx/mach-osiris.c index 95d0772..c0fb3c1 100644 --- a/arch/arm/mach-s3c24xx/mach-osiris.c +++ b/arch/arm/mach-s3c24xx/mach-osiris.c @@ -274,8 +274,8 @@ static int osiris_pm_suspend(void) __raw_writeb(tmp, OSIRIS_VA_CTRL0); /* ensure that an nRESET is not generated on resume. */ - s3c2410_gpio_setpin(S3C2410_GPA(21), 1); - s3c_gpio_cfgpin(S3C2410_GPA(21), S3C2410_GPIO_OUTPUT); + gpio_request_one(S3C2410_GPA(21), GPIOF_OUT_INIT_HIGH, NULL); + gpio_free(S3C2410_GPA(21)); return 0; } @@ -396,7 +396,8 @@ static void __init osiris_map_io(void) osiris_nand_sets[0].nr_partitions = ARRAY_SIZE(osiris_default_nand_part_large); } else { /* write-protect line to the NAND */ - s3c2410_gpio_setpin(S3C2410_GPA(0), 1); + gpio_request_one(S3C2410_GPA(0), GPIOF_OUT_INIT_HIGH, NULL); + gpio_free(S3C2410_GPA(0)); } /* fix bus configuration (nBE settings wrong on ABLE pre v2.20) */ -- 1.7.4.1 ^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 2/3] ARM: S3C24XX: Remove obsolete GPIO API declarations 2012-08-25 12:20 [PATCH 0/3] Removal of obsolete s3c2410_* GPIO API Sylwester Nawrocki 2012-08-25 12:20 ` [PATCH 1/3] ARM: S3C24XX: Convert users of s3c2410_gpio_setpin to gpiolib API Sylwester Nawrocki @ 2012-08-25 12:20 ` Sylwester Nawrocki 2012-08-25 12:20 ` [PATCH 3/3] gpio-samsung: Remove now unused s3c2410_gpio* API Sylwester Nawrocki ` (2 subsequent siblings) 4 siblings, 0 replies; 13+ messages in thread From: Sylwester Nawrocki @ 2012-08-25 12:20 UTC (permalink / raw) To: linux-arm-kernel It's safe to empty the plat-samsung/incude/plat/gpio-fns.h header now when all users of those functions have been converted to generic gpiolib API or to s3c_gpio_cfg(). Cc: Ben Dooks <ben-linux@fluff.org> Signed-off-by: Sylwester Nawrocki <sylvester.nawrocki@gmail.com> --- arch/arm/plat-samsung/include/plat/gpio-fns.h | 97 ------------------------- 1 files changed, 0 insertions(+), 97 deletions(-) diff --git a/arch/arm/plat-samsung/include/plat/gpio-fns.h b/arch/arm/plat-samsung/include/plat/gpio-fns.h index bab1392..d1ecef0 100644 --- a/arch/arm/plat-samsung/include/plat/gpio-fns.h +++ b/arch/arm/plat-samsung/include/plat/gpio-fns.h @@ -1,98 +1 @@ -/* arch/arm/mach-s3c2410/include/mach/gpio-fns.h - * - * Copyright (c) 2003-2009 Simtec Electronics - * Ben Dooks <ben@simtec.co.uk> - * - * S3C2410 - hardware - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. -*/ - -#ifndef __MACH_GPIO_FNS_H -#define __MACH_GPIO_FNS_H __FILE__ - -/* These functions are in the to-be-removed category and it is strongly - * encouraged not to use these in new code. They will be marked deprecated - * very soon. - * - * Most of the functionality can be either replaced by the gpiocfg calls - * for the s3c platform or by the generic GPIOlib API. - * - * As of 2.6.35-rc, these will be removed, with the few drivers using them - * either replaced or given a wrapper until the calls can be removed. -*/ - #include <plat/gpio-cfg.h> - -static inline void s3c2410_gpio_cfgpin(unsigned int pin, unsigned int cfg) -{ - /* 1:1 mapping between cfgpin and setcfg calls at the moment */ - s3c_gpio_cfgpin(pin, cfg); -} - -/* external functions for GPIO support - * - * These allow various different clients to access the same GPIO - * registers without conflicting. If your driver only owns the entire - * GPIO register, then it is safe to ioremap/__raw_{read|write} to it. -*/ - -extern unsigned int s3c2410_gpio_getcfg(unsigned int pin); - -/* s3c2410_gpio_getirq - * - * turn the given pin number into the corresponding IRQ number - * - * returns: - * < 0 = no interrupt for this pin - * >=0 = interrupt number for the pin -*/ - -extern int s3c2410_gpio_getirq(unsigned int pin); - -/* s3c2410_gpio_irqfilter - * - * set the irq filtering on the given pin - * - * on = 0 => disable filtering - * 1 => enable filtering - * - * config = S3C2410_EINTFLT_PCLK or S3C2410_EINTFLT_EXTCLK orred with - * width of filter (0 through 63) - * - * -*/ - -extern int s3c2410_gpio_irqfilter(unsigned int pin, unsigned int on, - unsigned int config); - -/* s3c2410_gpio_pullup - * - * This call should be replaced with s3c_gpio_setpull(). - * - * As a note, there is currently no distinction between pull-up and pull-down - * in the s3c24xx series devices with only an on/off configuration. - */ - -/* s3c2410_gpio_pullup - * - * configure the pull-up control on the given pin - * - * to = 1 => disable the pull-up - * 0 => enable the pull-up - * - * eg; - * - * s3c2410_gpio_pullup(S3C2410_GPB(0), 0); - * s3c2410_gpio_pullup(S3C2410_GPE(8), 0); -*/ - -extern void s3c2410_gpio_pullup(unsigned int pin, unsigned int to); - -extern void s3c2410_gpio_setpin(unsigned int pin, unsigned int to); - -extern unsigned int s3c2410_gpio_getpin(unsigned int pin); - -#endif /* __MACH_GPIO_FNS_H */ -- 1.7.4.1 ^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 3/3] gpio-samsung: Remove now unused s3c2410_gpio* API 2012-08-25 12:20 [PATCH 0/3] Removal of obsolete s3c2410_* GPIO API Sylwester Nawrocki 2012-08-25 12:20 ` [PATCH 1/3] ARM: S3C24XX: Convert users of s3c2410_gpio_setpin to gpiolib API Sylwester Nawrocki 2012-08-25 12:20 ` [PATCH 2/3] ARM: S3C24XX: Remove obsolete GPIO API declarations Sylwester Nawrocki @ 2012-08-25 12:20 ` Sylwester Nawrocki 2012-08-27 23:33 ` [PATCH 0/3] Removal of obsolete s3c2410_* GPIO API Kukjin Kim 2012-08-28 0:13 ` [PATCH 0/3] Removal of obsolete s3c2410_* GPIO API Linus Walleij 4 siblings, 0 replies; 13+ messages in thread From: Sylwester Nawrocki @ 2012-08-25 12:20 UTC (permalink / raw) To: linux-arm-kernel There is no more users of s3c2410_gpio_pullup(), s3c2410_gpio_setpin() and s3c2410_gpio_getpin() so remove theese functions. Cc: Kukjin Kim <kgene.kim@samsung.com> Signed-off-by: Sylwester Nawrocki <sylvester.nawrocki@gmail.com> --- drivers/gpio/gpio-samsung.c | 40 ---------------------------------------- 1 files changed, 0 insertions(+), 40 deletions(-) diff --git a/drivers/gpio/gpio-samsung.c b/drivers/gpio/gpio-samsung.c index 92f7b2b..9e71340 100644 --- a/drivers/gpio/gpio-samsung.c +++ b/drivers/gpio/gpio-samsung.c @@ -3131,46 +3131,6 @@ samsung_gpio_pull_t s3c_gpio_getpull(unsigned int pin) } EXPORT_SYMBOL(s3c_gpio_getpull); -/* gpiolib wrappers until these are totally eliminated */ - -void s3c2410_gpio_pullup(unsigned int pin, unsigned int to) -{ - int ret; - - WARN_ON(to); /* should be none of these left */ - - if (!to) { - /* if pull is enabled, try first with up, and if that - * fails, try using down */ - - ret = s3c_gpio_setpull(pin, S3C_GPIO_PULL_UP); - if (ret) - s3c_gpio_setpull(pin, S3C_GPIO_PULL_DOWN); - } else { - s3c_gpio_setpull(pin, S3C_GPIO_PULL_NONE); - } -} -EXPORT_SYMBOL(s3c2410_gpio_pullup); - -void s3c2410_gpio_setpin(unsigned int pin, unsigned int to) -{ - /* do this via gpiolib until all users removed */ - - gpio_request(pin, "temporary"); - gpio_set_value(pin, to); - gpio_free(pin); -} -EXPORT_SYMBOL(s3c2410_gpio_setpin); - -unsigned int s3c2410_gpio_getpin(unsigned int pin) -{ - struct samsung_gpio_chip *chip = samsung_gpiolib_getchip(pin); - unsigned long offs = pin - chip->chip.base; - - return __raw_readl(chip->base + 0x04) & (1 << offs); -} -EXPORT_SYMBOL(s3c2410_gpio_getpin); - #ifdef CONFIG_S5P_GPIO_DRVSTR s5p_gpio_drvstr_t s5p_gpio_get_drvstr(unsigned int pin) { -- 1.7.4.1 ^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 0/3] Removal of obsolete s3c2410_* GPIO API 2012-08-25 12:20 [PATCH 0/3] Removal of obsolete s3c2410_* GPIO API Sylwester Nawrocki ` (2 preceding siblings ...) 2012-08-25 12:20 ` [PATCH 3/3] gpio-samsung: Remove now unused s3c2410_gpio* API Sylwester Nawrocki @ 2012-08-27 23:33 ` Kukjin Kim 2012-08-28 0:16 ` Linus Walleij 2012-08-28 20:13 ` Sylwester Nawrocki 2012-08-28 0:13 ` [PATCH 0/3] Removal of obsolete s3c2410_* GPIO API Linus Walleij 4 siblings, 2 replies; 13+ messages in thread From: Kukjin Kim @ 2012-08-27 23:33 UTC (permalink / raw) To: linux-arm-kernel On 08/25/12 05:20, Sylwester Nawrocki wrote: > This short patch series converts remaining users of the s3c24xx SoC > specific gpiolib functions to the gpiolib API and finally removes > all s3c2410_* functions from drivers/gpio/gpio-samsung.c. > > Sylwester Nawrocki (3): > ARM: S3C24XX: Convert users of s3c2410_gpio_setpin to gpiolib API > ARM: S3C24XX: Remove obsolete GPIO API declarations > gpio-samsung: Remove now unused s3c2410_gpio* API > > arch/arm/mach-s3c24xx/mach-anubis.c | 3 +- > arch/arm/mach-s3c24xx/mach-jive.c | 12 ++-- > arch/arm/mach-s3c24xx/mach-mini2440.c | 4 +- > arch/arm/mach-s3c24xx/mach-nexcoder.c | 22 +++--- > arch/arm/mach-s3c24xx/mach-osiris.c | 7 +- > arch/arm/plat-samsung/include/plat/gpio-fns.h | 97 ------------------------- > drivers/gpio/gpio-samsung.c | 40 ---------- > 7 files changed, 25 insertions(+), 160 deletions(-) > Nice cleanup. Accordingly, we need to sort out the 'Documentation/arm/Samsung-S3C24XX/GPIO.txt' later? Linus, this series should be sent to upstream via both trees, samsung and gpio to avoid useless merge conflicts. How do you think? Thanks. Best regards, Kgene. -- Kukjin Kim <kgene.kim@samsung.com>, Senior Engineer, SW Solution Development Team, Samsung Electronics Co., Ltd. ^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH 0/3] Removal of obsolete s3c2410_* GPIO API 2012-08-27 23:33 ` [PATCH 0/3] Removal of obsolete s3c2410_* GPIO API Kukjin Kim @ 2012-08-28 0:16 ` Linus Walleij 2012-08-28 20:13 ` Sylwester Nawrocki 1 sibling, 0 replies; 13+ messages in thread From: Linus Walleij @ 2012-08-28 0:16 UTC (permalink / raw) To: linux-arm-kernel On Mon, Aug 27, 2012 at 4:33 PM, Kukjin Kim <kgene.kim@samsung.com> wrote: > Linus, this series should be sent to upstream via both trees, samsung and > gpio to avoid useless merge conflicts. How do you think? Take it all in the Samsung tree. You just need my ACK, which you have. I don't have any big Samsung patches in my tree, just fixes that will go into the -rc:s anyway. Yours, Linus Walleij ^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH 0/3] Removal of obsolete s3c2410_* GPIO API 2012-08-27 23:33 ` [PATCH 0/3] Removal of obsolete s3c2410_* GPIO API Kukjin Kim 2012-08-28 0:16 ` Linus Walleij @ 2012-08-28 20:13 ` Sylwester Nawrocki 2012-09-02 16:24 ` [PATCH] gpio: samsung: Update documentation Sylwester Nawrocki 1 sibling, 1 reply; 13+ messages in thread From: Sylwester Nawrocki @ 2012-08-28 20:13 UTC (permalink / raw) To: linux-arm-kernel On 08/28/2012 01:33 AM, Kukjin Kim wrote: > On 08/25/12 05:20, Sylwester Nawrocki wrote: >> This short patch series converts remaining users of the s3c24xx SoC >> specific gpiolib functions to the gpiolib API and finally removes >> all s3c2410_* functions from drivers/gpio/gpio-samsung.c. >> >> Sylwester Nawrocki (3): >> ARM: S3C24XX: Convert users of s3c2410_gpio_setpin to gpiolib API >> ARM: S3C24XX: Remove obsolete GPIO API declarations >> gpio-samsung: Remove now unused s3c2410_gpio* API >> >> arch/arm/mach-s3c24xx/mach-anubis.c | 3 +- >> arch/arm/mach-s3c24xx/mach-jive.c | 12 ++-- >> arch/arm/mach-s3c24xx/mach-mini2440.c | 4 +- >> arch/arm/mach-s3c24xx/mach-nexcoder.c | 22 +++--- >> arch/arm/mach-s3c24xx/mach-osiris.c | 7 +- >> arch/arm/plat-samsung/include/plat/gpio-fns.h | 97 >> ------------------------- >> drivers/gpio/gpio-samsung.c | 40 ---------- >> 7 files changed, 25 insertions(+), 160 deletions(-) >> > > Nice cleanup. Thanks for taking care of this whole series. I thought it needs to be done as we go adding more and more new code.. For time being it is my last GPIO cleanup patch series ;) > Accordingly, we need to sort out the > 'Documentation/arm/Samsung-S3C24XX/GPIO.txt' later? Indeed, I let this out for a moment. Let me tidy this up as well, when I find some time. Thanks, Sylwester > Linus, this series should be sent to upstream via both trees, samsung > and gpio to avoid useless merge conflicts. How do you think? > > Thanks. > > Best regards, > Kgene. > -- > Kukjin Kim <kgene.kim@samsung.com>, Senior Engineer, > SW Solution Development Team, Samsung Electronics Co., Ltd. ^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH] gpio: samsung: Update documentation 2012-08-28 20:13 ` Sylwester Nawrocki @ 2012-09-02 16:24 ` Sylwester Nawrocki 2012-09-04 7:27 ` Linus Walleij 0 siblings, 1 reply; 13+ messages in thread From: Sylwester Nawrocki @ 2012-09-02 16:24 UTC (permalink / raw) To: linux-arm-kernel Update Samsung GPIO API documentation to reflect removal of the s3c24xx specific gpio API. While at it, fix some typos. The notes on conversion from s3c2410_* functions to the gpiolib API are left here just in case there is any out of tree code that still needs to be converted. Signed-off-by: Sylwester Nawrocki <sylvester.nawrocki@gmail.com> --- Documentation/arm/Samsung-S3C24XX/GPIO.txt | 82 +++++++++------------------- Documentation/arm/Samsung/GPIO.txt | 8 +-- 2 files changed, 28 insertions(+), 62 deletions(-) diff --git a/Documentation/arm/Samsung-S3C24XX/GPIO.txt b/Documentation/arm/Samsung-S3C24XX/GPIO.txt index 816d607..8b46c79 100644 --- a/Documentation/arm/Samsung-S3C24XX/GPIO.txt +++ b/Documentation/arm/Samsung-S3C24XX/GPIO.txt @@ -1,4 +1,4 @@ - S3C2410 GPIO Control + S3C24XX GPIO Control ==================== Introduction @@ -12,7 +12,7 @@ Introduction of the s3c2410 GPIO system, please read the Samsung provided data-sheet/users manual to find out the complete list. - See Documentation/arm/Samsung/GPIO.txt for the core implemetation. + See Documentation/arm/Samsung/GPIO.txt for the core implementation. GPIOLIB @@ -41,8 +41,8 @@ GPIOLIB GPIOLIB conversion ------------------ -If you need to convert your board or driver to use gpiolib from the exiting -s3c2410 api, then here are some notes on the process. +If you need to convert your board or driver to use gpiolib from the phased +out s3c2410 API, then here are some notes on the process. 1) If your board is exclusively using an GPIO, say to control peripheral power, then it will require to claim the gpio with gpio_request() before @@ -55,7 +55,7 @@ s3c2410 api, then here are some notes on the process. as they have the same arguments, and can either take the pin specific values, or the more generic special-function-number arguments. -3) s3c2410_gpio_pullup() changs have the problem that whilst the +3) s3c2410_gpio_pullup() changes have the problem that whilst the s3c2410_gpio_pullup(x, 1) can be easily translated to the s3c_gpio_setpull(x, S3C_GPIO_PULL_NONE), the s3c2410_gpio_pullup(x, 0) are not so easy. @@ -74,7 +74,7 @@ s3c2410 api, then here are some notes on the process. when using gpio_get_value() on an output pin (s3c2410_gpio_getpin would return the value the pin is supposed to be outputting). -6) s3c2410_gpio_getirq() should be directly replacable with the +6) s3c2410_gpio_getirq() should be directly replaceable with the gpio_to_irq() call. The s3c2410_gpio and gpio_ calls have always operated on the same gpio @@ -105,7 +105,7 @@ PIN Numbers ----------- Each pin has an unique number associated with it in regs-gpio.h, - eg S3C2410_GPA(0) or S3C2410_GPF(1). These defines are used to tell + e.g. S3C2410_GPA(0) or S3C2410_GPF(1). These defines are used to tell the GPIO functions which pin is to be used. With the conversion to gpiolib, there is no longer a direct conversion @@ -120,31 +120,27 @@ Configuring a pin The following function allows the configuration of a given pin to be changed. - void s3c2410_gpio_cfgpin(unsigned int pin, unsigned int function); + void s3c_gpio_cfgpin(unsigned int pin, unsigned int function); - Eg: + e.g.: - s3c2410_gpio_cfgpin(S3C2410_GPA(0), S3C2410_GPA0_ADDR0); - s3c2410_gpio_cfgpin(S3C2410_GPE(8), S3C2410_GPE8_SDDAT1); + s3c_gpio_cfgpin(S3C2410_GPA(0), S3C_GPIO_SFN(1)); + s3c_gpio_cfgpin(S3C2410_GPE(8), S3C_GPIO_SFN(2)); which would turn GPA(0) into the lowest Address line A0, and set GPE(8) to be connected to the SDIO/MMC controller's SDDAT1 line. - The s3c_gpio_cfgpin() call is a functional replacement for this call. - Reading the current configuration --------------------------------- - The current configuration of a pin can be read by using: + The current configuration of a pin can be read by using standard + gpiolib function: - s3c2410_gpio_getcfg(unsigned int pin); + s3c_gpio_getcfg(unsigned int pin); The return value will be from the same set of values which can be - passed to s3c2410_gpio_cfgpin(). - - The s3c_gpio_getcfg() call should be a functional replacement for - this call. + passed to s3c_gpio_cfgpin(). Configuring a pull-up resistor @@ -154,61 +150,33 @@ Configuring a pull-up resistor pull-up resistors enabled. This can be configured by the following function: - void s3c2410_gpio_pullup(unsigned int pin, unsigned int to); - - Where the to value is zero to set the pull-up off, and 1 to enable - the specified pull-up. Any other values are currently undefined. - - The s3c_gpio_setpull() offers similar functionality, but with the - ability to encode whether the pull is up or down. Currently there - is no 'just on' state, so up or down must be selected. - - -Getting the state of a PIN --------------------------- - - The state of a pin can be read by using the function: - - unsigned int s3c2410_gpio_getpin(unsigned int pin); + void s3c_gpio_setpull(unsigned int pin, unsigned int to); - This will return either zero or non-zero. Do not count on this - function returning 1 if the pin is set. + Where the to value is S3C_GPIO_PULL_NONE to set the pull-up off, + and S3C_GPIO_PULL_UP to enable the specified pull-up. Any other + values are currently undefined. - This call is now implemented by the relevant gpiolib calls, convert - your board or driver to use gpiolib. - - -Setting the state of a PIN --------------------------- - - The value an pin is outputing can be modified by using the following: - void s3c2410_gpio_setpin(unsigned int pin, unsigned int to); +Getting and setting the state of a PIN +-------------------------------------- - Which sets the given pin to the value. Use 0 to write 0, and 1 to - set the output to 1. - - This call is now implemented by the relevant gpiolib calls, convert + These calls are now implemented by the relevant gpiolib calls, convert your board or driver to use gpiolib. Getting the IRQ number associated with a PIN -------------------------------------------- - The following function can map the given pin number to an IRQ + A standard gpiolib function can map the given pin number to an IRQ number to pass to the IRQ system. - int s3c2410_gpio_getirq(unsigned int pin); + int gpio_to_irq(unsigned int pin); Note, not all pins have an IRQ. - This call is now implemented by the relevant gpiolib calls, convert - your board or driver to use gpiolib. - -Authour +Author ------- - Ben Dooks, 03 October 2004 Copyright 2004 Ben Dooks, Simtec Electronics diff --git a/Documentation/arm/Samsung/GPIO.txt b/Documentation/arm/Samsung/GPIO.txt index 513f256..795adfd 100644 --- a/Documentation/arm/Samsung/GPIO.txt +++ b/Documentation/arm/Samsung/GPIO.txt @@ -5,14 +5,14 @@ Introduction ------------ This outlines the Samsung GPIO implementation and the architecture -specific calls provided alongisde the drivers/gpio core. +specific calls provided alongside the drivers/gpio core. S3C24XX (Legacy) ---------------- See Documentation/arm/Samsung-S3C24XX/GPIO.txt for more information -about these devices. Their implementation is being brought into line +about these devices. Their implementation has been brought into line with the core samsung implementation described in this document. @@ -29,7 +29,7 @@ GPIO numbering is synchronised between the Samsung and gpiolib system. PIN configuration ----------------- -Pin configuration is specific to the Samsung architecutre, with each SoC +Pin configuration is specific to the Samsung architecture, with each SoC registering the necessary information for the core gpio configuration implementation to configure pins as necessary. @@ -38,5 +38,3 @@ driver or machine to change gpio configuration. See arch/arm/plat-samsung/include/plat/gpio-cfg.h for more information on these functions. - - -- 1.7.4.1 ^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH] gpio: samsung: Update documentation 2012-09-02 16:24 ` [PATCH] gpio: samsung: Update documentation Sylwester Nawrocki @ 2012-09-04 7:27 ` Linus Walleij 2012-09-04 8:15 ` Sylwester Nawrocki 0 siblings, 1 reply; 13+ messages in thread From: Linus Walleij @ 2012-09-04 7:27 UTC (permalink / raw) To: linux-arm-kernel On Sun, Sep 2, 2012 at 6:24 PM, Sylwester Nawrocki <sylvester.nawrocki@gmail.com> wrote: > Update Samsung GPIO API documentation to reflect removal of > the s3c24xx specific gpio API. While at it, fix some typos. > > The notes on conversion from s3c2410_* functions to the gpiolib > API are left here just in case there is any out of tree code that > still needs to be converted. > > Signed-off-by: Sylwester Nawrocki <sylvester.nawrocki@gmail.com> Acked-by: Linus Walleij <linus.walleij@linaro.org> Get the Samsung maintainers to apply this patch since they carry the API changes. Yours, Linus Walleij ^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH] gpio: samsung: Update documentation 2012-09-04 7:27 ` Linus Walleij @ 2012-09-04 8:15 ` Sylwester Nawrocki 2012-09-04 21:39 ` Kukjin Kim 0 siblings, 1 reply; 13+ messages in thread From: Sylwester Nawrocki @ 2012-09-04 8:15 UTC (permalink / raw) To: linux-arm-kernel On 09/04/2012 09:27 AM, Linus Walleij wrote: > On Sun, Sep 2, 2012 at 6:24 PM, Sylwester Nawrocki > <sylvester.nawrocki@gmail.com> wrote: > >> Update Samsung GPIO API documentation to reflect removal of >> the s3c24xx specific gpio API. While at it, fix some typos. >> >> The notes on conversion from s3c2410_* functions to the gpiolib >> API are left here just in case there is any out of tree code that >> still needs to be converted. >> >> Signed-off-by: Sylwester Nawrocki <sylvester.nawrocki@gmail.com> > > Acked-by: Linus Walleij <linus.walleij@linaro.org> > > Get the Samsung maintainers to apply this patch since they carry > the API changes. Thanks Linus. Kgene, this is the documentation update we talked about previously. Can you please pick this patch as well ? -- Regards, Sylwester ^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH] gpio: samsung: Update documentation 2012-09-04 8:15 ` Sylwester Nawrocki @ 2012-09-04 21:39 ` Kukjin Kim 0 siblings, 0 replies; 13+ messages in thread From: Kukjin Kim @ 2012-09-04 21:39 UTC (permalink / raw) To: linux-arm-kernel Sylwester Nawrocki wrote: > > On 09/04/2012 09:27 AM, Linus Walleij wrote: > > On Sun, Sep 2, 2012 at 6:24 PM, Sylwester Nawrocki > > <sylvester.nawrocki@gmail.com> wrote: > > > >> Update Samsung GPIO API documentation to reflect removal of > >> the s3c24xx specific gpio API. While at it, fix some typos. > >> > >> The notes on conversion from s3c2410_* functions to the gpiolib > >> API are left here just in case there is any out of tree code that > >> still needs to be converted. > >> > >> Signed-off-by: Sylwester Nawrocki <sylvester.nawrocki@gmail.com> > > > > Acked-by: Linus Walleij <linus.walleij@linaro.org> > > > > Get the Samsung maintainers to apply this patch since they carry > > the API changes. > Linus, thanks for your ack. > Thanks Linus. Kgene, this is the documentation update we talked about > previously. Can you please pick this patch as well ? > Sure, I will apply this into Samsung tree. Thanks. Best regards, Kgene. -- Kukjin Kim <kgene.kim@samsung.com>, Senior Engineer, SW Solution Development Team, Samsung Electronics Co., Ltd. ^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH 0/3] Removal of obsolete s3c2410_* GPIO API 2012-08-25 12:20 [PATCH 0/3] Removal of obsolete s3c2410_* GPIO API Sylwester Nawrocki ` (3 preceding siblings ...) 2012-08-27 23:33 ` [PATCH 0/3] Removal of obsolete s3c2410_* GPIO API Kukjin Kim @ 2012-08-28 0:13 ` Linus Walleij 2012-08-28 23:12 ` Kukjin Kim 4 siblings, 1 reply; 13+ messages in thread From: Linus Walleij @ 2012-08-28 0:13 UTC (permalink / raw) To: linux-arm-kernel On Sat, Aug 25, 2012 at 5:20 AM, Sylwester Nawrocki <sylvester.nawrocki@gmail.com> wrote: > This short patch series converts remaining users of the s3c24xx SoC > specific gpiolib functions to the gpiolib API and finally removes > all s3c2410_* functions from drivers/gpio/gpio-samsung.c. I'm fine with this as long as the Samsung maintainer is, so Acked-by: Linus Walleij <linus.walleij@linaro.org> But I suspect this will be merged through the Samsung SoC tree? Yours, Linus Walleij ^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH 0/3] Removal of obsolete s3c2410_* GPIO API 2012-08-28 0:13 ` [PATCH 0/3] Removal of obsolete s3c2410_* GPIO API Linus Walleij @ 2012-08-28 23:12 ` Kukjin Kim 0 siblings, 0 replies; 13+ messages in thread From: Kukjin Kim @ 2012-08-28 23:12 UTC (permalink / raw) To: linux-arm-kernel On 08/27/12 17:13, Linus Walleij wrote: > On Sat, Aug 25, 2012 at 5:20 AM, Sylwester Nawrocki > <sylvester.nawrocki@gmail.com> wrote: > >> This short patch series converts remaining users of the s3c24xx SoC >> specific gpiolib functions to the gpiolib API and finally removes >> all s3c2410_* functions from drivers/gpio/gpio-samsung.c. > > I'm fine with this as long as the Samsung maintainer is, so > Acked-by: Linus Walleij<linus.walleij@linaro.org> > Thanks, applied this series with your ack. > But I suspect this will be merged through the Samsung SoC tree? > Yes, then will be sent to upstream via arm-soc. If any problems, please let me know. Thanks. Best regards, Kgene. -- Kukjin Kim <kgene.kim@samsung.com>, Senior Engineer, SW Solution Development Team, Samsung Electronics Co., Ltd. ^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2012-09-04 21:39 UTC | newest] Thread overview: 13+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2012-08-25 12:20 [PATCH 0/3] Removal of obsolete s3c2410_* GPIO API Sylwester Nawrocki 2012-08-25 12:20 ` [PATCH 1/3] ARM: S3C24XX: Convert users of s3c2410_gpio_setpin to gpiolib API Sylwester Nawrocki 2012-08-25 12:20 ` [PATCH 2/3] ARM: S3C24XX: Remove obsolete GPIO API declarations Sylwester Nawrocki 2012-08-25 12:20 ` [PATCH 3/3] gpio-samsung: Remove now unused s3c2410_gpio* API Sylwester Nawrocki 2012-08-27 23:33 ` [PATCH 0/3] Removal of obsolete s3c2410_* GPIO API Kukjin Kim 2012-08-28 0:16 ` Linus Walleij 2012-08-28 20:13 ` Sylwester Nawrocki 2012-09-02 16:24 ` [PATCH] gpio: samsung: Update documentation Sylwester Nawrocki 2012-09-04 7:27 ` Linus Walleij 2012-09-04 8:15 ` Sylwester Nawrocki 2012-09-04 21:39 ` Kukjin Kim 2012-08-28 0:13 ` [PATCH 0/3] Removal of obsolete s3c2410_* GPIO API Linus Walleij 2012-08-28 23:12 ` Kukjin Kim
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).