From: Lars-Peter Clausen <lars@metafoo.de>
To: Vasily Khoruzhick <anarsoul@gmail.com>
Cc: Kukjin Kim <kgene.kim@samsung.com>,
Ben Dooks <ben-linux@fluff.org>,
Russell King <linux@arm.linux.org.uk>,
linux-samsung-soc@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
Abdoulaye Walsimou GAYE <awg@embtoolkit.org>
Subject: Re: [PATCH v4] ARM: s3c244x: Fix mess with gpio {set,get}_pull callbacks
Date: Tue, 30 Nov 2010 20:59:01 +0100 [thread overview]
Message-ID: <4CF55785.5090403@metafoo.de> (raw)
In-Reply-To: <1291146383-16215-1-git-send-email-anarsoul@gmail.com>
On 11/30/2010 08:46 PM, Vasily Khoruzhick wrote:
> Currently the {set,get}_pull callbacks of the s3c24xx_gpiocfg_default structure
> are initalized via s3c_gpio_{get,set}pull_1up. This results in a linker
> error when only CONFIG_CPU_S3C2442 is selected:
>
> arch/arm/plat-s3c24xx/built-in.o:(.data+0x13f4): undefined reference to
> `s3c_gpio_getpull_1up'
> arch/arm/plat-s3c24xx/built-in.o:(.data+0x13f8): undefined reference to
> `s3c_gpio_setpull_1up'
>
> The s3c2442 has pulldowns instead of pullups compared to the s3c2440.
> The method of controlling them is the same though.
> So this patch modifies the existing s3c_gpio_{get,set}pull_1up helper functions
> to take an additional parameter deciding whether the pin has a pullup or pulldown.
> The s3c_gpio_{get,set}pull_1{down,up} functions then wrap that functions passing
> either S3C_GPIO_PULL_UP or S3C_GPIO_PULL_DOWN.
>
> Furthermore this patch sets up the s3c24xx_gpiocfg_default.{get,set}_pull fields
> in the s3c244{0,2}_map_io function to the new pulldown helper functions.
>
> Based on patch from "Lars-Peter Clausen" <lars@metafoo.de>
>
> Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
> ---
> v2: adapt patch for 2.6.37-rc1
> v3: restore default pull callbacks, add default pull callbacks for s3c2442
> v4: remove default pull callbacks, set them in per-soc map_io function instead.
> arch/arm/mach-s3c2440/Kconfig | 1 +
> arch/arm/mach-s3c2440/s3c2440.c | 11 ++++-
> arch/arm/mach-s3c2440/s3c2442.c | 14 ++++++
> arch/arm/plat-s3c24xx/cpu.c | 8 ++--
> arch/arm/plat-s3c24xx/gpiolib.c | 2 -
> arch/arm/plat-s3c24xx/include/plat/s3c244x.h | 7 +++-
> arch/arm/plat-samsung/gpio-config.c | 45 ++++++++++++++++----
> .../plat-samsung/include/plat/gpio-cfg-helpers.h | 11 +++++
> 8 files changed, 80 insertions(+), 19 deletions(-)
>
> ...
>
> +static int s3c_gpio_setpull_1(struct s3c_gpio_chip *chip,
> + unsigned int off, s3c_gpio_pull_t pull,
> + s3c_gpio_pull_t updown)
> {
> void __iomem *reg = chip->base + 0x08;
> u32 pup = __raw_readl(reg);
>
> - pup = __raw_readl(reg);
> -
> - if (pup == S3C_GPIO_PULL_UP)
> + if (pup == updown)
This should be pull == updown, otherwise looks fine to me
> pup &= ~(1 << off);
> else if (pup == S3C_GPIO_PULL_NONE)
> pup |= (1 << off);
> @@ -300,17 +299,45 @@ int s3c_gpio_setpull_1up(struct s3c_gpio_chip *chip,
> return 0;
> }
- Lars
WARNING: multiple messages have this Message-ID (diff)
From: lars@metafoo.de (Lars-Peter Clausen)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v4] ARM: s3c244x: Fix mess with gpio {set, get}_pull callbacks
Date: Tue, 30 Nov 2010 20:59:01 +0100 [thread overview]
Message-ID: <4CF55785.5090403@metafoo.de> (raw)
In-Reply-To: <1291146383-16215-1-git-send-email-anarsoul@gmail.com>
On 11/30/2010 08:46 PM, Vasily Khoruzhick wrote:
> Currently the {set,get}_pull callbacks of the s3c24xx_gpiocfg_default structure
> are initalized via s3c_gpio_{get,set}pull_1up. This results in a linker
> error when only CONFIG_CPU_S3C2442 is selected:
>
> arch/arm/plat-s3c24xx/built-in.o:(.data+0x13f4): undefined reference to
> `s3c_gpio_getpull_1up'
> arch/arm/plat-s3c24xx/built-in.o:(.data+0x13f8): undefined reference to
> `s3c_gpio_setpull_1up'
>
> The s3c2442 has pulldowns instead of pullups compared to the s3c2440.
> The method of controlling them is the same though.
> So this patch modifies the existing s3c_gpio_{get,set}pull_1up helper functions
> to take an additional parameter deciding whether the pin has a pullup or pulldown.
> The s3c_gpio_{get,set}pull_1{down,up} functions then wrap that functions passing
> either S3C_GPIO_PULL_UP or S3C_GPIO_PULL_DOWN.
>
> Furthermore this patch sets up the s3c24xx_gpiocfg_default.{get,set}_pull fields
> in the s3c244{0,2}_map_io function to the new pulldown helper functions.
>
> Based on patch from "Lars-Peter Clausen" <lars@metafoo.de>
>
> Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
> ---
> v2: adapt patch for 2.6.37-rc1
> v3: restore default pull callbacks, add default pull callbacks for s3c2442
> v4: remove default pull callbacks, set them in per-soc map_io function instead.
> arch/arm/mach-s3c2440/Kconfig | 1 +
> arch/arm/mach-s3c2440/s3c2440.c | 11 ++++-
> arch/arm/mach-s3c2440/s3c2442.c | 14 ++++++
> arch/arm/plat-s3c24xx/cpu.c | 8 ++--
> arch/arm/plat-s3c24xx/gpiolib.c | 2 -
> arch/arm/plat-s3c24xx/include/plat/s3c244x.h | 7 +++-
> arch/arm/plat-samsung/gpio-config.c | 45 ++++++++++++++++----
> .../plat-samsung/include/plat/gpio-cfg-helpers.h | 11 +++++
> 8 files changed, 80 insertions(+), 19 deletions(-)
>
> ...
>
> +static int s3c_gpio_setpull_1(struct s3c_gpio_chip *chip,
> + unsigned int off, s3c_gpio_pull_t pull,
> + s3c_gpio_pull_t updown)
> {
> void __iomem *reg = chip->base + 0x08;
> u32 pup = __raw_readl(reg);
>
> - pup = __raw_readl(reg);
> -
> - if (pup == S3C_GPIO_PULL_UP)
> + if (pup == updown)
This should be pull == updown, otherwise looks fine to me
> pup &= ~(1 << off);
> else if (pup == S3C_GPIO_PULL_NONE)
> pup |= (1 << off);
> @@ -300,17 +299,45 @@ int s3c_gpio_setpull_1up(struct s3c_gpio_chip *chip,
> return 0;
> }
- Lars
next prev parent reply other threads:[~2010-11-30 19:59 UTC|newest]
Thread overview: 65+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-09-20 22:00 [PATCH] ARM: s3c2442: Setup gpio {set,get}_pull callbacks Lars-Peter Clausen
2010-09-20 22:00 ` Lars-Peter Clausen
2010-09-20 22:00 ` [PATCH] ARM: s3c24xx: Set ARCH_NR_GPIOS according to the selected SoC types Lars-Peter Clausen
2010-09-20 22:00 ` Lars-Peter Clausen
2010-09-20 23:41 ` [PATCH] ARM: s3c2442: Setup gpio {set,get}_pull callbacks Ben Dooks
2010-09-20 23:41 ` Ben Dooks
2010-09-21 5:28 ` Abdoulaye Walsimou GAYE
2010-09-21 5:28 ` Abdoulaye Walsimou GAYE
2010-11-06 7:54 ` [PATCH v2] " Vasily Khoruzhick
2010-11-06 7:54 ` Vasily Khoruzhick
2010-11-06 16:09 ` Abdoulaye Walsimou GAYE
2010-11-08 9:08 ` Vasily Khoruzhick
2010-11-08 9:08 ` Vasily Khoruzhick
2010-11-08 20:26 ` [PATCH v3] " Vasily Khoruzhick
2010-11-08 20:26 ` Vasily Khoruzhick
2010-11-08 21:41 ` Abdoulaye Walsimou GAYE
2010-11-08 21:41 ` Abdoulaye Walsimou GAYE
2010-11-29 9:56 ` Vasily Khoruzhick
2010-11-29 9:56 ` Vasily Khoruzhick
2010-11-29 10:15 ` Kukjin Kim
2010-11-29 10:15 ` Kukjin Kim
2010-11-29 10:26 ` [PATCH RESEND " Vasily Khoruzhick
2010-11-29 10:26 ` Vasily Khoruzhick
2010-11-30 6:18 ` Kukjin Kim
2010-11-30 6:18 ` [PATCH RESEND v3] ARM: s3c2442: Setup gpio {set, get}_pull callbacks Kukjin Kim
2010-11-30 11:53 ` Lars-Peter Clausen
2010-11-30 11:53 ` Lars-Peter Clausen
2010-11-30 12:01 ` Vasily Khoruzhick
2010-11-30 12:01 ` Vasily Khoruzhick
2010-11-30 13:12 ` [PATCH RESEND v3] ARM: s3c2442: Setup gpio {set,get}_pull callbacks Lars-Peter Clausen
2010-11-30 13:12 ` [PATCH RESEND v3] ARM: s3c2442: Setup gpio {set, get}_pull callbacks Lars-Peter Clausen
2010-11-30 14:33 ` [PATCH RESEND v3] ARM: s3c2442: Setup gpio {set,get}_pull callbacks Vasily Khoruzhick
2010-11-30 14:33 ` [PATCH RESEND v3] ARM: s3c2442: Setup gpio {set, get}_pull callbacks Vasily Khoruzhick
2010-11-30 14:53 ` [PATCH RESEND v3] ARM: s3c2442: Setup gpio {set,get}_pull callbacks Lars-Peter Clausen
2010-11-30 14:53 ` [PATCH RESEND v3] ARM: s3c2442: Setup gpio {set, get}_pull callbacks Lars-Peter Clausen
2010-11-30 15:01 ` [PATCH RESEND v3] ARM: s3c2442: Setup gpio {set,get}_pull callbacks Vasily Khoruzhick
2010-11-30 15:01 ` [PATCH RESEND v3] ARM: s3c2442: Setup gpio {set, get}_pull callbacks Vasily Khoruzhick
2010-11-30 19:46 ` [PATCH v4] ARM: s3c244x: Fix mess with gpio {set,get}_pull callbacks Vasily Khoruzhick
2010-11-30 19:59 ` Lars-Peter Clausen [this message]
2010-11-30 19:59 ` [PATCH v4] ARM: s3c244x: Fix mess with gpio {set, get}_pull callbacks Lars-Peter Clausen
2010-11-30 20:05 ` [PATCH v4] ARM: s3c244x: Fix mess with gpio {set,get}_pull callbacks Vasily Khoruzhick
2010-11-30 20:05 ` [PATCH v4] ARM: s3c244x: Fix mess with gpio {set, get}_pull callbacks Vasily Khoruzhick
2010-11-30 20:12 ` [PATCH v5] ARM: s3c244x: Fix mess with gpio {set,get}_pull callbacks Vasily Khoruzhick
2010-11-30 20:12 ` Vasily Khoruzhick
2010-12-01 0:22 ` [PATCH v5] ARM: s3c244x: Fix mess with gpio {set, get}_pull callbacks Ben Dooks
2010-12-03 9:40 ` Kukjin Kim
2010-12-01 7:26 ` [PATCH v5] ARM: s3c244x: Fix mess with gpio {set,get}_pull callbacks Kukjin Kim
2010-12-01 7:26 ` Kukjin Kim
2010-12-01 10:17 ` Vasily Khoruzhick
2010-12-01 10:17 ` [PATCH v5] ARM: s3c244x: Fix mess with gpio {set, get}_pull callbacks Vasily Khoruzhick
2010-12-01 12:05 ` [PATCH v5] ARM: s3c244x: Fix mess with gpio {set,get}_pull callbacks Kukjin Kim
2010-12-01 12:05 ` Kukjin Kim
2010-12-01 12:16 ` Vasily Khoruzhick
2010-12-01 12:16 ` [PATCH v5] ARM: s3c244x: Fix mess with gpio {set, get}_pull callbacks Vasily Khoruzhick
2010-12-01 5:28 ` [PATCH v4] ARM: s3c244x: Fix mess with gpio {set,get}_pull callbacks Kukjin Kim
2010-12-01 5:28 ` Kukjin Kim
2010-12-01 6:19 ` Vasily Khoruzhick
2010-12-01 6:19 ` [PATCH v4] ARM: s3c244x: Fix mess with gpio {set, get}_pull callbacks Vasily Khoruzhick
2010-12-01 6:29 ` [PATCH v6] ARM: s3c244x: Fix mess with gpio {set,get}_pull callbacks Vasily Khoruzhick
2010-12-01 6:29 ` Vasily Khoruzhick
2010-11-30 19:46 ` [PATCH v4] " Vasily Khoruzhick
2010-12-01 5:19 ` [PATCH RESEND v3] ARM: s3c2442: Setup " Kukjin Kim
2010-12-01 5:19 ` [PATCH RESEND v3] ARM: s3c2442: Setup gpio {set, get}_pull callbacks Kukjin Kim
2010-11-29 10:28 ` [PATCH v3] ARM: s3c2442: Setup gpio {set,get}_pull callbacks Vasily Khoruzhick
2010-11-29 10:28 ` Vasily Khoruzhick
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4CF55785.5090403@metafoo.de \
--to=lars@metafoo.de \
--cc=anarsoul@gmail.com \
--cc=awg@embtoolkit.org \
--cc=ben-linux@fluff.org \
--cc=kgene.kim@samsung.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-samsung-soc@vger.kernel.org \
--cc=linux@arm.linux.org.uk \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.