]> Pileus Git - ~andy/linux/blobdiff - drivers/base/core.c
Merge branch 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
[~andy/linux] / drivers / base / core.c
index 74dda4f697f92d772355f37c0a82553e7827119d..e28ce9898af4e1bab331fa3b9411b2bbc6575856 100644 (file)
@@ -18,6 +18,8 @@
 #include <linux/string.h>
 #include <linux/kdev_t.h>
 #include <linux/notifier.h>
+#include <linux/of.h>
+#include <linux/of_device.h>
 #include <linux/genhd.h>
 #include <linux/kallsyms.h>
 #include <linux/mutex.h>
@@ -267,6 +269,9 @@ static int dev_uevent(struct kset *kset, struct kobject *kobj,
        if (dev->driver)
                add_uevent_var(env, "DRIVER=%s", dev->driver->name);
 
+       /* Add common DT information about the device */
+       of_device_uevent(dev, env);
+
        /* have the bus specific function add its stuff */
        if (dev->bus && dev->bus->uevent) {
                retval = dev->bus->uevent(dev, env);
@@ -921,6 +926,7 @@ int device_private_init(struct device *dev)
        dev->p->device = dev;
        klist_init(&dev->p->klist_children, klist_children_get,
                   klist_children_put);
+       INIT_LIST_HEAD(&dev->p->deferred_probe);
        return 0;
 }
 
@@ -1188,6 +1194,7 @@ void device_del(struct device *dev)
        device_remove_file(dev, &uevent_attr);
        device_remove_attrs(dev);
        bus_remove_device(dev);
+       driver_deferred_probe_del(dev);
 
        /*
         * Some platform devices are driven without driver attached