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:58:35 +0100 [thread overview]
Message-ID: <31669750.ZZOiY1AEPv@flatron> (raw)
In-Reply-To: <CACRpkdaFv=V8M_Ztb5-hrYm6YnXiG6fg6Z13y3NVFdszBk=7ZQ@mail.gmail.com>
On Sunday 24 of February 2013 01:47:49 Linus Walleij wrote:
> On Sun, Feb 24, 2013 at 1:38 AM, Tomasz Figa <tomasz.figa@gmail.com>
wrote:
> > 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.
> OK so pass a flag like a bool in your platform data from the
> machine like go into <linux/platform_data/i2c-s3c2410.h>
> and add:
>
> struct s3c2410_platform_i2c {
> bool use_that_old_gpio_interface;
> (...)
> };
>
> Instead of trying to semi-guess if the pinctrl framework is there?
>
> Surely you know this when setting up the pdata from your machine?
Cases 2) and 3) are both DT-enabled cases, where there is no pdata coming
from board-specific code.
In case of this particular driver, a check for presence of "gpios"
property will be enough, because this driver does not use GPIO pins
normally - they are just used for pin configuration, when legacy method
has to be used.
However it will not work in case of drivers that also need some GPIO pins
unrelated to the pins that have to be configured to dedicated functions.
Note that we are talking here about a temporary solution. The legacy DT-
based pin configuration will go away after all the DT-enabled platforms
using this driver get migrated to pin control and so will the need to
check if pin control is available.
Best regards,
Tomasz
next prev parent reply other threads:[~2013-02-24 0:58 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
2013-02-24 0:47 ` Linus Walleij
2013-02-24 0:58 ` Tomasz Figa [this message]
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=31669750.ZZOiY1AEPv@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