Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 90363ddf authored by Rafael J. Wysocki's avatar Rafael J. Wysocki
Browse files

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: default avatarRafael J. Wysocki <rjw@sisk.pl>
parent 8114ab76
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -1406,7 +1406,6 @@ static struct bus_type vio_bus_type = {
	.match = vio_bus_match,
	.probe = vio_bus_probe,
	.remove = vio_bus_remove,
	.pm = GENERIC_SUBSYS_PM_OPS,
};

/**
+0 −25
Original line number Diff line number Diff line
@@ -276,28 +276,3 @@ void pm_generic_complete(struct device *dev)
	pm_runtime_idle(dev);
}
#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);
+0 −13
Original line number Diff line number Diff line
@@ -300,19 +300,6 @@ const struct dev_pm_ops name = { \
	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
 *