linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: anarsoul@gmail.com (Vasily Khoruzhick)
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 22:05:24 +0200	[thread overview]
Message-ID: <201011302205.24839.anarsoul@gmail.com> (raw)
In-Reply-To: <4CF55785.5090403@metafoo.de>

On Tuesday 30 November 2010 21:59:01 Lars-Peter Clausen wrote:
> 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

You're right. Btw, can you test this patch on your s3c24xx-machine?

> >  		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

Regards
Vasily

  reply	other threads:[~2010-11-30 20:05 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                           ` [PATCH v4] ARM: s3c244x: Fix mess with gpio {set, get}_pull callbacks Lars-Peter Clausen
2010-11-30 20:05                             ` Vasily Khoruzhick [this message]
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=201011302205.24839.anarsoul@gmail.com \
    --to=anarsoul@gmail.com \
    --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).