diff options
author | Daniel Hillenbrand <daniel.hillenbrand@codeworkx.de> | 2012-07-21 23:04:45 +0200 |
---|---|---|
committer | Daniel Hillenbrand <daniel.hillenbrand@codeworkx.de> | 2012-07-21 23:04:45 +0200 |
commit | 0a1182796f6475b8cb2ff1781dad873a744b3197 (patch) | |
tree | e15b5256dac226c49a25b5e24594cd638e2fec2c /drivers/video/samsung/s3cfb_s6e8ab0.c | |
parent | 633018c13fe06461d9c60692fbb114734aa37802 (diff) | |
download | kernel_samsung_smdk4412-0a1182796f6475b8cb2ff1781dad873a744b3197.zip kernel_samsung_smdk4412-0a1182796f6475b8cb2ff1781dad873a744b3197.tar.gz kernel_samsung_smdk4412-0a1182796f6475b8cb2ff1781dad873a744b3197.tar.bz2 |
samsung opensource update3
Diffstat (limited to 'drivers/video/samsung/s3cfb_s6e8ab0.c')
-rw-r--r-- | drivers/video/samsung/s3cfb_s6e8ab0.c | 50 |
1 files changed, 11 insertions, 39 deletions
diff --git a/drivers/video/samsung/s3cfb_s6e8ab0.c b/drivers/video/samsung/s3cfb_s6e8ab0.c index 185bab0..bc47c37 100644 --- a/drivers/video/samsung/s3cfb_s6e8ab0.c +++ b/drivers/video/samsung/s3cfb_s6e8ab0.c @@ -101,9 +101,9 @@ struct lcd_info { struct str_elvss elvss; #endif unsigned int connected; -}; -static struct mipi_ddi_platform_data *ddi_pd; + struct dsim_global *dsim; +}; static int s6e8ax0_write(struct lcd_info *lcd, const unsigned char *seq, int len) { @@ -119,11 +119,11 @@ static int s6e8ax0_write(struct lcd_info *lcd, const unsigned char *seq, int len wbuf = seq; if (size == 1) - ddi_pd->cmd_write(ddi_pd->dsim_base, DCS_WR_NO_PARA, wbuf[0], 0); + lcd->dsim->ops->cmd_write(lcd->dsim, DCS_WR_NO_PARA, wbuf[0], 0); else if (size == 2) - ddi_pd->cmd_write(ddi_pd->dsim_base, DCS_WR_1_PARA, wbuf[0], wbuf[1]); + lcd->dsim->ops->cmd_write(lcd->dsim, DCS_WR_1_PARA, wbuf[0], wbuf[1]); else - ddi_pd->cmd_write(ddi_pd->dsim_base, DCS_LONG_WR, (unsigned int)wbuf, size); + lcd->dsim->ops->cmd_write(lcd->dsim, DCS_LONG_WR, (unsigned int)wbuf, size); mutex_unlock(&lcd->lock); @@ -139,44 +139,14 @@ static int _s6e8ax0_read(struct lcd_info *lcd, const u8 addr, u16 count, u8 *buf mutex_lock(&lcd->lock); - if (ddi_pd->cmd_read) - ret = ddi_pd->cmd_read(ddi_pd->dsim_base, addr, count, buf); + if (lcd->dsim->ops->cmd_read) + ret = lcd->dsim->ops->cmd_read(lcd->dsim, addr, count, buf); mutex_unlock(&lcd->lock); return ret; } -static int s6e8ax0_set_link(void *pd, unsigned int dsim_base, - unsigned char (*cmd_write) (unsigned int dsim_base, unsigned int data0, - unsigned int data1, unsigned int data2), - int (*cmd_read) (u32 reg_base, u8 addr, u16 count, u8 *buf)) -{ - struct mipi_ddi_platform_data *temp_pd = NULL; - - temp_pd = (struct mipi_ddi_platform_data *) pd; - if (temp_pd == NULL) { - printk(KERN_ERR "mipi_ddi_platform_data is null.\n"); - return -EPERM; - } - - ddi_pd = temp_pd; - - ddi_pd->dsim_base = dsim_base; - - if (cmd_write) - ddi_pd->cmd_write = cmd_write; - else - printk(KERN_WARNING "cmd_write function is null.\n"); - - if (cmd_read) - ddi_pd->cmd_read = cmd_read; - else - printk(KERN_WARNING "cmd_read function is null.\n"); - - return 0; -} - static int s6e8ax0_read(struct lcd_info *lcd, const u8 addr, u16 count, u8 *buf, u8 retry_cnt) { int ret = 0; @@ -781,6 +751,8 @@ void s6e8ax0_early_suspend(void) { struct lcd_info *lcd = g_lcd; + set_dsim_lcd_enabled(0); + dev_info(&lcd->ld->dev, "+%s\n", __func__); s6e8ax0_power(lcd, FB_BLANK_POWERDOWN); dev_info(&lcd->ld->dev, "-%s\n", __func__); @@ -796,7 +768,7 @@ void s6e8ax0_late_resume(void) s6e8ax0_power(lcd, FB_BLANK_UNBLANK); dev_info(&lcd->ld->dev, "-%s\n", __func__); - set_dsim_lcd_enabled(); + set_dsim_lcd_enabled(1); return ; } @@ -884,6 +856,7 @@ static int s6e8ax0_probe(struct device *dev) } lcd->dev = dev; + lcd->dsim = (struct dsim_global *)dev_get_drvdata(dev->parent); lcd->bd->props.max_brightness = MAX_BRIGHTNESS; lcd->bd->props.brightness = DEFAULT_BRIGHTNESS; lcd->bl = DEFAULT_GAMMA_LEVEL; @@ -990,7 +963,6 @@ static void s6e8ax0_shutdown(struct device *dev) static struct mipi_lcd_driver s6e8ax0_mipi_driver = { .name = "s6e8ab0", - .set_link = s6e8ax0_set_link, .probe = s6e8ax0_probe, .remove = __devexit_p(s6e8ax0_remove), .shutdown = s6e8ax0_shutdown, |