From: Tomasz Figa <tomasz.figa@gmail.com>
To: Linus Walleij <linus.walleij@linaro.org>
Cc: "Heiko Stübner" <heiko@sntech.de>,
"Wolfram Sang" <wsa@the-dreams.de>,
linux-kernel@vger.kernel.org,
"Kukjin Kim" <kgene.kim@samsung.com>,
linux-arm-kernel@lists.infradead.org,
linux-samsung-soc@vger.kernel.org, linux-i2c@vger.kernel.org,
"Tomasz Figa" <t.figa@samsung.com>
Subject: Re: [PATCH] i2c: s3c2410: check for NULL pinctrl handle
Date: Sun, 24 Feb 2013 01:38:26 +0100 [thread overview]
Message-ID: <5027662.bpQdq7jhyn@flatron> (raw)
In-Reply-To: <CACRpkdbV-CznfnbCbKkKpndjiG32V9yNdrF1F7M=4qe1EUroGA@mail.gmail.com>
Hi Linus,
On Sunday 24 of February 2013 01:16:21 Linus Walleij wrote:
> On Sat, Feb 23, 2013 at 6:57 PM, Heiko Stübner <heiko@sntech.de> wrote:
> > When pinctrl is not built the fallback functions fail silently
> > and emit either 0 error codes or NULL pinctrl handles.
> >
> > Therefore it's needed to also check for this NULL-handle when
> > falling back to parsing the i2c gpios from devicetree.
> >
> > Signed-off-by: Heiko Stuebner <heiko@sntech.de>
>
> NAK.
>
> This is not the right solution for this driver.
>
> It uses pinctrl in a very simplistic way, just grabbing the
> default handler.
>
> After commit
> ab78029ecc347debbd737f06688d788bd9d60c1d:
> "drivers/pinctrl: grab default handles from device core"
>
> The right solution is to simply revert commit
> 2693ac69880a33d4d9df6f128415b65e745f00ba
> "i2c: s3c2410: Add support for pinctrl"
>
> Tomasz are you OK with this, or will you add more
> fine-grained pinctrl (like runtime PM etc) to this driver?
Yes, I'm fine. However reverting this patch will not solve the problem
completely.
There are 3 methods of pin configuration that has to be supported by this
driver (and several other drivers):
1) cfg_gpio callback passed in platform data,
2) legacy Samsung GPIO bindings (to be dropped ASAP),
3) pin control.
Each supported platform will support only one of these methods at the same
time.
The first one is already handled correctly because it is always used
wherever it is available. The problem is with the remaining two.
The driver must know whether pin control is available, because it has to
fall back to legacy GPIO-based pin configuration if it is not. This means
that we must either check for NULL (which probably is not right, since
returned handle is considered to be opaque) or pin control core must
return an error code specific to this situation, e.g. -ENODEV.
Keep in mind that there is no way to check whether method 2) succeeded,
because all it does is parsing GPIOs from device tree, assuming that the
custom xlate function of the old Samsung GPIO driver would do all the
configuration.
I do not see another solution of this problem. Feel free to suggest
anything better.
Best regards,
Tomasz
next prev parent reply other threads:[~2013-02-24 0:38 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-02-23 17:55 [PATCH] pinctrl or i2c-s3c2410: fix pinctrl NULL return values in stubs Heiko Stübner
2013-02-23 17:56 ` [PATCH] pinctrl: return real error codes when pinctrl is not included Heiko Stübner
2013-02-24 0:40 ` Linus Walleij
2013-02-24 22:34 ` Heiko Stübner
2013-02-24 22:42 ` Linus Walleij
2013-02-24 23:15 ` Heiko Stübner
2013-02-23 17:57 ` [PATCH] i2c: s3c2410: check for NULL pinctrl handle Heiko Stübner
2013-02-24 0:16 ` Linus Walleij
2013-02-24 0:38 ` Tomasz Figa [this message]
2013-02-24 0:47 ` Linus Walleij
2013-02-24 0:58 ` Tomasz Figa
2013-02-24 1:01 ` Linus Walleij
2013-02-24 17:00 ` Tomasz Figa
2013-02-24 22:39 ` Linus Walleij
2013-02-24 23:16 ` Heiko Stübner
2013-02-25 0:02 ` Tomasz Figa
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=5027662.bpQdq7jhyn@flatron \
--to=tomasz.figa@gmail.com \
--cc=heiko@sntech.de \
--cc=kgene.kim@samsung.com \
--cc=linus.walleij@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-i2c@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-samsung-soc@vger.kernel.org \
--cc=t.figa@samsung.com \
--cc=wsa@the-dreams.de \
/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