@@ -242,9 +242,31 @@ static struct attribute *splash_dev_attrs[] = {
ATTRIBUTE_GROUPS(splash_dev);
+
+
+/*
+ * Power management fixup via platform device
+ */
+
+static int splash_resume(struct device *device)
+{
+ if (bootsplash_would_render_now())
+ queue_work(splash_global.wq, &splash_work_redraw_vc);
+
+ return 0;
+}
+
+
+static const struct dev_pm_ops splash_pm_ops = {
+ .thaw = splash_resume,
+ .restore = splash_resume,
+ .resume = splash_resume,
+};
+
static struct platform_driver splash_driver = {
.driver = {
.name = "bootsplash",
+ .pm = &splash_pm_ops,
},
};