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

Commit 442d40a2 authored by Josh Cartwright's avatar Josh Cartwright Committed by Greg Kroah-Hartman
Browse files

spmi: pm: drop bus-level PM suspend/resume routines



SPMI defines the behavior of a device in the "SLEEP" state as being
"user-defined or specified by the device manufacturer".  Without
clearly-defined bus-level semantics for low-power states, push the
responsibility of transitioning a device into/out of "SLEEP" into SPMI
device drivers.

Cc: Felipe Balbi <balbi@ti.com>
Signed-off-by: default avatarJosh Cartwright <joshc@codeaurora.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 2415fc67
Loading
Loading
Loading
Loading
+0 −35
Original line number Diff line number Diff line
@@ -46,40 +46,6 @@ static const struct device_type spmi_ctrl_type = {
	.release	= spmi_ctrl_release,
};

#ifdef CONFIG_PM_RUNTIME
static int spmi_runtime_suspend(struct device *dev)
{
	struct spmi_device *sdev = to_spmi_device(dev);
	int err;

	err = pm_generic_runtime_suspend(dev);
	if (err)
		return err;

	return spmi_command_sleep(sdev);
}

static int spmi_runtime_resume(struct device *dev)
{
	struct spmi_device *sdev = to_spmi_device(dev);
	int err;

	err = spmi_command_wakeup(sdev);
	if (err)
		return err;

	return pm_generic_runtime_resume(dev);
}
#endif

static const struct dev_pm_ops spmi_pm_ops = {
	SET_RUNTIME_PM_OPS(
		spmi_runtime_suspend,
		spmi_runtime_resume,
		NULL
	)
};

static int spmi_device_match(struct device *dev, struct device_driver *drv)
{
	if (of_driver_match_device(dev, drv))
@@ -391,7 +357,6 @@ static int spmi_drv_remove(struct device *dev)
static struct bus_type spmi_bus_type = {
	.name		= "spmi",
	.match		= spmi_device_match,
	.pm		= &spmi_pm_ops,
	.probe		= spmi_drv_probe,
	.remove		= spmi_drv_remove,
};