HACK: video: s3c-fb: send fb notification on primary display blank
The board and panel expect fb notifications on blank. Rather than
rewire everything to use a more generic notifier, just generate an
equivalent FB event on blank.
Change-Id: I0626bc6bae678f87d72074828a5c85964c3ee487
Signed-off-by: Greg Hackmann <ghackmann@google.com>
diff --git a/arch/arm/mach-exynos/board-manta-display.c b/arch/arm/mach-exynos/board-manta-display.c
index d98233c..3bc1b19 100644
--- a/arch/arm/mach-exynos/board-manta-display.c
+++ b/arch/arm/mach-exynos/board-manta-display.c
@@ -102,8 +102,14 @@
manta_lcd_off();
}
+static int manta_lcd_match_fb(struct plat_lcd_data *pd, struct fb_info *info)
+{
+ return 1;
+}
+
static struct plat_lcd_data manta_lcd_data = {
.set_power = manta_lcd_set_power,
+ .match_fb = manta_lcd_match_fb,
};
static struct platform_device manta_lcd = {
diff --git a/drivers/video/s3c-fb.c b/drivers/video/s3c-fb.c
index 2d5879c..52cdee7 100644
--- a/drivers/video/s3c-fb.c
+++ b/drivers/video/s3c-fb.c
@@ -595,6 +595,16 @@
pm_runtime_put_sync(sfb->dev);
+ if (ret == 0) {
+ struct fb_event event;
+ int fb_state = (dpms_state == DRM_MODE_DPMS_OFF) ?
+ FB_BLANK_POWERDOWN : FB_BLANK_UNBLANK;
+
+ event.info = NULL;
+ event.data = &fb_state;
+ fb_notifier_call_chain(FB_EVENT_BLANK, &event);
+ }
+
return ret;
}