On Thu, Sep 08, 2022 at 09:04:06PM -0500, Jeff LaBundy wrote: > Hi Dmitry, > > Thank you for taking a look. > > On Thu, Sep 08, 2022 at 02:17:21PM -0700, Dmitry Torokhov wrote: > > On Thu, Sep 08, 2022 at 08:15:38AM -0500, Jeff LaBundy wrote: > > > Each call to device/fwnode_get_named_child_node() must be matched > > > with a call to fwnode_handle_put() once the corresponding node is > > > no longer in use. This ensures a reference count remains balanced > > > in the case of dynamic device tree support. > > > > > > Currently, the driver never calls fwnode_handle_put(). This patch > > > adds the missing calls. > > > > Hmm, dev_fwnode() however does not do that, which means that > > iqs7222_parse_props() has different refounting, depending on what is > > being fetched. I think we need to start there. > > Right, but none of the callers that prompt iqs7222_parse_props() to > use dev_fwnode() follow with fwnode_handle_put(). I think this is a problem that code has to be aware of that and behave differently. I'd recommend bumping up refcount in dev_fwnode() path so that all callers would behave uniformly. Thanks. -- Dmitry