_ipu_put(ipu);
ret = pm_runtime_put_sync_suspend(ipu->dev);
- if (ret < 0) {
+ if (ret < 0 && ret != -ENOSYS) {
dev_err(ipu->dev, "ch = %d, pm_runtime_put failed:%d!\n",
IPU_CHAN_ID(channel), ret);
dump_stack();
EXPORT_SYMBOL(ipu_ch_param_bad_alpha_pos);
#ifdef CONFIG_PM
+#ifdef CONFIG_PM_SLEEP
static int ipu_suspend(struct device *dev)
{
struct ipu_soc *ipu = dev_get_drvdata(dev);
dev_dbg(dev, "ipu resume.\n");
return 0;
}
+#endif
+#ifdef CONFIG_PM_RUNTIME
int ipu_runtime_suspend(struct device *dev)
{
#if 0
#endif
return 0;
}
+#endif
static const struct dev_pm_ops ipu_pm_ops = {
SET_RUNTIME_PM_OPS(ipu_runtime_suspend, ipu_runtime_resume, NULL)
*/
static struct platform_driver mxcipu_driver = {
.driver = {
- .name = "imx-ipuv3",
- .of_match_table = imx_ipuv3_dt_ids,
- #ifdef CONFIG_PM
- .pm = &ipu_pm_ops,
- #endif
+ .name = "imx-ipuv3",
+ .of_match_table = imx_ipuv3_dt_ids,
+#ifdef CONFIG_PM
+ .pm = &ipu_pm_ops,
+#endif
},
.probe = ipu_probe,
.id_table = imx_ipu_type,