Re: [PATCH 1/4] regulator: qcom_spmi: Fix warning Bad of_node_put()
From: Niklas Cassel
Date: Mon Jul 16 2018 - 09:29:39 EST
On Mon, Jul 16, 2018 at 02:01:34PM +0200, Johan Hovold wrote:
> Hi Niklas,
>
> On Mon, Jul 16, 2018 at 01:35:22PM +0200, Niklas Cassel wrote:
> > For of_find_node_by_name(), you typically pass what the previous call
> > returned. Therefore, of_find_node_by_name() increases the refcount of
> > the returned node, and decreases the refcount of the node passed as the
> > first argument.
> >
> > However, in this case we don't pass what the previous call returned,
> > so we have to increase the refcount of the first argument to compensate.
>
> I don't think this is the right fix. of_find_node_by_name() should
> generally not be used by drivers in the first place as it searches the
> entire tree and can end up matching an entirely unrelated node.
>
> I haven't looked at the device-tree binding in question, but you
> probably want to use something like of_get_child_by_name() instead.
>
Hello Johan,
of_find_node_by_name() will only search the whole tree if the
first argument is NULL, which isn't the case here.
However, of_get_child_by_name() is indeed better suited here.
Will send out a v2.
Thank you for your feedback, it is much appreciated :)
Kind regards,
Niklas