Re: [PATCH] drm: remove drm_bridge->dev

From: Mihail Atanassov
Date: Wed Dec 11 2019 - 06:02:00 EST


Hi,

On Wednesday, 11 December 2019 07:38:29 GMT Thomas Zimmermann wrote:
> Hi
>
> Am 10.12.19 um 16:11 schrieb Mihail Atanassov:
> > As suggested in [1], the 'dev' field is a bit repetitive, since it 1:1
> > follows the setting and NULLing of the 'encoder' field. Therefore, use
> > drm_bridge->encoder->dev in place of drm_bridge->dev.
> >
> > [1] https://patchwork.freedesktop.org/patch/343824/
> >
> > Cc: Daniel Vetter <daniel@xxxxxxxx>
> > Suggested-by: Thomas Zimmermann <tzimmermann@xxxxxxx>
> > Signed-off-by: Mihail Atanassov <mihail.atanassov@xxxxxxx>
>
> Do you need help with merging the patch?

I've push rights to drm-misc-next, I'll handle it Soon(tm)/today. Thanks for
the offer, though :).

>
> Best regards
> Thomas
>
> > ---
> > drivers/gpu/drm/bridge/adv7511/adv7511_drv.c | 2 +-
> > drivers/gpu/drm/bridge/analogix/analogix-anx6345.c | 2 +-
> > drivers/gpu/drm/bridge/analogix/analogix-anx78xx.c | 2 +-
> > drivers/gpu/drm/bridge/cdns-dsi.c | 2 +-
> > drivers/gpu/drm/bridge/dumb-vga-dac.c | 2 +-
> > .../gpu/drm/bridge/megachips-stdpxxxx-ge-b850v3-fw.c | 2 +-
> > drivers/gpu/drm/bridge/nxp-ptn3460.c | 2 +-
> > drivers/gpu/drm/bridge/panel.c | 2 +-
> > drivers/gpu/drm/bridge/parade-ps8622.c | 2 +-
> > drivers/gpu/drm/bridge/sii902x.c | 6 +++---
> > drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 6 +++---
> > drivers/gpu/drm/bridge/tc358764.c | 4 ++--
> > drivers/gpu/drm/bridge/tc358767.c | 6 +++---
> > drivers/gpu/drm/bridge/ti-sn65dsi86.c | 2 +-
> > drivers/gpu/drm/bridge/ti-tfp410.c | 6 +++---
> > drivers/gpu/drm/drm_bridge.c | 10 ++++------
> > drivers/gpu/drm/i2c/tda998x_drv.c | 2 +-
> > drivers/gpu/drm/mcde/mcde_dsi.c | 2 +-
> > drivers/gpu/drm/msm/edp/edp_bridge.c | 2 +-
> > drivers/gpu/drm/msm/hdmi/hdmi_bridge.c | 4 ++--
> > drivers/gpu/drm/rcar-du/rcar_lvds.c | 3 ++-
> > include/drm/drm_bridge.h | 2 --
> > 22 files changed, 35 insertions(+), 38 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c b/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
> > index 9e13e466e72c..009cf1fef8d4 100644
> > --- a/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
> > +++ b/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
> > @@ -863,7 +863,7 @@ static int adv7511_bridge_attach(struct drm_bridge *bridge)
> > adv->connector.polled = DRM_CONNECTOR_POLL_CONNECT |
> > DRM_CONNECTOR_POLL_DISCONNECT;
> >
> > - ret = drm_connector_init(bridge->dev, &adv->connector,
> > + ret = drm_connector_init(bridge->encoder->dev, &adv->connector,
> > &adv7511_connector_funcs,
> > DRM_MODE_CONNECTOR_HDMIA);
> > if (ret) {
> > diff --git a/drivers/gpu/drm/bridge/analogix/analogix-anx6345.c b/drivers/gpu/drm/bridge/analogix/analogix-anx6345.c
> > index 9917ce0d86a0..5b806d23fcb3 100644
> > --- a/drivers/gpu/drm/bridge/analogix/analogix-anx6345.c
> > +++ b/drivers/gpu/drm/bridge/analogix/analogix-anx6345.c
> > @@ -541,7 +541,7 @@ static int anx6345_bridge_attach(struct drm_bridge *bridge)
> > return err;
> > }
> >
> > - err = drm_connector_init(bridge->dev, &anx6345->connector,
> > + err = drm_connector_init(bridge->encoder->dev, &anx6345->connector,
> > &anx6345_connector_funcs,
> > DRM_MODE_CONNECTOR_eDP);
> > if (err) {
> > diff --git a/drivers/gpu/drm/bridge/analogix/analogix-anx78xx.c b/drivers/gpu/drm/bridge/analogix/analogix-anx78xx.c
> > index 41867be03751..7463537950cb 100644
> > --- a/drivers/gpu/drm/bridge/analogix/analogix-anx78xx.c
> > +++ b/drivers/gpu/drm/bridge/analogix/analogix-anx78xx.c
> > @@ -908,7 +908,7 @@ static int anx78xx_bridge_attach(struct drm_bridge *bridge)
> > return err;
> > }
> >
> > - err = drm_connector_init(bridge->dev, &anx78xx->connector,
> > + err = drm_connector_init(bridge->encoder->dev, &anx78xx->connector,
> > &anx78xx_connector_funcs,
> > DRM_MODE_CONNECTOR_DisplayPort);
> > if (err) {
> > diff --git a/drivers/gpu/drm/bridge/cdns-dsi.c b/drivers/gpu/drm/bridge/cdns-dsi.c
> > index 3a5bd4e7fd1e..32863e3ad537 100644
> > --- a/drivers/gpu/drm/bridge/cdns-dsi.c
> > +++ b/drivers/gpu/drm/bridge/cdns-dsi.c
> > @@ -651,7 +651,7 @@ static int cdns_dsi_bridge_attach(struct drm_bridge *bridge)
> > struct cdns_dsi *dsi = input_to_dsi(input);
> > struct cdns_dsi_output *output = &dsi->output;
> >
> > - if (!drm_core_check_feature(bridge->dev, DRIVER_ATOMIC)) {
> > + if (!drm_core_check_feature(bridge->encoder->dev, DRIVER_ATOMIC)) {
> > dev_err(dsi->base.dev,
> > "cdns-dsi driver is only compatible with DRM devices supporting atomic updates");
> > return -ENOTSUPP;
> > diff --git a/drivers/gpu/drm/bridge/dumb-vga-dac.c b/drivers/gpu/drm/bridge/dumb-vga-dac.c
> > index cc33dc411b9e..67ad6cecf68d 100644
> > --- a/drivers/gpu/drm/bridge/dumb-vga-dac.c
> > +++ b/drivers/gpu/drm/bridge/dumb-vga-dac.c
> > @@ -112,7 +112,7 @@ static int dumb_vga_attach(struct drm_bridge *bridge)
> >
> > drm_connector_helper_add(&vga->connector,
> > &dumb_vga_con_helper_funcs);
> > - ret = drm_connector_init_with_ddc(bridge->dev, &vga->connector,
> > + ret = drm_connector_init_with_ddc(bridge->encoder->dev, &vga->connector,
> > &dumb_vga_con_funcs,
> > DRM_MODE_CONNECTOR_VGA,
> > vga->ddc);
> > diff --git a/drivers/gpu/drm/bridge/megachips-stdpxxxx-ge-b850v3-fw.c b/drivers/gpu/drm/bridge/megachips-stdpxxxx-ge-b850v3-fw.c
> > index e8a49f6146c6..c914f01e4707 100644
> > --- a/drivers/gpu/drm/bridge/megachips-stdpxxxx-ge-b850v3-fw.c
> > +++ b/drivers/gpu/drm/bridge/megachips-stdpxxxx-ge-b850v3-fw.c
> > @@ -223,7 +223,7 @@ static int ge_b850v3_lvds_attach(struct drm_bridge *bridge)
> > drm_connector_helper_add(connector,
> > &ge_b850v3_lvds_connector_helper_funcs);
> >
> > - ret = drm_connector_init(bridge->dev, connector,
> > + ret = drm_connector_init(bridge->encoder->dev, connector,
> > &ge_b850v3_lvds_connector_funcs,
> > DRM_MODE_CONNECTOR_DisplayPort);
> > if (ret) {
> > diff --git a/drivers/gpu/drm/bridge/nxp-ptn3460.c b/drivers/gpu/drm/bridge/nxp-ptn3460.c
> > index 57ff01339559..3999bb864eb9 100644
> > --- a/drivers/gpu/drm/bridge/nxp-ptn3460.c
> > +++ b/drivers/gpu/drm/bridge/nxp-ptn3460.c
> > @@ -247,7 +247,7 @@ static int ptn3460_bridge_attach(struct drm_bridge *bridge)
> > }
> >
> > ptn_bridge->connector.polled = DRM_CONNECTOR_POLL_HPD;
> > - ret = drm_connector_init(bridge->dev, &ptn_bridge->connector,
> > + ret = drm_connector_init(bridge->encoder->dev, &ptn_bridge->connector,
> > &ptn3460_connector_funcs, DRM_MODE_CONNECTOR_LVDS);
> > if (ret) {
> > DRM_ERROR("Failed to initialize connector with drm\n");
> > diff --git a/drivers/gpu/drm/bridge/panel.c b/drivers/gpu/drm/bridge/panel.c
> > index f66777e24968..4ba4e9d9537a 100644
> > --- a/drivers/gpu/drm/bridge/panel.c
> > +++ b/drivers/gpu/drm/bridge/panel.c
> > @@ -67,7 +67,7 @@ static int panel_bridge_attach(struct drm_bridge *bridge)
> > drm_connector_helper_add(connector,
> > &panel_bridge_connector_helper_funcs);
> >
> > - ret = drm_connector_init(bridge->dev, connector,
> > + ret = drm_connector_init(bridge->encoder->dev, connector,
> > &panel_bridge_connector_funcs,
> > panel_bridge->connector_type);
> > if (ret) {
> > diff --git a/drivers/gpu/drm/bridge/parade-ps8622.c b/drivers/gpu/drm/bridge/parade-ps8622.c
> > index 10c47c008b40..c32af9c2bbcc 100644
> > --- a/drivers/gpu/drm/bridge/parade-ps8622.c
> > +++ b/drivers/gpu/drm/bridge/parade-ps8622.c
> > @@ -487,7 +487,7 @@ static int ps8622_attach(struct drm_bridge *bridge)
> > }
> >
> > ps8622->connector.polled = DRM_CONNECTOR_POLL_HPD;
> > - ret = drm_connector_init(bridge->dev, &ps8622->connector,
> > + ret = drm_connector_init(bridge->encoder->dev, &ps8622->connector,
> > &ps8622_connector_funcs, DRM_MODE_CONNECTOR_LVDS);
> > if (ret) {
> > DRM_ERROR("Failed to initialize connector with drm\n");
> > diff --git a/drivers/gpu/drm/bridge/sii902x.c b/drivers/gpu/drm/bridge/sii902x.c
> > index b70e8c5cf2e1..6ca297d78a26 100644
> > --- a/drivers/gpu/drm/bridge/sii902x.c
> > +++ b/drivers/gpu/drm/bridge/sii902x.c
> > @@ -402,7 +402,7 @@ static void sii902x_bridge_mode_set(struct drm_bridge *bridge,
> > static int sii902x_bridge_attach(struct drm_bridge *bridge)
> > {
> > struct sii902x *sii902x = bridge_to_sii902x(bridge);
> > - struct drm_device *drm = bridge->dev;
> > + struct drm_device *drm = bridge->encoder->dev;
> > int ret;
> >
> > drm_connector_helper_add(&sii902x->connector,
> > @@ -820,8 +820,8 @@ static irqreturn_t sii902x_interrupt(int irq, void *data)
> >
> > mutex_unlock(&sii902x->mutex);
> >
> > - if ((status & SII902X_HOTPLUG_EVENT) && sii902x->bridge.dev)
> > - drm_helper_hpd_irq_event(sii902x->bridge.dev);
> > + if ((status & SII902X_HOTPLUG_EVENT) && sii902x->bridge.encoder)
> > + drm_helper_hpd_irq_event(sii902x->bridge.encoder->dev);
> >
> > return IRQ_HANDLED;
> > }
> > diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
> > index dbe38a54870b..99274ca0fdf6 100644
> > --- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
> > +++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
> > @@ -2346,7 +2346,7 @@ static int dw_hdmi_bridge_attach(struct drm_bridge *bridge)
> >
> > drm_connector_helper_add(connector, &dw_hdmi_connector_helper_funcs);
> >
> > - drm_connector_init_with_ddc(bridge->dev, connector,
> > + drm_connector_init_with_ddc(bridge->encoder->dev, connector,
> > &dw_hdmi_connector_funcs,
> > DRM_MODE_CONNECTOR_HDMIA,
> > hdmi->ddc);
> > @@ -2554,8 +2554,8 @@ static irqreturn_t dw_hdmi_irq(int irq, void *dev_id)
> > if (intr_stat & HDMI_IH_PHY_STAT0_HPD) {
> > dev_dbg(hdmi->dev, "EVENT=%s\n",
> > phy_int_pol & HDMI_PHY_HPD ? "plugin" : "plugout");
> > - if (hdmi->bridge.dev)
> > - drm_helper_hpd_irq_event(hdmi->bridge.dev);
> > + if (hdmi->bridge.encoder)
> > + drm_helper_hpd_irq_event(hdmi->bridge.encoder->dev);
> > }
> >
> > hdmi_writeb(hdmi, intr_stat, HDMI_IH_PHY_STAT0);
> > diff --git a/drivers/gpu/drm/bridge/tc358764.c b/drivers/gpu/drm/bridge/tc358764.c
> > index 96207fcfde19..e35e17b1f396 100644
> > --- a/drivers/gpu/drm/bridge/tc358764.c
> > +++ b/drivers/gpu/drm/bridge/tc358764.c
> > @@ -352,7 +352,7 @@ static void tc358764_enable(struct drm_bridge *bridge)
> > static int tc358764_attach(struct drm_bridge *bridge)
> > {
> > struct tc358764 *ctx = bridge_to_tc358764(bridge);
> > - struct drm_device *drm = bridge->dev;
> > + struct drm_device *drm = bridge->encoder->dev;
> > int ret;
> >
> > ctx->connector.polled = DRM_CONNECTOR_POLL_HPD;
> > @@ -378,7 +378,7 @@ static int tc358764_attach(struct drm_bridge *bridge)
> > static void tc358764_detach(struct drm_bridge *bridge)
> > {
> > struct tc358764 *ctx = bridge_to_tc358764(bridge);
> > - struct drm_device *drm = bridge->dev;
> > + struct drm_device *drm = bridge->encoder->dev;
> >
> > drm_connector_unregister(&ctx->connector);
> > drm_fb_helper_remove_one_connector(drm->fb_helper, &ctx->connector);
> > diff --git a/drivers/gpu/drm/bridge/tc358767.c b/drivers/gpu/drm/bridge/tc358767.c
> > index 3709e5ace724..ab1524c00777 100644
> > --- a/drivers/gpu/drm/bridge/tc358767.c
> > +++ b/drivers/gpu/drm/bridge/tc358767.c
> > @@ -1407,7 +1407,7 @@ static int tc_bridge_attach(struct drm_bridge *bridge)
> > {
> > u32 bus_format = MEDIA_BUS_FMT_RGB888_1X24;
> > struct tc_data *tc = bridge_to_tc(bridge);
> > - struct drm_device *drm = bridge->dev;
> > + struct drm_device *drm = bridge->encoder->dev;
> > int ret;
> >
> > /* Create DP/eDP connector */
> > @@ -1514,7 +1514,7 @@ static irqreturn_t tc_irq_handler(int irq, void *arg)
> > dev_err(tc->dev, "syserr %x\n", stat);
> > }
> >
> > - if (tc->hpd_pin >= 0 && tc->bridge.dev) {
> > + if (tc->hpd_pin >= 0 && tc->bridge.encoder) {
> > /*
> > * H is triggered when the GPIO goes high.
> > *
> > @@ -1528,7 +1528,7 @@ static irqreturn_t tc_irq_handler(int irq, void *arg)
> > h ? "H" : "", lc ? "LC" : "");
> >
> > if (h || lc)
> > - drm_kms_helper_hotplug_event(tc->bridge.dev);
> > + drm_kms_helper_hotplug_event(tc->bridge.encoder->dev);
> > }
> >
> > regmap_write(tc->regmap, INTSTS_G, val);
> > diff --git a/drivers/gpu/drm/bridge/ti-sn65dsi86.c b/drivers/gpu/drm/bridge/ti-sn65dsi86.c
> > index 9a2dd986afa5..8a4e64cfca1e 100644
> > --- a/drivers/gpu/drm/bridge/ti-sn65dsi86.c
> > +++ b/drivers/gpu/drm/bridge/ti-sn65dsi86.c
> > @@ -275,7 +275,7 @@ static int ti_sn_bridge_attach(struct drm_bridge *bridge)
> > .node = NULL,
> > };
> >
> > - ret = drm_connector_init(bridge->dev, &pdata->connector,
> > + ret = drm_connector_init(bridge->encoder->dev, &pdata->connector,
> > &ti_sn_bridge_connector_funcs,
> > DRM_MODE_CONNECTOR_eDP);
> > if (ret) {
> > diff --git a/drivers/gpu/drm/bridge/ti-tfp410.c b/drivers/gpu/drm/bridge/ti-tfp410.c
> > index aa3198dc9903..76229367e2f4 100644
> > --- a/drivers/gpu/drm/bridge/ti-tfp410.c
> > +++ b/drivers/gpu/drm/bridge/ti-tfp410.c
> > @@ -135,7 +135,7 @@ static int tfp410_attach(struct drm_bridge *bridge)
> >
> > drm_connector_helper_add(&dvi->connector,
> > &tfp410_con_helper_funcs);
> > - ret = drm_connector_init_with_ddc(bridge->dev, &dvi->connector,
> > + ret = drm_connector_init_with_ddc(bridge->encoder->dev, &dvi->connector,
> > &tfp410_con_funcs,
> > dvi->connector_type,
> > dvi->ddc);
> > @@ -179,8 +179,8 @@ static void tfp410_hpd_work_func(struct work_struct *work)
> >
> > dvi = container_of(work, struct tfp410, hpd_work.work);
> >
> > - if (dvi->bridge.dev)
> > - drm_helper_hpd_irq_event(dvi->bridge.dev);
> > + if (dvi->bridge.encoder)
> > + drm_helper_hpd_irq_event(dvi->bridge.encoder->dev);
> > }
> >
> > static irqreturn_t tfp410_hpd_irq_thread(int irq, void *arg)
> > diff --git a/drivers/gpu/drm/drm_bridge.c b/drivers/gpu/drm/drm_bridge.c
> > index c2cf0c90fa26..eaa20804b038 100644
> > --- a/drivers/gpu/drm/drm_bridge.c
> > +++ b/drivers/gpu/drm/drm_bridge.c
> > @@ -119,13 +119,12 @@ int drm_bridge_attach(struct drm_encoder *encoder, struct drm_bridge *bridge,
> > if (!encoder || !bridge)
> > return -EINVAL;
> >
> > - if (previous && (!previous->dev || previous->encoder != encoder))
> > + if (previous && (previous->encoder != encoder))
> > return -EINVAL;
> >
> > - if (bridge->dev)
> > + if (bridge->encoder)
> > return -EBUSY;
> >
> > - bridge->dev = encoder->dev;
> > bridge->encoder = encoder;
> >
> > if (previous)
> > @@ -137,7 +136,6 @@ int drm_bridge_attach(struct drm_encoder *encoder, struct drm_bridge *bridge,
> > ret = bridge->funcs->attach(bridge);
> > if (ret < 0) {
> > list_del(&bridge->chain_node);
> > - bridge->dev = NULL;
> > bridge->encoder = NULL;
> > return ret;
> > }
> > @@ -152,14 +150,14 @@ void drm_bridge_detach(struct drm_bridge *bridge)
> > if (WARN_ON(!bridge))
> > return;
> >
> > - if (WARN_ON(!bridge->dev))
> > + if (WARN_ON(!bridge->encoder))
> > return;
> >
> > if (bridge->funcs->detach)
> > bridge->funcs->detach(bridge);
> >
> > list_del(&bridge->chain_node);
> > - bridge->dev = NULL;
> > + bridge->encoder = NULL;
> > }
> >
> > /**
> > diff --git a/drivers/gpu/drm/i2c/tda998x_drv.c b/drivers/gpu/drm/i2c/tda998x_drv.c
> > index a63790d32d75..17a66ef3dfd4 100644
> > --- a/drivers/gpu/drm/i2c/tda998x_drv.c
> > +++ b/drivers/gpu/drm/i2c/tda998x_drv.c
> > @@ -1360,7 +1360,7 @@ static int tda998x_bridge_attach(struct drm_bridge *bridge)
> > {
> > struct tda998x_priv *priv = bridge_to_tda998x_priv(bridge);
> >
> > - return tda998x_connector_init(priv, bridge->dev);
> > + return tda998x_connector_init(priv, bridge->encoder->dev);
> > }
> >
> > static void tda998x_bridge_detach(struct drm_bridge *bridge)
> > diff --git a/drivers/gpu/drm/mcde/mcde_dsi.c b/drivers/gpu/drm/mcde/mcde_dsi.c
> > index 42fff811653e..c08d7ede9fb8 100644
> > --- a/drivers/gpu/drm/mcde/mcde_dsi.c
> > +++ b/drivers/gpu/drm/mcde/mcde_dsi.c
> > @@ -846,7 +846,7 @@ static void mcde_dsi_bridge_disable(struct drm_bridge *bridge)
> > static int mcde_dsi_bridge_attach(struct drm_bridge *bridge)
> > {
> > struct mcde_dsi *d = bridge_to_mcde_dsi(bridge);
> > - struct drm_device *drm = bridge->dev;
> > + struct drm_device *drm = bridge->encoder->dev;
> > int ret;
> >
> > if (!drm_core_check_feature(drm, DRIVER_ATOMIC)) {
> > diff --git a/drivers/gpu/drm/msm/edp/edp_bridge.c b/drivers/gpu/drm/msm/edp/edp_bridge.c
> > index b65b5cc2dba2..301dd7a80bde 100644
> > --- a/drivers/gpu/drm/msm/edp/edp_bridge.c
> > +++ b/drivers/gpu/drm/msm/edp/edp_bridge.c
> > @@ -47,7 +47,7 @@ static void edp_bridge_mode_set(struct drm_bridge *bridge,
> > const struct drm_display_mode *mode,
> > const struct drm_display_mode *adjusted_mode)
> > {
> > - struct drm_device *dev = bridge->dev;
> > + struct drm_device *dev = bridge->encoder->dev;
> > struct drm_connector *connector;
> > struct edp_bridge *edp_bridge = to_edp_bridge(bridge);
> > struct msm_edp *edp = edp_bridge->edp;
> > diff --git a/drivers/gpu/drm/msm/hdmi/hdmi_bridge.c b/drivers/gpu/drm/msm/hdmi/hdmi_bridge.c
> > index ba81338a9bf8..07c098dce310 100644
> > --- a/drivers/gpu/drm/msm/hdmi/hdmi_bridge.c
> > +++ b/drivers/gpu/drm/msm/hdmi/hdmi_bridge.c
> > @@ -20,7 +20,7 @@ void msm_hdmi_bridge_destroy(struct drm_bridge *bridge)
> >
> > static void msm_hdmi_power_on(struct drm_bridge *bridge)
> > {
> > - struct drm_device *dev = bridge->dev;
> > + struct drm_device *dev = bridge->encoder->dev;
> > struct hdmi_bridge *hdmi_bridge = to_hdmi_bridge(bridge);
> > struct hdmi *hdmi = hdmi_bridge->hdmi;
> > const struct hdmi_platform_config *config = hdmi->config;
> > @@ -56,7 +56,7 @@ static void msm_hdmi_power_on(struct drm_bridge *bridge)
> >
> > static void power_off(struct drm_bridge *bridge)
> > {
> > - struct drm_device *dev = bridge->dev;
> > + struct drm_device *dev = bridge->encoder->dev;
> > struct hdmi_bridge *hdmi_bridge = to_hdmi_bridge(bridge);
> > struct hdmi *hdmi = hdmi_bridge->hdmi;
> > const struct hdmi_platform_config *config = hdmi->config;
> > diff --git a/drivers/gpu/drm/rcar-du/rcar_lvds.c b/drivers/gpu/drm/rcar-du/rcar_lvds.c
> > index 2cf44b91853c..83538125a722 100644
> > --- a/drivers/gpu/drm/rcar-du/rcar_lvds.c
> > +++ b/drivers/gpu/drm/rcar-du/rcar_lvds.c
> > @@ -622,7 +622,8 @@ static int rcar_lvds_attach(struct drm_bridge *bridge)
> > if (!lvds->panel)
> > return 0;
> >
> > - ret = drm_connector_init(bridge->dev, connector, &rcar_lvds_conn_funcs,
> > + ret = drm_connector_init(bridge->encoder->dev, connector,
> > + &rcar_lvds_conn_funcs,
> > DRM_MODE_CONNECTOR_LVDS);
> > if (ret < 0)
> > return ret;
> > diff --git a/include/drm/drm_bridge.h b/include/drm/drm_bridge.h
> > index 694e153a7531..695d0898df38 100644
> > --- a/include/drm/drm_bridge.h
> > +++ b/include/drm/drm_bridge.h
> > @@ -380,8 +380,6 @@ struct drm_bridge_timings {
> > * struct drm_bridge - central DRM bridge control structure
> > */
> > struct drm_bridge {
> > - /** @dev: DRM device this bridge belongs to */
> > - struct drm_device *dev;
> > /** @encoder: encoder to which this bridge is connected */
> > struct drm_encoder *encoder;
> > /** @chain_node: used to form a bridge chain */
> >
>
>


--
Mihail