summaryrefslogtreecommitdiff
path: root/drivers/base/dd.c
diff options
context:
space:
mode:
authorBen Hutchings <ben.hutchings@codethink.co.uk>2016-08-16 16:34:18 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2016-11-10 19:22:23 +0300
commit6751667a29d6fd64afb9ce30567ad616b68ed789 (patch)
tree128403d3fb1187222f340b3676310ef376d17699 /drivers/base/dd.c
parentbaa8809f60971d10220dfe79248f54b2b265f003 (diff)
downloadlinux-6751667a29d6fd64afb9ce30567ad616b68ed789.tar.xz
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/dd.c')
-rw-r--r--drivers/base/dd.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/drivers/base/dd.c b/drivers/base/dd.c
index 43be1cc751a4..a48cf444eca5 100644
--- a/drivers/base/dd.c
+++ b/drivers/base/dd.c
@@ -53,6 +53,19 @@ static LIST_HEAD(deferred_probe_pending_list);
static LIST_HEAD(deferred_probe_active_list);
static atomic_t deferred_trigger_count = ATOMIC_INIT(0);
+static ssize_t deferred_probe_show(struct device *dev,
+ struct device_attribute *attr, char *buf)
+{
+ bool value;
+
+ mutex_lock(&deferred_probe_mutex);
+ value = !list_empty(&dev->p->deferred_probe);
+ mutex_unlock(&deferred_probe_mutex);
+
+ return sprintf(buf, "%d\n", value);
+}
+DEVICE_ATTR_RO(deferred_probe);
+
/*
* In some cases, like suspend to RAM or hibernation, It might be reasonable
* to prohibit probing of devices as it could be unsafe.