From: Guenter Roeck <guenter@roeck-us.net>
To: Robert Jarzmik <robert.jarzmik@free.fr>
Cc: Linus Walleij <linus.walleij@linaro.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"linux-gpio@vger.kernel.org" <linux-gpio@vger.kernel.org>
Subject: Re: Problems with commit a770d946371e ("gpio: pxa: add pin control gpio direction and request")
Date: Sun, 27 Mar 2016 16:02:18 -0700 [thread overview]
Message-ID: <56F8667A.1090304@roeck-us.net> (raw)
In-Reply-To: <87oa9zr7g3.fsf@belgarion.home>
On 03/27/2016 01:29 PM, Robert Jarzmik wrote:
> Guenter Roeck <guenter@roeck-us.net> writes:
>
>> Hi,
> Hi Guenter,
>
>> when trying pxa_defconfig with various pxa270 and pxa255 qemu targets, I
>> noticed that the gpio pin direction is no longer set. Bisect points to commit
>> a770d946371e ("gpio: pxa: add pin control gpio direction and request").
> This is a bug, you're perfectly right.
>
>> As it turns out, pxa_defconfig does not configure PINCTRL. As a result,
>> pinctrl stub functions are used.
> Not having PINCTRL for pxa platforms is also right : only pxa device-tree
> platforms will have pinctrl in a first stage, the legacy ones will lives for
> several cycles without pinctrl.
>
>> Those all return 0 if PINCTRL is not configured. This causes the pxa gpio
>> driver to wrongly assume that pinctrl configured the gpio pin direction, and
>> does nothing.
> And as you explain, this is the root case.
>
>> Looking into gpio-mvebu.c, its use of the pinctrl functions is completely
>> different. It aborts on error, not on success, from the pinctrl
>> functions.
>> Given that, I have no idea how to resolve the problem. Having the stub
>> functions return an error might cause the mvebu driver (and maybe others) to
>> fail if there is no pinctrl driver, so that does not seem to be an option.
> You're right, it's the inverted logic in pxa_gpio_direction_output() which is at
> fault, ie. the commit you pointed out.
>
>> If the idea is to mandate pinctrl for PXA architectures, it should probably be
>> enabled for those architectures. Unless I am missing something, PXA
>> architectures to not select PINCTRL, which suggests that the problem may
>> affect a wide range of systems. Please have a look.
> As I said above, selecting PINCTRL is not yet an option. But fixing gpio-pxa is
> a necessity for sure. It is beyond me how this can pass through my
> non-regression Jenkins ... oh wait, I found :
> - pxa machine files still use the old "mfp" stuff
> - in this mfp (arch/arm/mach-pxa/mfp-pxa[23]xxx.c", GPDR is directly accessed
>
> But no more poor excuses, would you try the patch at the end of this mail, while
> I'm doing the same on my Jenkins, on both device-tree and legacy platform-data
> builds, to see if we can fix this ?
Your patch fixes the problem. Feel free to add
Tested-by: Guenter Roeck <linux@roeck-us.net>
when you submit it for real.
Thanks,
Guenter
next prev parent reply other threads:[~2016-03-27 23:02 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-03-27 1:01 Problems with commit a770d946371e ("gpio: pxa: add pin control gpio direction and request") Guenter Roeck
2016-03-27 20:29 ` Robert Jarzmik
2016-03-27 20:29 ` Robert Jarzmik
2016-03-27 23:02 ` Guenter Roeck [this message]
2016-04-07 14:51 ` Guenter Roeck
2016-04-07 18:20 ` Robert Jarzmik
2016-04-07 18:20 ` Robert Jarzmik
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=56F8667A.1090304@roeck-us.net \
--to=guenter@roeck-us.net \
--cc=linus.walleij@linaro.org \
--cc=linux-gpio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=robert.jarzmik@free.fr \
/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.