diff options
author | Ben Hutchings <ben.hutchings@codethink.co.uk> | 2016-08-16 14:34:18 +0100 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2016-11-10 17:22:23 +0100 |
commit | 6751667a29d6fd64afb9ce30567ad616b68ed789 (patch) | |
tree | 128403d3fb1187222f340b3676310ef376d17699 /drivers/base/core.c | |
parent | baa8809f60971d10220dfe79248f54b2b265f003 (diff) | |
download | linux-6751667a29d6fd64afb9ce30567ad616b68ed789.tar.bz2 |
driver core: Add deferred_probe attribute to devices in sysfs
It is sometimes useful to know that a device is on the deferred probe
list rather than, say, not having a driver available. Expose this
information to user-space.
Signed-off-by: Ben Hutchings <ben.hutchings@codethink.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/base/core.c')
-rw-r--r-- | drivers/base/core.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/base/core.c b/drivers/base/core.c index d0c9df5cdd9e..b8b2f6105476 100644 --- a/drivers/base/core.c +++ b/drivers/base/core.c @@ -1060,8 +1060,14 @@ static int device_add_attrs(struct device *dev) goto err_remove_dev_groups; } + error = device_create_file(dev, &dev_attr_deferred_probe); + if (error) + goto err_remove_online; + return 0; + err_remove_online: + device_remove_file(dev, &dev_attr_online); err_remove_dev_groups: device_remove_groups(dev, dev->groups); err_remove_type_groups: @@ -1079,6 +1085,7 @@ static void device_remove_attrs(struct device *dev) struct class *class = dev->class; const struct device_type *type = dev->type; + device_remove_file(dev, &dev_attr_deferred_probe); device_remove_file(dev, &dev_attr_online); device_remove_groups(dev, dev->groups); |