From 5917ac431c00b5799c0664f5f28fc8273d110bc3 Mon Sep 17 00:00:00 2001 From: Magnus Damm Date: Wed, 17 Nov 2010 06:44:54 +0000 Subject: [PATCH] --- yaml --- r: 225628 b: refs/heads/master c: 6722a4016d7f5f107a82ad71a3ee1ccec105532f h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/video/sh_mipi_dsi.c | 14 ++++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 366444b1c509..46cb679131b0 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: deaba190188f1caa2317de4df6c9aaba501f9809 +refs/heads/master: 6722a4016d7f5f107a82ad71a3ee1ccec105532f diff --git a/trunk/drivers/video/sh_mipi_dsi.c b/trunk/drivers/video/sh_mipi_dsi.c index 148ee27cf81a..b40dc423cbdf 100644 --- a/trunk/drivers/video/sh_mipi_dsi.c +++ b/trunk/drivers/video/sh_mipi_dsi.c @@ -50,6 +50,9 @@ struct sh_mipi { void __iomem *linkbase; struct clk *dsit_clk; struct clk *dsip_clk; + void *next_board_data; + void (*next_display_on)(void *board_data, struct fb_info *info); + void (*next_display_off)(void *board_data); }; static struct sh_mipi *mipi_dsi[MAX_SH_MIPI_DSI]; @@ -122,12 +125,18 @@ static void mipi_display_on(void *arg, struct fb_info *info) struct sh_mipi *mipi = arg; sh_mipi_dsi_enable(mipi, true); + + if (mipi->next_display_on) + mipi->next_display_on(mipi->next_board_data, info); } static void mipi_display_off(void *arg) { struct sh_mipi *mipi = arg; + if (mipi->next_display_off) + mipi->next_display_off(mipi->next_board_data); + sh_mipi_dsi_enable(mipi, false); } @@ -443,6 +452,11 @@ static int __init sh_mipi_probe(struct platform_device *pdev) mutex_unlock(&array_lock); platform_set_drvdata(pdev, mipi); + /* Save original LCDC callbacks */ + mipi->next_board_data = pdata->lcd_chan->board_cfg.board_data; + mipi->next_display_on = pdata->lcd_chan->board_cfg.display_on; + mipi->next_display_off = pdata->lcd_chan->board_cfg.display_off; + /* Set up LCDC callbacks */ pdata->lcd_chan->board_cfg.board_data = mipi; pdata->lcd_chan->board_cfg.display_on = mipi_display_on;