All of lore.kernel.org
 help / color / mirror / Atom feed
From: arnd@arndb.de (Arnd Bergmann)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 13/14] ARM: ux500: enable AB8500 GPIO for HREF
Date: Thu, 7 Feb 2013 08:30:22 +0000	[thread overview]
Message-ID: <201302070830.22719.arnd@arndb.de> (raw)
In-Reply-To: <5112F284.3040002@wwwdotorg.org>

On Thursday 07 February 2013, Stephen Warren wrote:
> On 02/05/2013 12:48 PM, Linus Walleij wrote:
> > From: Lee Jones <lee.jones@linaro.org>
> > 
> > The AB8500 GPIO driver has been un-BROKEN and rewritten as a pinctrl
> > driver. Now that it's back in use, let's ensure that it's available
> > when booting HREF with Device Tree enabled.
> 
> > diff --git a/arch/arm/boot/dts/hrefprev60.dts b/arch/arm/boot/dts/hrefprev60.dts
> 
> >       soc-u9500 {
> > +             prcmu at 80157000 {
> > +                     ab8500 at 5 {
> > +                             ab8500-gpio {
> > +                                     compatible = "stericsson,ab8500-gpio";
> 
> The MFDs I've looked at (which admittedly might not be that many) all
> have the top-level chip described in device tree, but not all the
> component sub-devices, since they're all a static part of the top-level
> chip. Instead, the top-level MFD instantiates all the sub-devices
> itself. I'm curious why this MFD device works differently - do many work
> like this?

I think in general, describing only the top level in DT is preferred.
However, that does not work if you have devices outside of the MFD
refer to devices inside of it, such as GPIO, clocks or interrupts:

In order to connect a button or an LED to this GPIO controller
in DT, you need to have a node you can refer to that follows the
GPIO binding. Putting all of that into the top-level device
would get messy here.

	Arnd

WARNING: multiple messages have this Message-ID (diff)
From: Arnd Bergmann <arnd@arndb.de>
To: Stephen Warren <swarren@wwwdotorg.org>
Cc: Linus Walleij <linus.walleij@stericsson.com>,
	linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	Stephen Warren <swarren@nvidia.com>,
	Anmar Oueja <anmar.oueja@linaro.org>,
	Lee Jones <lee.jones@linaro.org>,
	arm@kernel.org, Linus Walleij <linus.walleij@linaro.org>
Subject: Re: [PATCH 13/14] ARM: ux500: enable AB8500 GPIO for HREF
Date: Thu, 7 Feb 2013 08:30:22 +0000	[thread overview]
Message-ID: <201302070830.22719.arnd@arndb.de> (raw)
In-Reply-To: <5112F284.3040002@wwwdotorg.org>

On Thursday 07 February 2013, Stephen Warren wrote:
> On 02/05/2013 12:48 PM, Linus Walleij wrote:
> > From: Lee Jones <lee.jones@linaro.org>
> > 
> > The AB8500 GPIO driver has been un-BROKEN and rewritten as a pinctrl
> > driver. Now that it's back in use, let's ensure that it's available
> > when booting HREF with Device Tree enabled.
> 
> > diff --git a/arch/arm/boot/dts/hrefprev60.dts b/arch/arm/boot/dts/hrefprev60.dts
> 
> >       soc-u9500 {
> > +             prcmu@80157000 {
> > +                     ab8500@5 {
> > +                             ab8500-gpio {
> > +                                     compatible = "stericsson,ab8500-gpio";
> 
> The MFDs I've looked at (which admittedly might not be that many) all
> have the top-level chip described in device tree, but not all the
> component sub-devices, since they're all a static part of the top-level
> chip. Instead, the top-level MFD instantiates all the sub-devices
> itself. I'm curious why this MFD device works differently - do many work
> like this?

I think in general, describing only the top level in DT is preferred.
However, that does not work if you have devices outside of the MFD
refer to devices inside of it, such as GPIO, clocks or interrupts:

In order to connect a button or an LED to this GPIO controller
in DT, you need to have a node you can refer to that follows the
GPIO binding. Putting all of that into the top-level device
would get messy here.

	Arnd

  reply	other threads:[~2013-02-07  8:30 UTC|newest]

Thread overview: 54+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-02-05 19:48 [PATCH 00/14] reform the ABx500 IRQ handling Linus Walleij
2013-02-05 19:48 ` Linus Walleij
2013-02-05 19:48 ` [PATCH 01/14] mfd: ab8500: prepare to handle AB8500 GPIO's IRQs correctly Linus Walleij
2013-02-05 19:48   ` Linus Walleij
2013-02-05 19:48 ` [PATCH 02/14] mfd: ab8500: provide a irq_set_type() function Linus Walleij
2013-02-05 19:48   ` Linus Walleij
2013-02-07  0:07   ` Stephen Warren
2013-02-07  0:07     ` Stephen Warren
     [not found]     ` <CAF2Aj3iO+6j+T5C0X2Hh6TsvT4yaJ2cai6cC9DaiRAwL9n-dVw@mail.gmail.com>
2013-02-07 10:01       ` Linus Walleij
2013-02-07 10:01         ` Linus Walleij
2013-02-05 19:48 ` [PATCH 03/14] mfd: ab8500: ensure new AB8500 pinctrl driver is probed correctly Linus Walleij
2013-02-05 19:48   ` Linus Walleij
2013-02-07  0:08   ` Stephen Warren
2013-02-07  0:08     ` Stephen Warren
2013-02-05 19:48 ` [PATCH 04/14] mfd: ab8500: allow AB9540 based devices to use ABX500 pinctrl Linus Walleij
2013-02-05 19:48   ` Linus Walleij
2013-02-05 19:48 ` [PATCH 05/14] pinctrl/abx500: prevent error path from corrupting returning error Linus Walleij
2013-02-05 19:48   ` Linus Walleij
2013-02-05 19:48 ` [PATCH 06/14] pinctrl/abx500: align GPIO cluster boundaries Linus Walleij
2013-02-05 19:48   ` Linus Walleij
2013-02-05 19:48 ` [PATCH 07/14] pinctrl/abx500: move IRQ handling to ab8500-core Linus Walleij
2013-02-05 19:48   ` Linus Walleij
2013-02-05 19:48 ` [PATCH 08/14] pinctrl/abx500: replace IRQ offsets with table read-in values Linus Walleij
2013-02-05 19:48   ` Linus Walleij
2013-02-05 19:48 ` [PATCH 09/14] pinctrl/abx500: use direct IRQ defines Linus Walleij
2013-02-05 19:48   ` Linus Walleij
2013-02-07  0:13   ` Stephen Warren
2013-02-07  0:13     ` Stephen Warren
     [not found]     ` <CAF2Aj3jHe+mP0dU_BHThBV-va_iJLcFQedmWQOTaYafAZM1Yxg@mail.gmail.com>
2013-02-07 17:59       ` Stephen Warren
2013-02-07 17:59         ` Stephen Warren
2013-02-08  8:25         ` Lee Jones
2013-02-08  8:25           ` Lee Jones
2013-02-08 17:06           ` Stephen Warren
2013-02-08 17:06             ` Stephen Warren
2013-02-07 19:10       ` Linus Walleij
2013-02-07 19:10         ` Linus Walleij
2013-02-05 19:48 ` [PATCH 10/14] pinctrl/abx500: add Device Tree support Linus Walleij
2013-02-05 19:48   ` Linus Walleij
2013-02-05 19:48 ` [PATCH 11/14] ARM: ux500: remove irq_base property from platform_data Linus Walleij
2013-02-05 19:48   ` Linus Walleij
2013-02-10  2:42   ` Olof Johansson
2013-02-10  2:42     ` Olof Johansson
2013-02-10 15:01     ` Linus Walleij
2013-02-10 15:01       ` Linus Walleij
2013-02-05 19:48 ` [PATCH 12/14] ARM: ux500: use real AB8500 IRQ numbers instead of virtual ones Linus Walleij
2013-02-05 19:48   ` Linus Walleij
2013-02-05 19:48 ` [PATCH 13/14] ARM: ux500: enable AB8500 GPIO for HREF Linus Walleij
2013-02-05 19:48   ` Linus Walleij
2013-02-07  0:17   ` Stephen Warren
2013-02-07  0:17     ` Stephen Warren
2013-02-07  8:30     ` Arnd Bergmann [this message]
2013-02-07  8:30       ` Arnd Bergmann
2013-02-05 19:48 ` [PATCH 14/14] ARM: ux500: allow Snowball access to the AB8500 GPIO pins Linus Walleij
2013-02-05 19:48   ` Linus Walleij

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=201302070830.22719.arnd@arndb.de \
    --to=arnd@arndb.de \
    --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.