Commit 37022644 authored by Brian Walsh's avatar Brian Walsh Committed by Greg Kroah-Hartman

drivers/base: Platform notify needs to occur before drivers attach to the device

The platform_notify call for Arm and PPC architectures needs to be called
before the driver attaches to the device.  The problem only presents itself
when hotplugging certain devices while the driver is already loaded.
Signed-off-by: default avatarBrian Walsh <brian@walsh.ws>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent 8a6914ab
...@@ -424,6 +424,10 @@ int device_add(struct device *dev) ...@@ -424,6 +424,10 @@ int device_add(struct device *dev)
if ((error = kobject_add(&dev->kobj))) if ((error = kobject_add(&dev->kobj)))
goto Error; goto Error;
/* notify platform of device entry */
if (platform_notify)
platform_notify(dev);
dev->uevent_attr.attr.name = "uevent"; dev->uevent_attr.attr.name = "uevent";
dev->uevent_attr.attr.mode = S_IWUSR; dev->uevent_attr.attr.mode = S_IWUSR;
if (dev->driver) if (dev->driver)
...@@ -488,10 +492,6 @@ int device_add(struct device *dev) ...@@ -488,10 +492,6 @@ int device_add(struct device *dev)
class_intf->add_dev(dev, class_intf); class_intf->add_dev(dev, class_intf);
up(&dev->class->sem); up(&dev->class->sem);
} }
/* notify platform of device entry */
if (platform_notify)
platform_notify(dev);
Done: Done:
kfree(class_name); kfree(class_name);
put_device(dev); put_device(dev);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment