From: Grant Likely <grant.likely@secretlab.ca>
To: Lars Poeschel <poeschel@lemonage.de>
Cc: Linus Walleij <linus.walleij@linaro.org>,
Lars Poeschel <larsi@wh2.tu-dresden.de>,
rob.herring@calxeda.com, rob@landley.net,
devicetree-discuss@lists.ozlabs.org, linux-doc@vger.kernel.org,
linux-kernel@vger.kernel.org,
spi-devel-general@lists.sourceforge.net, w.sang@pengutronix.de,
ben-linux@fluff.org, linux-i2c@vger.kernel.org
Subject: Re: [PATCH RFC 1/1] gpio: mcp23s08: convert driver to DT
Date: Sat, 09 Feb 2013 14:24:04 +0000 [thread overview]
Message-ID: <20130209142404.698303E30EC@localhost> (raw)
In-Reply-To: <201302061031.04264.poeschel@lemonage.de>
On Wed, 6 Feb 2013 10:31:04 +0100, Lars Poeschel <poeschel@lemonage.de> wrote:
> On Tuesday 05 February 2013 at 15:29:09, Grant Likely wrote:
> > On Thu, 31 Jan 2013 21:51:36 +0100, Linus Walleij
> <linus.walleij@linaro.org> wrote:
> > > On Thu, Jan 31, 2013 at 4:58 PM, Lars Poeschel <larsi@wh2.tu-dresden.de>
> wrote:
> > > > --- /dev/null
> > > > +++ b/Documentation/devicetree/bindings/gpio/gpio-mcp23s08.txt
> > > > @@ -0,0 +1,27 @@
> > > > +Microchip MCP2308/MCP23S08/MCP23017/MCP23S17 driver for
> > > > +8-/16-bit I/O expander with serial interface (I2C/SPI)
> > > > +
> > > > +Required properties:
> > > > +- compatible : Should be "mcp,mcp23s08-gpio", "mcp,mcp23s17-gpio",
> > > > + "mcp,mcp23008-gpio" or "mcp,mcp23017-gpio"
> > > > +- base : The first gpio number that should be assigned by this chip.
> > >
> > > No. We do not tie the global GPIO numbers into the device tree.
> > >
> > > In the DT GPIOs are referenced by ampersand <&gpio0 1 2>
> > > notation referring to the instance, so as you realize DT itself
> > > has no need for that number.
> > >
> > > Further it is not OS-neutral.
> > >
> > > You have to find another way to handle this in the driver code.
> > > In worst case: use AUXDATA.
> >
> > Hi Lars,
> >
> > The trick is to declare the io expander to be a "gpio-controller" and
> > use the #gpio-cells property to declare how many cells (32-bit numbers)
> > are need to specify a single gpio line. Most gpio controllers use
> > "gpio-cells=<2>"; The first cell is the *controller local* gpio
> > number, and the second cell is used for flags. That way your gpio
> > controller can be referenced by other nodes in the tree with a "gpios"
> > property.
> >
> > You can find lots of examples of this in the tree.
>
> Linus, Grant, thanks for the explanations. I think I have catched where it
> should go.
> The thing that confused me was, that the platform_data for the chip has a
> mandatory "base" member, that sets the linux global gpio number at which the
> chip should appear. A value of -1 for automatic assigning gpio number is not
> allowed, the chip will not probe.
> I have to change the driver to allow at least this -1 as an additional value.
> As Linus pointed out, it is not desirable to set the global gpio base number
> from device tree, right ? If I have 3 instances of this chips then, how can
> userspace sw distinguish then to which one it is talking ?
You look in sysfs to find the chip you are interested in. That is the
place to find out how dynamic numbers have been assigned.
g.
prev parent reply other threads:[~2013-02-09 14:24 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-01-31 15:58 [PATCH RFC 0/1] Convert mcp23s08 to DT usage Lars Poeschel
2013-01-31 15:58 ` [PATCH RFC 1/1] gpio: mcp23s08: convert driver to DT Lars Poeschel
2013-01-31 20:51 ` Linus Walleij
2013-02-05 14:29 ` Grant Likely
2013-02-06 9:31 ` Lars Poeschel
2013-02-06 9:37 ` Linus Walleij
2013-02-09 14:24 ` Grant Likely [this message]
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=20130209142404.698303E30EC@localhost \
--to=grant.likely@secretlab.ca \
--cc=ben-linux@fluff.org \
--cc=devicetree-discuss@lists.ozlabs.org \
--cc=larsi@wh2.tu-dresden.de \
--cc=linus.walleij@linaro.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-i2c@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=poeschel@lemonage.de \
--cc=rob.herring@calxeda.com \
--cc=rob@landley.net \
--cc=spi-devel-general@lists.sourceforge.net \
--cc=w.sang@pengutronix.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;
as well as URLs for NNTP newsgroup(s).