All of lore.kernel.org
 help / color / mirror / Atom feed
From: Lee Jones <lee.jones@linaro.org>
To: John Stultz <john.stultz@linaro.org>
Cc: lkml <linux-kernel@vger.kernel.org>,
	Dmitry Torokhov <dmitry.torokhov@gmail.com>,
	Rob Herring <robh+dt@kernel.org>, Pawel Moll <pawel.moll@arm.com>,
	Mark Rutland <mark.rutland@arm.com>,
	Ian Campbell <ijc+devicetree@hellion.org.uk>,
	Kumar Gala <galak@codeaurora.org>,
	Jorge Ramirez-Ortiz <jorge.ramirez-ortiz@linaro.org>,
	Wei Xu <xuwei5@hisilicon.com>, Guodong Xu <guodong.xu@linaro.org>,
	Chen Feng <puck.chen@hisilicon.com>
Subject: Re: [RFC][PATCH 2/5] hi655x-pmic: Make hi655x pmic logic probe child nodes in the dt
Date: Thu, 9 Jun 2016 15:43:45 +0100	[thread overview]
Message-ID: <20160609144345.GF2385@dell> (raw)
In-Reply-To: <CALAqxLXiyn1KOvE4C6acU8n-0ANT=WWf0sNxP3-CnuAPybnSEg@mail.gmail.com>

On Wed, 08 Jun 2016, John Stultz wrote:

> On Wed, Jun 8, 2016 at 7:31 AM, Lee Jones <lee.jones@linaro.org> wrote:
> >
> > Please use full buffer width.  Wrapping at 50 chars is not necessary.
> 
> But then how would you be able to review patches on your phone?! :)

Sideways! ;)

> >> --- a/drivers/mfd/hi655x-pmic.c
> >> +++ b/drivers/mfd/hi655x-pmic.c
> >> @@ -39,6 +39,11 @@ static const struct regmap_irq hi655x_irqs[] = {
> >>       { .reg_offset = 0, .mask = RESERVE_INT },
> >>  };
> >>
> >> +static const struct of_device_id of_hi655x_pmic_child_match_tbl[] = {
> >> +     { .compatible = "hisilicon,hi6552-powerkey", },
> >> +     { /* end */ }
> >> +};
> >> +
> >>  static const struct regmap_irq_chip hi655x_irq_chip = {
> >>       .name = "hi655x-pmic",
> >>       .irqs = hi655x_irqs,
> >> @@ -122,6 +127,9 @@ static int hi655x_pmic_probe(struct platform_device *pdev)
> >>
> >>       platform_set_drvdata(pdev, pmic);
> >>
> >> +     /* populate sub nodes */
> >> +     of_platform_populate(np, of_hi655x_pmic_child_match_tbl, NULL, dev);
> >> +
> >
> > Oh, holey poop, no!
> >
> > Please don't mix DT and MFD registration like this.
> >
> > Drivers should contain either of_platform_populate() or
> > mfd_add_devices(), but never both.
> >
> >>       ret = mfd_add_devices(dev, PLATFORM_DEVID_AUTO, hi655x_pmic_devs,
> >>                             ARRAY_SIZE(hi655x_pmic_devs), NULL, 0, NULL);
> >>       if (ret) {
> 
> 
> So apologies for my ignorance here. I'm not quite sure I see what the
> right thing to do. I tried adding a "hi65xx-powerkey" entry in the
> hi655x_pmic_devs, but then mfd_add_devices doesn't seem to provide any
> of the irq info from the DT.
> 
> The only way I can think to make it work w/o calling to populate
> sub-nodes is to pull the powerkey subnode out of the pmic node. It
> seems to work, but I'm not sure if it properly describes the hardware
> then.  Sorry again for being a bit clueless here.

Since we use mfd_add_devices() already, you need to create a cell in
this file for the power-key driver and omit it from DT altogether.  If
your priority is to have each sub-device represented in DT, then you
need to stop using mfd_add_devices() and have of_platform_populate()
do your bidding.

-- 
Lee Jones
Linaro STMicroelectronics Landing Team Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog

  reply	other threads:[~2016-06-09 14:43 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-06-01 21:27 [RFC][PATCH 0/5] Hi655x powerkey support for HiKey John Stultz
2016-06-01 21:27 ` [RFC][PATCH 1/5] dts: bindings: Add binding documentation for hisilicon,hi6552-powerkey John Stultz
2016-06-01 21:27 ` [RFC][PATCH 2/5] hi655x-pmic: Make hi655x pmic logic probe child nodes in the dt John Stultz
2016-06-08 14:31   ` Lee Jones
2016-06-08 17:22     ` John Stultz
2016-06-09 14:43       ` Lee Jones [this message]
2016-06-01 21:27 ` [RFC][PATCH 3/5] hi655x-pmic: Fixup issue with un-acked interrupts John Stultz
2016-06-08 14:32   ` Lee Jones
2016-06-01 21:27 ` [RFC][PATCH 4/5] drivers: input: powerkey for HISI 65xx SoC John Stultz
2016-06-02  2:10   ` Dmitry Torokhov
2016-06-02 22:10     ` John Stultz
2016-06-02 22:47       ` Dmitry Torokhov
2016-06-02 23:15         ` John Stultz
2016-06-02 23:33           ` Dmitry Torokhov
2016-06-01 21:27 ` [RFC][PATCH 5/5] arm64: dts: Add powerkey info to pmic for hi6220-hikey John Stultz
2016-06-01 21:48   ` Rob Herring

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=20160609144345.GF2385@dell \
    --to=lee.jones@linaro.org \
    --cc=dmitry.torokhov@gmail.com \
    --cc=galak@codeaurora.org \
    --cc=guodong.xu@linaro.org \
    --cc=ijc+devicetree@hellion.org.uk \
    --cc=john.stultz@linaro.org \
    --cc=jorge.ramirez-ortiz@linaro.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=pawel.moll@arm.com \
    --cc=puck.chen@hisilicon.com \
    --cc=robh+dt@kernel.org \
    --cc=xuwei5@hisilicon.com \
    /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.