|
@@ -418,6 +418,26 @@ static int mxsfb_remove(struct platform_device *pdev)
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
+#ifdef CONFIG_PM_SLEEP
|
|
|
+static int mxsfb_suspend(struct device *dev)
|
|
|
+{
|
|
|
+ struct drm_device *drm = dev_get_drvdata(dev);
|
|
|
+
|
|
|
+ return drm_mode_config_helper_suspend(drm);
|
|
|
+}
|
|
|
+
|
|
|
+static int mxsfb_resume(struct device *dev)
|
|
|
+{
|
|
|
+ struct drm_device *drm = dev_get_drvdata(dev);
|
|
|
+
|
|
|
+ return drm_mode_config_helper_resume(drm);
|
|
|
+}
|
|
|
+#endif
|
|
|
+
|
|
|
+static const struct dev_pm_ops mxsfb_pm_ops = {
|
|
|
+ SET_SYSTEM_SLEEP_PM_OPS(mxsfb_suspend, mxsfb_resume)
|
|
|
+};
|
|
|
+
|
|
|
static struct platform_driver mxsfb_platform_driver = {
|
|
|
.probe = mxsfb_probe,
|
|
|
.remove = mxsfb_remove,
|
|
@@ -425,6 +445,7 @@ static struct platform_driver mxsfb_platform_driver = {
|
|
|
.driver = {
|
|
|
.name = "mxsfb",
|
|
|
.of_match_table = mxsfb_dt_ids,
|
|
|
+ .pm = &mxsfb_pm_ops,
|
|
|
},
|
|
|
};
|
|
|
|