diff options
Diffstat (limited to 'drivers/base/power/main.c')
-rw-r--r-- | drivers/base/power/main.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/drivers/base/power/main.c b/drivers/base/power/main.c index ea1732ed7a9d..770b1539a083 100644 --- a/drivers/base/power/main.c +++ b/drivers/base/power/main.c | |||
@@ -1860,10 +1860,13 @@ void device_pm_check_callbacks(struct device *dev) | |||
1860 | { | 1860 | { |
1861 | spin_lock_irq(&dev->power.lock); | 1861 | spin_lock_irq(&dev->power.lock); |
1862 | dev->power.no_pm_callbacks = | 1862 | dev->power.no_pm_callbacks = |
1863 | (!dev->bus || pm_ops_is_empty(dev->bus->pm)) && | 1863 | (!dev->bus || (pm_ops_is_empty(dev->bus->pm) && |
1864 | (!dev->class || pm_ops_is_empty(dev->class->pm)) && | 1864 | !dev->bus->suspend && !dev->bus->resume)) && |
1865 | (!dev->class || (pm_ops_is_empty(dev->class->pm) && | ||
1866 | !dev->class->suspend && !dev->class->resume)) && | ||
1865 | (!dev->type || pm_ops_is_empty(dev->type->pm)) && | 1867 | (!dev->type || pm_ops_is_empty(dev->type->pm)) && |
1866 | (!dev->pm_domain || pm_ops_is_empty(&dev->pm_domain->ops)) && | 1868 | (!dev->pm_domain || pm_ops_is_empty(&dev->pm_domain->ops)) && |
1867 | (!dev->driver || pm_ops_is_empty(dev->driver->pm)); | 1869 | (!dev->driver || (pm_ops_is_empty(dev->driver->pm) && |
1870 | !dev->driver->suspend && !dev->driver->resume)); | ||
1868 | spin_unlock_irq(&dev->power.lock); | 1871 | spin_unlock_irq(&dev->power.lock); |
1869 | } | 1872 | } |