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>
This commit is contained in:
Родитель
afaad83b9c
Коммит
e34d0bbb06
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
};
|
||||
|
||||
/*
|
||||
|
|
Загрузка…
Ссылка в новой задаче