Re: [PATCH 1/4] regulator: qcom_spmi: Fix warning Bad of_node_put()

From: Johan Hovold
Date: Mon Jul 16 2018 - 08:01:47 EST


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.

Johan