aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/video/sh_mipi_dsi.c3
-rw-r--r--drivers/video/sh_mobile_hdmi.c11
-rw-r--r--drivers/video/sh_mobile_lcdcfb.c2
-rw-r--r--drivers/video/sh_mobile_lcdcfb.h3
4 files changed, 6 insertions, 13 deletions
diff --git a/drivers/video/sh_mipi_dsi.c b/drivers/video/sh_mipi_dsi.c
index ad09a05afd5f..1ede247547f9 100644
--- a/drivers/video/sh_mipi_dsi.c
+++ b/drivers/video/sh_mipi_dsi.c
@@ -394,8 +394,7 @@ static int __init sh_mipi_setup(struct sh_mipi *mipi,
394 return 0; 394 return 0;
395} 395}
396 396
397static int mipi_display_on(struct sh_mobile_lcdc_entity *entity, 397static int mipi_display_on(struct sh_mobile_lcdc_entity *entity)
398 struct fb_info *info)
399{ 398{
400 struct sh_mipi *mipi = to_sh_mipi(entity); 399 struct sh_mipi *mipi = to_sh_mipi(entity);
401 struct sh_mipi_dsi_info *pdata = mipi->pdev->dev.platform_data; 400 struct sh_mipi_dsi_info *pdata = mipi->pdev->dev.platform_data;
diff --git a/drivers/video/sh_mobile_hdmi.c b/drivers/video/sh_mobile_hdmi.c
index bd885ee78d54..c22e123ec401 100644
--- a/drivers/video/sh_mobile_hdmi.c
+++ b/drivers/video/sh_mobile_hdmi.c
@@ -1000,16 +1000,11 @@ static irqreturn_t sh_hdmi_hotplug(int irq, void *dev_id)
1000 return IRQ_HANDLED; 1000 return IRQ_HANDLED;
1001} 1001}
1002 1002
1003/* locking: called with info->lock held, or before register_framebuffer() */ 1003static int sh_hdmi_display_on(struct sh_mobile_lcdc_entity *entity)
1004static int sh_hdmi_display_on(struct sh_mobile_lcdc_entity *entity,
1005 struct fb_info *info)
1006{ 1004{
1007 /*
1008 * info is guaranteed to be valid, when we are called, because our
1009 * FB_EVENT_FB_UNBIND notify is also called with info->lock held
1010 */
1011 struct sh_hdmi *hdmi = entity_to_sh_hdmi(entity); 1005 struct sh_hdmi *hdmi = entity_to_sh_hdmi(entity);
1012 struct sh_mobile_lcdc_chan *ch = entity->lcdc; 1006 struct sh_mobile_lcdc_chan *ch = entity->lcdc;
1007 struct fb_info *info = ch->info;
1013 1008
1014 dev_dbg(hdmi->dev, "%s(%p): state %x\n", __func__, hdmi, info->state); 1009 dev_dbg(hdmi->dev, "%s(%p): state %x\n", __func__, hdmi, info->state);
1015 1010
@@ -1156,7 +1151,7 @@ static void sh_hdmi_edid_work_fn(struct work_struct *work)
1156 */ 1151 */
1157 info->var.width = hdmi->var.width; 1152 info->var.width = hdmi->var.width;
1158 info->var.height = hdmi->var.height; 1153 info->var.height = hdmi->var.height;
1159 sh_hdmi_display_on(&hdmi->entity, info); 1154 sh_hdmi_display_on(&hdmi->entity);
1160 } else { 1155 } else {
1161 /* New monitor or have to wake up */ 1156 /* New monitor or have to wake up */
1162 fb_set_suspend(info, 0); 1157 fb_set_suspend(info, 0);
diff --git a/drivers/video/sh_mobile_lcdcfb.c b/drivers/video/sh_mobile_lcdcfb.c
index 1ecc71ec41ff..03ee3826fb62 100644
--- a/drivers/video/sh_mobile_lcdcfb.c
+++ b/drivers/video/sh_mobile_lcdcfb.c
@@ -338,7 +338,7 @@ static void sh_mobile_lcdc_display_on(struct sh_mobile_lcdc_chan *ch)
338 struct sh_mobile_lcdc_panel_cfg *panel = &ch->cfg.panel_cfg; 338 struct sh_mobile_lcdc_panel_cfg *panel = &ch->cfg.panel_cfg;
339 339
340 if (ch->tx_dev) { 340 if (ch->tx_dev) {
341 if (ch->tx_dev->ops->display_on(ch->tx_dev, ch->info) < 0) 341 if (ch->tx_dev->ops->display_on(ch->tx_dev) < 0)
342 return; 342 return;
343 } 343 }
344 344
diff --git a/drivers/video/sh_mobile_lcdcfb.h b/drivers/video/sh_mobile_lcdcfb.h
index 36cd5649598b..b2cb8e6d098c 100644
--- a/drivers/video/sh_mobile_lcdcfb.h
+++ b/drivers/video/sh_mobile_lcdcfb.h
@@ -23,8 +23,7 @@ struct sh_mobile_lcdc_chan;
23 23
24struct sh_mobile_lcdc_entity_ops { 24struct sh_mobile_lcdc_entity_ops {
25 /* Display */ 25 /* Display */
26 int (*display_on)(struct sh_mobile_lcdc_entity *entity, 26 int (*display_on)(struct sh_mobile_lcdc_entity *entity);
27 struct fb_info *info);
28 void (*display_off)(struct sh_mobile_lcdc_entity *entity); 27 void (*display_off)(struct sh_mobile_lcdc_entity *entity);
29}; 28};
30 29