Re: [PATCH v5 08/11] devm-helpers: Add resource managed version of debugfs directory create function

From: Marek Behún
Date: Sat Mar 23 2024 - 17:26:00 EST


On Sat, 23 Mar 2024 22:10:40 +0100
Christophe JAILLET <christophe.jaillet@xxxxxxxxxx> wrote:

> > - return devm_add_action_or_reset(dev, gpio_mockup_debugfs_cleanup, chip);
> > + return devm_add_action_or_reset(dev, devm_debugfs_dir_recursive_drop,
> > + chip->dbg_dir);
>
> This look strange. Shouldn't the debugfs_create_dir() call in
> gpio_mockup_debugfs_setup() be changed, instead?
>
> (I've not look in the previous version if something was said about it,
> so apologies if already discussed)

Yeah, this specific user needs a more complicated refactoring.

I was reluctant to do more complicated refactors in the patch that also
introduces these helpers.

But Guenter asked me to split the patch anyway...

> > static int pvt_ts_dbgfs_create(struct pvt_device *pvt, struct device *dev)
> > {
> > - pvt->dbgfs_dir = debugfs_create_dir(dev_name(dev), NULL);
> > + pvt->dbgfs_dir = devm_debugfs_create_dir(dev, dev_name(dev), NULL);
> > + if (IS_ERR(pvt->dbgfs_dir))
> > + return PTR_ERR(pvt->dbgfs_dir);
>
> Not sure if the test and error handling should be added here.
> *If I'm correct*, functions related to debugfs already handle this case
> and just do nothing. And failure in debugfs related code is not
> considered as something that need to be reported and abort a probe function.
>
> Maybe the same other (already existing) tests in this patch should be
> removed as well, in a separated patch.

Functions related to debugfs maybe do, but devm_ resource management
functions may fail to allocate release structure, and those errors need
to be handled, AFAIK.

Marek