devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Johan Hovold <johan@kernel.org>
To: Rob Herring <robh@kernel.org>
Cc: Johan <johan@kernel.org>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Frank Rowand <frowand.list@gmail.com>,
	devicetree@vger.kernel.org,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	ck.hu@mediatek.com, p.zabel@pengutronix.de,
	Rob Clark <robdclark@gmail.com>,
	airlied@linux.ie, Ulf Hansson <ulf.hansson@linaro.org>,
	rainyfeeling@outlook.com, boris.brezillon@bootlin.com,
	opendmb@gmail.com, Florian Fainelli <f.fainelli@gmail.com>,
	davem@davemloft.net, peppe.cavallaro@st.com,
	alexandre.torgue@st.com, joabreu@synopsys.com,
	sameo@linux.intel.com, sre@kernel.org
Subject: Re: [PATCH 0/9] of: fix compatible-child-node lookups
Date: Wed, 22 Aug 2018 16:46:55 +0200	[thread overview]
Message-ID: <20180822144655.GO14967@localhost> (raw)
In-Reply-To: <CABGGisx6CDoDqxTo=q=jKBAb19Xx38N6pR=XrwzBHuSDtp_Wcw@mail.gmail.com>

On Wed, Aug 22, 2018 at 09:32:11AM -0500, Rob Herring wrote:
> On Wed, Aug 22, 2018 at 5:57 AM Johan Hovold <johan@kernel.org> wrote:
> >
> > Several drivers currently use of_find_compatible_node() to lookup child
> > nodes while failing to notice that the of_find_ functions search the
> > entire tree depth-first and therefore can match unrelated (non-child)
> > nodes.
> 
> That is not quite right. It searches all nodes following 'from', so
> not the entire tree unless 'from' is NULL. The purpose of 'from' is to
> iterate to find all compatible nodes. But you are correct that anyone
> calling of_find_compatible_node directly with from != NULL is wrong.

Yeah, sorry, I guess I could have been more specific. I just find
qualifying "searching the entire tree" with "starting from the node
specified in the first argument" to be too cumbersome to write. And it's
sort of implicit as the functions *are* iterators meant for searching
the entire tree (passing NULL as the first argument the first time).

> > This is related to the fixes I posted about a year ago, which addressed
> > a similar anti-pattern when looking up child nodes by name. Since it
> > took me more than a year to get all those fixes into Linus' tree (one
> > fix is still pending), and as these fixes depend on the new helper, I'm
> > suggesting that these all go in through Rob's or Greg's trees.
> 
> I'm happy to take them or apply the dependency now and then anything
> not picked up by sub-maintainers for 4.20.

Thanks, let's see if what the others prefer.

Johan

      reply	other threads:[~2018-08-22 14:46 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-08-22 10:55 [PATCH 0/9] of: fix compatible-child-node lookups Johan Hovold
2018-08-22 10:55 ` [PATCH 1/9] of: add helper to lookup compatible child node Johan Hovold
2018-08-23  3:17   ` kbuild test robot
2018-08-23  7:39     ` Johan Hovold
2018-08-22 10:55 ` [PATCH 2/9] drm/mediatek: fix OF sibling-node lookup Johan Hovold
2018-08-22 10:55 ` [PATCH 3/9] drm/msm: fix OF child-node lookup Johan Hovold
2018-08-22 14:41   ` Rob Herring
2018-08-22 10:55 ` [PATCH 4/9] mmc: meson-mx-sdio: " Johan Hovold
2018-08-23 18:50   ` Martin Blumenstingl
2018-08-24  6:41     ` Johan Hovold
2018-08-22 10:55 ` [PATCH 5/9] mtd: nand: atmel: " Johan Hovold
2018-08-22 10:55 ` [PATCH 6/9] net: bcmgenet: " Johan Hovold
2018-08-22 10:55 ` [PATCH 7/9] net: stmmac: dwmac-sun8i: " Johan Hovold
2018-08-22 10:55 ` [PATCH 8/9] NFC: nfcmrvl_uart: " Johan Hovold
2018-08-22 10:55 ` [PATCH 9/9] power: supply: twl4030-charger: fix OF sibling-node lookup Johan Hovold
2018-08-22 21:36   ` Sebastian Reichel
2018-08-23  7:40     ` Johan Hovold
2018-08-22 14:32 ` [PATCH 0/9] of: fix compatible-child-node lookups Rob Herring
2018-08-22 14:46   ` Johan Hovold [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=20180822144655.GO14967@localhost \
    --to=johan@kernel.org \
    --cc=airlied@linux.ie \
    --cc=alexandre.torgue@st.com \
    --cc=boris.brezillon@bootlin.com \
    --cc=ck.hu@mediatek.com \
    --cc=davem@davemloft.net \
    --cc=devicetree@vger.kernel.org \
    --cc=f.fainelli@gmail.com \
    --cc=frowand.list@gmail.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=joabreu@synopsys.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=opendmb@gmail.com \
    --cc=p.zabel@pengutronix.de \
    --cc=peppe.cavallaro@st.com \
    --cc=rainyfeeling@outlook.com \
    --cc=robdclark@gmail.com \
    --cc=robh@kernel.org \
    --cc=sameo@linux.intel.com \
    --cc=sre@kernel.org \
    --cc=ulf.hansson@linaro.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 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).