Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e34d0bbb authored by Laurent Pinchart's avatar Laurent Pinchart
Browse files

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: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
parent afaad83b
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -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
+2 −0
Original line number Diff line number Diff line
@@ -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;
};

/*