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: 34+ 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 ` [PATCH] ARM: s3c24xx: Set ARCH_NR_GPIOS according to the selected SoC types Lars-Peter Clausen
2010-09-20 23:41 ` [PATCH] ARM: s3c2442: Setup gpio {set,get}_pull callbacks Ben Dooks
2010-09-21 5:28 ` Abdoulaye Walsimou GAYE
2010-11-06 7:54 ` [PATCH v2] " Vasily Khoruzhick
2010-11-06 16:09 ` Abdoulaye Walsimou GAYE
2010-11-08 9:08 ` Vasily Khoruzhick
2010-11-08 20:26 ` [PATCH v3] " Vasily Khoruzhick
2010-11-08 21:41 ` Abdoulaye Walsimou GAYE
2010-11-29 9:56 ` Vasily Khoruzhick
2010-11-29 10:15 ` Kukjin Kim
2010-11-29 10:26 ` [PATCH RESEND " Vasily Khoruzhick
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 12:01 ` Vasily Khoruzhick
2010-11-30 13:12 ` Lars-Peter Clausen
2010-11-30 14:33 ` Vasily Khoruzhick
2010-11-30 14:53 ` Lars-Peter Clausen
2010-11-30 15:01 ` 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 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-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 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: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 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 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
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=linux-arm-kernel@lists.infradead.org \
/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 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).