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 <hongxing.zhu@nxp.com>
Tested-by: Clark Wang <xiaoning.wang@nxp.com>
Signed-off-by: Anson Huang <anson.huang@nxp.com>
Signed-off-by: Li Jun <jun.li@nxp.com>
}
#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);
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;
}
#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 = {