Re: [RFC PATCH v2] driver core: add a debugfs entry to show deferred devices

From: Andy Shevchenko
Date: Tue Jun 19 2018 - 15:55:27 EST


On Tue, Jun 19, 2018 at 10:53 PM, Andy Shevchenko
<andy.shevchenko@xxxxxxxxx> wrote:
> On Tue, Jun 19, 2018 at 9:33 PM, Javier Martinez Canillas
> <javierm@xxxxxxxxxx> wrote:
>> For debugging purposes it may be useful to know what are the devices whose
>> probe function was deferred. Add a debugfs entry showing that information.

>> +static int deferred_devs_open(struct inode *inode, struct file *file)
>> +{
>> + return single_open(file, deferred_devs_show, inode->i_private);
>> +}
>> +
>> +static const struct file_operations deferred_devs_fops = {
>> + .owner = THIS_MODULE,
>> + .open = deferred_devs_open,
>> + .read = seq_read,
>> + .llseek = seq_lseek,
>> + .release = single_release,
>> +};
>
> Isn't this DEFINE_SHOW_ATTRIBUTE() ?

Besides that, you are summoning Greg's dark side :-)
See below.

>> + if (IS_ENABLED(CONFIG_DEBUG_FS)) {
>> + deferred_devices = debugfs_create_file("deferred_devices",
>> + 0444, NULL, NULL,
>> + &deferred_devs_fops);

>> + if (!deferred_devices)
>> + return -ENOMEM;

This must not prevent the execution. So, the check introduces actually
a regression.

>> + }

--
With Best Regards,
Andy Shevchenko