From: grinberg@compulab.co.il (Igor Grinberg)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH] ARM: pxa: mfp: Force gpio direction for MFP_LPM_KEEP_OUTPUT
Date: Sun, 01 Apr 2012 12:15:01 +0300 [thread overview]
Message-ID: <4F781C95.5000004@compulab.co.il> (raw)
In-Reply-To: <1333196437.11228.YahooMailClassic@web29011.mail.ird.yahoo.com>
Hi Paul,
On 03/31/12 15:20, Paul Parsons wrote:
> Some MFP configurations specify MFP_LPM_KEEP_OUTPUT to preserve the gpio output
> value (HIGH or LOW) during sleep mode. For example:
>
> GPIO72_GPIO | MFP_LPM_KEEP_OUTPUT,
>
> Unfortunately MFP_LPM_KEEP_OUTPUT makes no special provision for setting the
> sleep mode gpio direction, unlike MFP_LPM_DRIVE_HIGH and MFP_LPM_DRIVE_LOW.
> Consequently MFP configurations of the form:
>
> GPIO<n>_GPIO | MFP_LPM_KEEP_OUTPUT,
>
> will set the sleep mode gpio direction to INPUT.
>
> This patch forces the sleep mode gpio direction to OUTPUT in cases where
> MFP_LPM_KEEP_OUTPUT was specified. This brings MFP_LPM_KEEP_OUTPUT into line
> with MFP_LPM_DRIVE_HIGH and MFP_LPM_DRIVE_LOW.
>
> Signed-off-by: Paul Parsons <lost.distance@yahoo.com>
> ---
>
> diff --git a/arch/arm/mach-pxa/mfp-pxa2xx.c b/arch/arm/mach-pxa/mfp-pxa2xx.c
> index b0a8428..3b443199 100644
> --- a/arch/arm/mach-pxa/mfp-pxa2xx.c
> +++ b/arch/arm/mach-pxa/mfp-pxa2xx.c
> @@ -96,6 +96,9 @@ static int __mfp_config_gpio(unsigned gpio, unsigned long c)
> break;
> }
>
> + if (c & MFP_LPM_KEEP_OUTPUT)
> + is_out = 1;
> +
MFP_LPM_KEEP_OUTPUT does not meant to be used to setup the mfp config,
but for pins that have been configured for output by gpio_direction_out().
(Hint: *_KEEP_*).
Also, I don't think this is a good idea, because the patch allows a pin
be configured as output, but does not forces a value (high/low)
and this is not safe.
Why can't you use:
GPIO<n>_GPIO | MFP_LPM_DRIVE_<level>
?
> if (is_out ^ gpio_desc[gpio].dir_inverted)
> gpdr_lpm[bank] |= mask;
> else
--
Regards,
Igor.
next prev parent reply other threads:[~2012-04-01 9:15 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-03-31 12:20 [PATCH] ARM: pxa: mfp: Force gpio direction for MFP_LPM_KEEP_OUTPUT Paul Parsons
2012-04-01 9:15 ` Igor Grinberg [this message]
2012-04-01 10:56 ` Paul Parsons
2012-04-01 12:23 ` Igor Grinberg
2012-04-01 17:56 ` Paul Parsons
2012-04-02 8:39 ` Igor Grinberg
2012-04-02 11:30 ` Paul Parsons
2012-04-02 12:44 ` Igor Grinberg
2012-04-02 13:33 ` Paul Parsons
2012-04-02 14:58 ` Haojian Zhuang
2012-04-02 15:34 ` Paul Parsons
2012-04-03 8:48 ` Igor Grinberg
2012-04-03 8:01 ` Igor Grinberg
2012-04-03 12:30 ` Paul Parsons
2012-04-03 14:42 ` Igor Grinberg
2012-04-03 15:08 ` Igor Grinberg
2012-04-03 16:26 ` Paul Parsons
2012-04-12 10:59 ` Igor Grinberg
2012-04-04 1:00 ` Paul Parsons
2012-04-03 23:55 ` Paul Parsons
2012-04-05 8:16 ` Igor Grinberg
2012-04-05 11:15 ` Paul Parsons
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=4F781C95.5000004@compulab.co.il \
--to=grinberg@compulab.co.il \
--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 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.