aboutsummaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'drivers')
-rw-r--r--drivers/base/class.c2
-rw-r--r--drivers/base/core.c3
-rw-r--r--drivers/base/firmware_class.c3
-rw-r--r--drivers/base/platform.c1
-rw-r--r--drivers/usb/host/hc_crisv10.c1
5 files changed, 10 insertions, 0 deletions
diff --git a/drivers/base/class.c b/drivers/base/class.c
index 6bf650fce78..d2a2f8f2b4e 100644
--- a/drivers/base/class.c
+++ b/drivers/base/class.c
@@ -430,6 +430,7 @@ int class_device_add(struct class_device *class_dev)
sysfs_create_link(&class_dev->kobj,
&class_dev->dev->kobj, "device");
+ kobject_hotplug(&class_dev->kobj, KOBJ_ADD);
register_done:
if (error && parent)
class_put(parent);
@@ -461,6 +462,7 @@ void class_device_del(struct class_device *class_dev)
sysfs_remove_link(&class_dev->kobj, "device");
class_device_remove_attrs(class_dev);
+ kobject_hotplug(&class_dev->kobj, KOBJ_REMOVE);
kobject_del(&class_dev->kobj);
if (parent)
diff --git a/drivers/base/core.c b/drivers/base/core.c
index 4e6cce8e6d3..a7cedd8cefe 100644
--- a/drivers/base/core.c
+++ b/drivers/base/core.c
@@ -260,6 +260,8 @@ int device_add(struct device *dev)
/* notify platform of device entry */
if (platform_notify)
platform_notify(dev);
+
+ kobject_hotplug(&dev->kobj, KOBJ_ADD);
Done:
put_device(dev);
return error;
@@ -349,6 +351,7 @@ void device_del(struct device * dev)
platform_notify_remove(dev);
bus_remove_device(dev);
device_pm_remove(dev);
+ kobject_hotplug(&dev->kobj, KOBJ_REMOVE);
kobject_del(&dev->kobj);
if (parent)
put_device(parent);
diff --git a/drivers/base/firmware_class.c b/drivers/base/firmware_class.c
index 26c9464af80..97fe13f7f07 100644
--- a/drivers/base/firmware_class.c
+++ b/drivers/base/firmware_class.c
@@ -102,6 +102,9 @@ firmware_class_hotplug(struct class_device *class_dev, char **envp,
if (add_hotplug_env_var(envp, num_envp, &i, buffer, buffer_size, &len,
"FIRMWARE=%s", fw_priv->fw_id))
return -ENOMEM;
+ if (add_hotplug_env_var(envp, num_envp, &i, buffer, buffer_size, &len,
+ "TIMEOUT=%i", loading_timeout))
+ return -ENOMEM;
envp[i] = NULL;
diff --git a/drivers/base/platform.c b/drivers/base/platform.c
index 996cbb4d508..cd6453905a9 100644
--- a/drivers/base/platform.c
+++ b/drivers/base/platform.c
@@ -341,6 +341,7 @@ EXPORT_SYMBOL_GPL(dma_get_required_mask);
EXPORT_SYMBOL_GPL(platform_bus);
EXPORT_SYMBOL_GPL(platform_bus_type);
+EXPORT_SYMBOL_GPL(platform_add_devices);
EXPORT_SYMBOL_GPL(platform_device_register);
EXPORT_SYMBOL_GPL(platform_device_register_simple);
EXPORT_SYMBOL_GPL(platform_device_unregister);
diff --git a/drivers/usb/host/hc_crisv10.c b/drivers/usb/host/hc_crisv10.c
index 4b12be822bd..376f8a034f6 100644
--- a/drivers/usb/host/hc_crisv10.c
+++ b/drivers/usb/host/hc_crisv10.c
@@ -4396,6 +4396,7 @@ static int __init etrax_usb_hc_init(void)
device_initialize(&fake_device);
kobject_set_name(&fake_device.kobj, "etrax_usb");
kobject_add(&fake_device.kobj);
+ kobject_hotplug(&fake_device.kobj, KOBJ_ADD);
hc->bus->controller = &fake_device;
usb_register_bus(hc->bus);