summaryrefslogtreecommitdiff
path: root/drivers/video/sh_mobile_lcdcfb.c
diff options
context:
space:
mode:
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>2011-09-18 14:21:17 +0400
committerLaurent Pinchart <laurent.pinchart@ideasonboard.com>2012-03-13 01:40:50 +0400
commite34d0bbb062cc78802d0f0686c939ea1569889a6 (patch)
treebf38b9444117c01a7675546741c2623efa76be8c /drivers/video/sh_mobile_lcdcfb.c
parentafaad83b9c0d24eac88535cc5a8c6019f0c45bcb (diff)
downloadlinux-e34d0bbb062cc78802d0f0686c939ea1569889a6.tar.xz
sh_mobile_lcdc: Add an lcdc channel pointer to sh_mobile_lcdc_entity
The field will be used by the transmitter drivers to access sh_mobile_lcdc_chan fields such as fb_info. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Diffstat (limited to 'drivers/video/sh_mobile_lcdcfb.c')
-rw-r--r--drivers/video/sh_mobile_lcdcfb.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/video/sh_mobile_lcdcfb.c b/drivers/video/sh_mobile_lcdcfb.c
index 9e44988155a4..1ecc71ec41ff 100644
--- a/drivers/video/sh_mobile_lcdcfb.c
+++ b/drivers/video/sh_mobile_lcdcfb.c
@@ -1495,8 +1495,10 @@ static int sh_mobile_lcdc_remove(struct platform_device *pdev)
if (!info || !info->device)
continue;
- if (ch->tx_dev)
+ if (ch->tx_dev) {
+ ch->tx_dev->lcdc = NULL;
module_put(ch->cfg.tx_dev->dev.driver->owner);
+ }
if (ch->sglist)
vfree(ch->sglist);
@@ -1605,6 +1607,7 @@ sh_mobile_lcdc_channel_init(struct sh_mobile_lcdc_priv *priv,
return -EINVAL;
}
ch->tx_dev = platform_get_drvdata(cfg->tx_dev);
+ ch->tx_dev->lcdc = ch;
}
/* Iterate through the modes to validate them and find the highest