diff options
author | Kay Sievers <kay.sievers@novell.com> | 2006-10-07 21:54:55 +0200 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2007-02-07 10:37:14 -0800 |
commit | b7a3e813fb84624166f034e25234f98de5846bfc (patch) | |
tree | 5936d2755e6f4fcdbf3a34c743a7840cdc72b9a2 | |
parent | f9f852df2faf76a2667949ddb4947d4b8f99f02f (diff) | |
download | op-kernel-dev-b7a3e813fb84624166f034e25234f98de5846bfc.zip op-kernel-dev-b7a3e813fb84624166f034e25234f98de5846bfc.tar.gz |
Driver core: allow to delay the uevent at device creation time
For the block subsystem, we want to delay all uevents until the
disk has been scanned and allpartitons are already created before
the first event is sent out.
Signed-off-by: Kay Sievers <kay.sievers@novell.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r-- | drivers/base/core.c | 3 | ||||
-rw-r--r-- | include/linux/device.h | 3 |
2 files changed, 4 insertions, 2 deletions
diff --git a/drivers/base/core.c b/drivers/base/core.c index 34ac187..e136142 100644 --- a/drivers/base/core.c +++ b/drivers/base/core.c @@ -589,7 +589,8 @@ int device_add(struct device *dev) goto PMError; if ((error = bus_add_device(dev))) goto BusError; - kobject_uevent(&dev->kobj, KOBJ_ADD); + if (!dev->uevent_suppress) + kobject_uevent(&dev->kobj, KOBJ_ADD); if ((error = bus_attach_device(dev))) goto AttachError; if (parent) diff --git a/include/linux/device.h b/include/linux/device.h index e1e164f..5ca1cdb 100644 --- a/include/linux/device.h +++ b/include/linux/device.h @@ -399,9 +399,10 @@ struct device { /* class_device migration path */ struct list_head node; - struct class *class; /* optional*/ + struct class *class; dev_t devt; /* dev_t, creates the sysfs "dev" */ struct attribute_group **groups; /* optional groups */ + int uevent_suppress; void (*release)(struct device * dev); }; |