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

Commit 4aebac2f authored by Magnus Damm's avatar Magnus Damm Committed by Rafael J. Wysocki
Browse files

DMA: Rework txx9dmac suspend_late()/resume_early()



This patch reworks platform driver power management code
for txx9dmac from legacy late/early callbacks to dev_pm_ops.

The callbacks are converted for CONFIG_SUSPEND like this:
  suspend_late() -> suspend_noirq()
  resume_early() -> resume_noirq()

Signed-off-by: default avatarMagnus Damm <damm@igel.co.jp>
Acked-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
Acked-by: default avatarPavel Machek <pavel@ucw.cz>
Signed-off-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
parent 4a256b5f
Loading
Loading
Loading
Loading
+10 −5
Original line number Diff line number Diff line
@@ -1291,17 +1291,18 @@ static void txx9dmac_shutdown(struct platform_device *pdev)
	txx9dmac_off(ddev);
}

static int txx9dmac_suspend_late(struct platform_device *pdev,
				 pm_message_t mesg)
static int txx9dmac_suspend_noirq(struct device *dev)
{
	struct platform_device *pdev = to_platform_device(dev);
	struct txx9dmac_dev *ddev = platform_get_drvdata(pdev);

	txx9dmac_off(ddev);
	return 0;
}

static int txx9dmac_resume_early(struct platform_device *pdev)
static int txx9dmac_resume_noirq(struct device *dev)
{
	struct platform_device *pdev = to_platform_device(dev);
	struct txx9dmac_dev *ddev = platform_get_drvdata(pdev);
	struct txx9dmac_platform_data *pdata = pdev->dev.platform_data;
	u32 mcr;
@@ -1314,6 +1315,11 @@ static int txx9dmac_resume_early(struct platform_device *pdev)

}

static struct dev_pm_ops txx9dmac_dev_pm_ops = {
	.suspend_noirq = txx9dmac_suspend_noirq,
	.resume_noirq = txx9dmac_resume_noirq,
};

static struct platform_driver txx9dmac_chan_driver = {
	.remove		= __exit_p(txx9dmac_chan_remove),
	.driver = {
@@ -1324,10 +1330,9 @@ static struct platform_driver txx9dmac_chan_driver = {
static struct platform_driver txx9dmac_driver = {
	.remove		= __exit_p(txx9dmac_remove),
	.shutdown	= txx9dmac_shutdown,
	.suspend_late	= txx9dmac_suspend_late,
	.resume_early	= txx9dmac_resume_early,
	.driver = {
		.name	= "txx9dmac",
		.pm	= &txx9dmac_dev_pm_ops,
	},
};