aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
authorDmitry Torokhov <dmitry.torokhov@gmail.com>2009-10-12 23:17:41 -0400
committerGreg Kroah-Hartman <gregkh@suse.de>2009-10-30 17:59:51 -0400
commit1a6f2a7512021ceae3c4201c7aab07f032e9ce91 (patch)
tree03fdca9848003b3a6fda57113b3e750ec1e22a55 /include/linux
parent39acbc12affcaa23ef1d887ba3d197baca8e6e47 (diff)
Driver core: allow certain drivers prohibit bind/unbind via sysfs
Platform drivers registered via platform_driver_probe() can be bound to devices only once, upon registration, because discard their probe() routines to save memory. Unbinding the driver through sysfs 'unbind' leaves the device stranded and confuses users so let's not create bind and unbind attributes for such drivers. Signed-off-by: Dmitry Torokhov <dtor@mail.ru> Cc: Éric Piel <eric.piel@tremplin-utc.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/device.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/include/linux/device.h b/include/linux/device.h
index aca31bf7d8ed..2ea3e4921812 100644
--- a/include/linux/device.h
+++ b/include/linux/device.h
@@ -124,7 +124,9 @@ struct device_driver {
124 struct bus_type *bus; 124 struct bus_type *bus;
125 125
126 struct module *owner; 126 struct module *owner;
127 const char *mod_name; /* used for built-in modules */ 127 const char *mod_name; /* used for built-in modules */
128
129 bool suppress_bind_attrs; /* disables bind/unbind via sysfs */
128 130
129 int (*probe) (struct device *dev); 131 int (*probe) (struct device *dev);
130 int (*remove) (struct device *dev); 132 int (*remove) (struct device *dev);