projects
/
linux-2.6-block.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
PM / sleep: Go direct_complete if driver has no callbacks
[linux-2.6-block.git]
/
drivers
/
base
/
dd.c
diff --git
a/drivers/base/dd.c
b/drivers/base/dd.c
index 13a0d66e57824b9fe01dc0dd5536eb77aa58148a..049942176b00abf76780bdc8bbe20fbc28de8ec8 100644
(file)
--- a/
drivers/base/dd.c
+++ b/
drivers/base/dd.c
@@
-250,6
+250,8
@@
static void driver_bound(struct device *dev)
klist_add_tail(&dev->p->knode_driver, &dev->driver->p->klist_devices);
klist_add_tail(&dev->p->knode_driver, &dev->driver->p->klist_devices);
+ device_pm_check_callbacks(dev);
+
/*
* Make sure the device is no longer in one of the deferred lists and
* kick off retrying all pending devices
/*
* Make sure the device is no longer in one of the deferred lists and
* kick off retrying all pending devices
@@
-766,6
+768,7
@@
static void __device_release_driver(struct device *dev)
pm_runtime_reinit(dev);
klist_remove(&dev->p->knode_driver);
pm_runtime_reinit(dev);
klist_remove(&dev->p->knode_driver);
+ device_pm_check_callbacks(dev);
if (dev->bus)
blocking_notifier_call_chain(&dev->bus->p->bus_notifier,
BUS_NOTIFY_UNBOUND_DRIVER,
if (dev->bus)
blocking_notifier_call_chain(&dev->bus->p->bus_notifier,
BUS_NOTIFY_UNBOUND_DRIVER,