| From 60a5a49490ff63dc2a0864406fafd92b52da1e69 Mon Sep 17 00:00:00 2001 |
| From: Laurent Pinchart <laurent.pinchart@ideasonboard.com> |
| Date: Sun, 18 Sep 2011 12:21:17 +0200 |
| Subject: 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> |
| (cherry picked from commit e34d0bbb062cc78802d0f0686c939ea1569889a6) |
| |
| Signed-off-by: Simon Horman <horms@verge.net.au> |
| --- |
| drivers/video/sh_mobile_lcdcfb.c | 5 ++++- |
| drivers/video/sh_mobile_lcdcfb.h | 2 ++ |
| 2 files changed, 6 insertions(+), 1 deletion(-) |
| |
| diff --git a/drivers/video/sh_mobile_lcdcfb.c b/drivers/video/sh_mobile_lcdcfb.c |
| index 9e44988..1ecc71e 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 |
| diff --git a/drivers/video/sh_mobile_lcdcfb.h b/drivers/video/sh_mobile_lcdcfb.h |
| index 9601b92..36cd564 100644 |
| --- a/drivers/video/sh_mobile_lcdcfb.h |
| +++ b/drivers/video/sh_mobile_lcdcfb.h |
| @@ -19,6 +19,7 @@ struct fb_info; |
| struct module; |
| struct sh_mobile_lcdc_entity; |
| struct sh_mobile_lcdc_priv; |
| +struct sh_mobile_lcdc_chan; |
| |
| struct sh_mobile_lcdc_entity_ops { |
| /* Display */ |
| @@ -30,6 +31,7 @@ struct sh_mobile_lcdc_entity_ops { |
| struct sh_mobile_lcdc_entity { |
| struct module *owner; |
| const struct sh_mobile_lcdc_entity_ops *ops; |
| + struct sh_mobile_lcdc_chan *lcdc; |
| }; |
| |
| /* |
| -- |
| 1.7.10 |
| |