Messages in this thread Patch in this message | | | From | Ming Lei <> | Subject | [RFC PATCH 1/5] driver core: driver probe at the last minute in driver_register | Date | Sun, 9 Sep 2012 07:25:16 +0800 |
| |
It should be correct to probe driver at the last minute in driver_register since it will be so in !auto_probe case and driver_register on no matched devices case.
Signed-off-by: Ming Lei <ming.lei@canonical.com> --- drivers/base/bus.c | 5 ----- drivers/base/driver.c | 4 ++++ 2 files changed, 4 insertions(+), 5 deletions(-)
diff --git a/drivers/base/bus.c b/drivers/base/bus.c index 181ed26..00d841d 100644 --- a/drivers/base/bus.c +++ b/drivers/base/bus.c @@ -714,11 +714,6 @@ int bus_add_driver(struct device_driver *drv) if (error) goto out_unregister; - if (drv->bus->p->drivers_autoprobe) { - error = driver_attach(drv); - if (error) - goto out_unregister; - } klist_add_tail(&priv->knode_bus, &bus->p->klist_drivers); module_add_driver(drv->owner, drv); diff --git a/drivers/base/driver.c b/drivers/base/driver.c index 974e301..27f4c85 100644 --- a/drivers/base/driver.c +++ b/drivers/base/driver.c @@ -191,6 +191,10 @@ int driver_register(struct device_driver *drv) } kobject_uevent(&drv->p->kobj, KOBJ_ADD); + /* driver probe at the last minute */ + if (drv->bus->p->drivers_autoprobe) + ret = driver_attach(drv); + return ret; } EXPORT_SYMBOL_GPL(driver_register); -- 1.7.9.5
| |