PM: Drop generic_subsys_pm_ops
Since the PM core is now going to execute driver callbacks directly if the corresponding subsystem callbacks are not present, forward-only subsystem callbacks (i.e. such that only execute the corresponding driver callbacks) are not necessary any more. Thus it is possible to remove generic_subsys_pm_ops, because the only callback in there that is not forward-only, .runtime_idle, is not really used by the only user of generic_subsys_pm_ops, which is vio_bus_type. However, the generic callback routines themselves cannot be removed from generic_ops.c, because they are used individually by a number of subsystems. Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
This commit is contained in:
@@ -1406,7 +1406,6 @@ static struct bus_type vio_bus_type = {
|
|||||||
.match = vio_bus_match,
|
.match = vio_bus_match,
|
||||||
.probe = vio_bus_probe,
|
.probe = vio_bus_probe,
|
||||||
.remove = vio_bus_remove,
|
.remove = vio_bus_remove,
|
||||||
.pm = GENERIC_SUBSYS_PM_OPS,
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -276,28 +276,3 @@ void pm_generic_complete(struct device *dev)
|
|||||||
pm_runtime_idle(dev);
|
pm_runtime_idle(dev);
|
||||||
}
|
}
|
||||||
#endif /* CONFIG_PM_SLEEP */
|
#endif /* CONFIG_PM_SLEEP */
|
||||||
|
|
||||||
struct dev_pm_ops generic_subsys_pm_ops = {
|
|
||||||
#ifdef CONFIG_PM_SLEEP
|
|
||||||
.prepare = pm_generic_prepare,
|
|
||||||
.suspend = pm_generic_suspend,
|
|
||||||
.suspend_noirq = pm_generic_suspend_noirq,
|
|
||||||
.resume = pm_generic_resume,
|
|
||||||
.resume_noirq = pm_generic_resume_noirq,
|
|
||||||
.freeze = pm_generic_freeze,
|
|
||||||
.freeze_noirq = pm_generic_freeze_noirq,
|
|
||||||
.thaw = pm_generic_thaw,
|
|
||||||
.thaw_noirq = pm_generic_thaw_noirq,
|
|
||||||
.poweroff = pm_generic_poweroff,
|
|
||||||
.poweroff_noirq = pm_generic_poweroff_noirq,
|
|
||||||
.restore = pm_generic_restore,
|
|
||||||
.restore_noirq = pm_generic_restore_noirq,
|
|
||||||
.complete = pm_generic_complete,
|
|
||||||
#endif
|
|
||||||
#ifdef CONFIG_PM_RUNTIME
|
|
||||||
.runtime_suspend = pm_generic_runtime_suspend,
|
|
||||||
.runtime_resume = pm_generic_runtime_resume,
|
|
||||||
.runtime_idle = pm_generic_runtime_idle,
|
|
||||||
#endif
|
|
||||||
};
|
|
||||||
EXPORT_SYMBOL_GPL(generic_subsys_pm_ops);
|
|
||||||
|
@@ -300,19 +300,6 @@ const struct dev_pm_ops name = { \
|
|||||||
SET_RUNTIME_PM_OPS(suspend_fn, resume_fn, idle_fn) \
|
SET_RUNTIME_PM_OPS(suspend_fn, resume_fn, idle_fn) \
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* Use this for subsystems (bus types, device types, device classes) that don't
|
|
||||||
* need any special suspend/resume handling in addition to invoking the PM
|
|
||||||
* callbacks provided by device drivers supporting both the system sleep PM and
|
|
||||||
* runtime PM, make the pm member point to generic_subsys_pm_ops.
|
|
||||||
*/
|
|
||||||
#ifdef CONFIG_PM
|
|
||||||
extern struct dev_pm_ops generic_subsys_pm_ops;
|
|
||||||
#define GENERIC_SUBSYS_PM_OPS (&generic_subsys_pm_ops)
|
|
||||||
#else
|
|
||||||
#define GENERIC_SUBSYS_PM_OPS NULL
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* PM_EVENT_ messages
|
* PM_EVENT_ messages
|
||||||
*
|
*
|
||||||
|
Reference in New Issue
Block a user