From: Anson Huang Date: Sat, 23 Mar 2019 03:56:47 +0000 (+0800) Subject: MLK-21244 rpmsg: imx: move pm ops to noirq phrase X-Git-Tag: rel_imx_4.19.35_1.1.0~689 X-Git-Url: https://git.somdevices.com/?a=commitdiff_plain;h=4f6e8ab64aa0923c8aae47d0d34bfcaea620f27f;p=linux.git MLK-21244 rpmsg: imx: move pm ops to noirq phrase Some rpmsg user may require rpmsg resume before the user start handle its irq, e.g the typec controller use a GPIO as irq and use rpmsg to get event status, so move imx rpmsg power management ops to noirq phrase. Reviewed-by: Richard Zhu Tested-by: Clark Wang Signed-off-by: Anson Huang Signed-off-by: Li Jun --- diff --git a/drivers/rpmsg/imx_rpmsg.c b/drivers/rpmsg/imx_rpmsg.c index 498a16de6810..356f613d7f92 100644 --- a/drivers/rpmsg/imx_rpmsg.c +++ b/drivers/rpmsg/imx_rpmsg.c @@ -772,7 +772,7 @@ vdev_err_out: } #ifdef CONFIG_PM_SLEEP -static int imx_rpmsg_suspend(struct device *dev) +static int imx_rpmsg_noirq_suspend(struct device *dev) { struct imx_rpmsg_vproc *rpdev = dev_get_drvdata(dev); @@ -782,7 +782,7 @@ static int imx_rpmsg_suspend(struct device *dev) return 0; } -static int imx_rpmsg_resume(struct device *dev) +static int imx_rpmsg_noirq_resume(struct device *dev) { struct imx_rpmsg_vproc *rpdev = dev_get_drvdata(dev); int ret; @@ -799,7 +799,10 @@ static int imx_rpmsg_resume(struct device *dev) } #endif -static SIMPLE_DEV_PM_OPS(imx_rpmsg_pm_ops, imx_rpmsg_suspend, imx_rpmsg_resume); +static const struct dev_pm_ops imx_rpmsg_pm_ops = { + SET_NOIRQ_SYSTEM_SLEEP_PM_OPS(imx_rpmsg_noirq_suspend, + imx_rpmsg_noirq_resume) +}; static struct platform_driver imx_rpmsg_driver = { .driver = {