* [PATCH v3 00/35] drm/bridge: Consolidate initialization
@ 2019-12-24 17:34 Mihail Atanassov
2019-12-24 17:34 ` [PATCH v3 01/35] drm: Remove drm_bridge->dev Mihail Atanassov
` (35 more replies)
0 siblings, 36 replies; 37+ messages in thread
From: Mihail Atanassov @ 2019-12-24 17:34 UTC (permalink / raw)
To: dri-devel
Cc: Martyn Welch, Neil Armstrong, David Airlie, Peter Senna Tschudin,
Laurent Pinchart, Mihail Atanassov, Sam Ravnborg,
linux-samsung-soc, Vincent Abriou, Russell King,
Krzysztof Kozlowski, Kukjin Kim, Thomas Zimmermann,
linux-arm-msm, linux-mediatek, Matthias Brugger, nd, Sean Paul,
linux-arm-kernel, linux-kernel, linux-renesas-soc, freedreno
Hi all,
Version 3 of my drm_bridge_init() series here. The biggest change from
the previous version is the removal of drm_bridge->dev (1/35) and the
removal of ->driver_private (2-7/35). The rest of the patches are mostly
the same, save for dropping the driver_private argument from
drm_bridge_init().
v3:
- remove drm_bridge->dev (Thomas)
- convert ->driver_private users to container_of() (Laurent)
- remove drm_bridge->driver_private (Laurent)
- remove driver_private argument from drm_bridge_init() (Laurent)
- clean up the wording on some comments (Laurent)
- pass the correct struct device to drm_bridge_init in analogix
(Laurent)
- I've kept the rcar-du patches separate but changed their order; this
should make it easier to take only one part of the series if needed
v2:
- expanded commit messages and added some extra bridge-related
documentation (Daniel)
- dropped v1 patches 29 and 30: 29 needs more work, and 30 depends on
it
- added all remaining drm_bridge implementers, found by searching for
drm_bridge_funcs which is mandatory for any bridge; new uses in
patches 3, 27, and 28 (Sam)
- due to the above, I've decided to squash all analogix changes into
one patch
Mihail Atanassov (35):
drm: Remove drm_bridge->dev
drm/bridge: analogix_dp: Stop using drm_bridge->driver_private
drm/bridge/synopsys: Stop using drm_bridge->driver_private
drm/bridge: thc63lvd1024: Don't set drm_bridge->driver_private
drm/exynos: mic: Stop using drm_bridge->driver_private
drm: rcar-du: lvds: Don't set drm_bridge->driver_private
drm/sti: Stop using drm_bridge->driver_private
drm: Remove drm_bridge->driver_private
drm: Introduce drm_bridge_init()
drm/bridge: adv7511: Use drm_bridge_init()
drm/bridge/analogix: Use drm_bridge_init()
drm/bridge: cdns: Use drm_bridge_init()
drm/bridge: dumb-vga-dac: Use drm_bridge_init()
drm/bridge: lvds-codec: Use drm_bridge_init()
drm/bridge: megachips-stdpxxxx-ge-b850v3-fw: Use drm_bridge_init()
drm/bridge: nxp-ptn3460: Use drm_bridge_init()
drm/bridge: panel: Use drm_bridge_init()
drm/bridge: ps8622: Use drm_bridge_init()
drm/bridge: sii902x: Use drm_bridge_init()
drm/bridge: sii9234: Use drm_bridge_init()
drm/bridge: sil_sii8620: Use drm_bridge_init()
drm/bridge: dw-hdmi: Use drm_bridge_init()
drm/bridge/synopsys: dsi: Use drm_bridge_init()
drm/bridge: tc358764: Use drm_bridge_init()
drm/bridge: tc358767: Use drm_bridge_init()
drm/bridge: thc63: Use drm_bridge_init()
drm/bridge: ti-sn65dsi86: Use drm_bridge_init()
drm/bridge: ti-tfp410: Use drm_bridge_init()
drm/exynos: mic: Use drm_bridge_init()
drm/i2c: tda998x: Use drm_bridge_init()
drm/mcde: dsi: Use drm_bridge_init()
drm/mediatek: hdmi: Use drm_bridge_init()
drm: rcar-du: lvds: Use drm_bridge_init()
drm/sti: Use drm_bridge_init()
drm/msm: Use drm_bridge_init()
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c | 6 +--
.../drm/bridge/analogix/analogix-anx6345.c | 7 ++--
.../drm/bridge/analogix/analogix-anx78xx.c | 10 ++---
.../drm/bridge/analogix/analogix_dp_core.c | 42 +++++++------------
.../drm/bridge/analogix/analogix_dp_core.h | 8 +++-
drivers/gpu/drm/bridge/cdns-dsi.c | 6 +--
drivers/gpu/drm/bridge/dumb-vga-dac.c | 8 ++--
drivers/gpu/drm/bridge/lvds-codec.c | 8 ++--
.../bridge/megachips-stdpxxxx-ge-b850v3-fw.c | 6 +--
drivers/gpu/drm/bridge/nxp-ptn3460.c | 5 +--
drivers/gpu/drm/bridge/panel.c | 9 ++--
drivers/gpu/drm/bridge/parade-ps8622.c | 5 +--
drivers/gpu/drm/bridge/sii902x.c | 11 +++--
drivers/gpu/drm/bridge/sii9234.c | 3 +-
drivers/gpu/drm/bridge/sil-sii8620.c | 3 +-
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 26 ++++++------
drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c | 7 +---
drivers/gpu/drm/bridge/tc358764.c | 8 ++--
drivers/gpu/drm/bridge/tc358767.c | 9 ++--
drivers/gpu/drm/bridge/thc63lvd1024.c | 7 +---
drivers/gpu/drm/bridge/ti-sn65dsi86.c | 7 ++--
drivers/gpu/drm/bridge/ti-tfp410.c | 10 ++---
drivers/gpu/drm/drm_bridge.c | 40 +++++++++++++++---
drivers/gpu/drm/exynos/exynos_drm_mic.c | 16 +++----
drivers/gpu/drm/i2c/tda998x_drv.c | 8 +---
drivers/gpu/drm/mcde/mcde_dsi.c | 5 +--
drivers/gpu/drm/mediatek/mtk_hdmi.c | 4 +-
drivers/gpu/drm/msm/dsi/dsi_manager.c | 3 +-
drivers/gpu/drm/msm/edp/edp_bridge.c | 5 +--
drivers/gpu/drm/msm/hdmi/hdmi_bridge.c | 7 ++--
drivers/gpu/drm/rcar-du/rcar_lvds.c | 7 ++--
drivers/gpu/drm/sti/sti_dvo.c | 23 ++++------
drivers/gpu/drm/sti/sti_hda.c | 19 ++++-----
drivers/gpu/drm/sti/sti_hdmi.c | 15 +++----
drivers/gpu/drm/sti/sti_hdmi.h | 5 +++
include/drm/drm_bridge.h | 16 +++++--
36 files changed, 181 insertions(+), 203 deletions(-)
--
2.24.0
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply [flat|nested] 37+ messages in thread
* [PATCH v3 01/35] drm: Remove drm_bridge->dev
2019-12-24 17:34 [PATCH v3 00/35] drm/bridge: Consolidate initialization Mihail Atanassov
@ 2019-12-24 17:34 ` Mihail Atanassov
2019-12-24 17:34 ` [PATCH v3 02/35] drm/bridge: analogix_dp: Stop using drm_bridge->driver_private Mihail Atanassov
` (34 subsequent siblings)
35 siblings, 0 replies; 37+ messages in thread
From: Mihail Atanassov @ 2019-12-24 17:34 UTC (permalink / raw)
To: dri-devel
Cc: Jernej Skrabec, Mihail Atanassov, Thomas Zimmermann,
Neil Armstrong, David Airlie, linux-arm-msm, Maarten Lankhorst,
Jonas Karlman, linux-kernel, linux-renesas-soc, Laurent Pinchart,
nd, freedreno
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/
v3:
- resend as part of drm_bridge_init() series
v2:
- fix checkpatch complaint about unnecessary parentheses in
drm_bridge.c
Cc: Daniel Vetter <daniel@ffwll.ch>
Suggested-by: Thomas Zimmermann <tzimmermann@suse.de>
Acked-by: Thomas Zimmermann <tzimmermann@suse.de>
Signed-off-by: Mihail Atanassov <mihail.atanassov@arm.com>
---
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..258094169706 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 32e94bcb4a69..276a77c020c7 100644
--- a/drivers/gpu/drm/mcde/mcde_dsi.c
+++ b/drivers/gpu/drm/mcde/mcde_dsi.c
@@ -989,7 +989,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 */
--
2.24.0
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply related [flat|nested] 37+ messages in thread
* [PATCH v3 02/35] drm/bridge: analogix_dp: Stop using drm_bridge->driver_private
2019-12-24 17:34 [PATCH v3 00/35] drm/bridge: Consolidate initialization Mihail Atanassov
2019-12-24 17:34 ` [PATCH v3 01/35] drm: Remove drm_bridge->dev Mihail Atanassov
@ 2019-12-24 17:34 ` Mihail Atanassov
2019-12-24 17:34 ` [PATCH v3 03/35] drm/bridge/synopsys: " Mihail Atanassov
` (33 subsequent siblings)
35 siblings, 0 replies; 37+ messages in thread
From: Mihail Atanassov @ 2019-12-24 17:34 UTC (permalink / raw)
To: dri-devel
Cc: Jernej Skrabec, Mihail Atanassov, Jonas Karlman, David Airlie,
Neil Armstrong, linux-kernel, Laurent Pinchart, nd
Instead, embed the drm_bridge structure into analogix_dp_core and use
a container_of wrapper to access the latter.
Signed-off-by: Mihail Atanassov <mihail.atanassov@arm.com>
---
.../drm/bridge/analogix/analogix_dp_core.c | 40 +++++++------------
.../drm/bridge/analogix/analogix_dp_core.h | 8 +++-
2 files changed, 21 insertions(+), 27 deletions(-)
diff --git a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c
index 6effe532f820..56ea3be27f2b 100644
--- a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c
+++ b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c
@@ -1218,7 +1218,7 @@ static const struct drm_connector_funcs analogix_dp_connector_funcs = {
static int analogix_dp_bridge_attach(struct drm_bridge *bridge)
{
- struct analogix_dp_device *dp = bridge->driver_private;
+ struct analogix_dp_device *dp = bridge_to_analogix_dp_device(bridge);
struct drm_encoder *encoder = dp->encoder;
struct drm_connector *connector = NULL;
int ret = 0;
@@ -1292,7 +1292,7 @@ struct drm_crtc *analogix_dp_get_new_crtc(struct analogix_dp_device *dp,
static void analogix_dp_bridge_atomic_pre_enable(struct drm_bridge *bridge,
struct drm_atomic_state *state)
{
- struct analogix_dp_device *dp = bridge->driver_private;
+ struct analogix_dp_device *dp = bridge_to_analogix_dp_device(bridge);
struct drm_crtc *crtc;
struct drm_crtc_state *old_crtc_state;
int ret;
@@ -1369,7 +1369,7 @@ static int analogix_dp_set_bridge(struct analogix_dp_device *dp)
static void analogix_dp_bridge_atomic_enable(struct drm_bridge *bridge,
struct drm_atomic_state *state)
{
- struct analogix_dp_device *dp = bridge->driver_private;
+ struct analogix_dp_device *dp = bridge_to_analogix_dp_device(bridge);
struct drm_crtc *crtc;
struct drm_crtc_state *old_crtc_state;
int timeout_loop = 0;
@@ -1406,7 +1406,7 @@ static void analogix_dp_bridge_atomic_enable(struct drm_bridge *bridge,
static void analogix_dp_bridge_disable(struct drm_bridge *bridge)
{
- struct analogix_dp_device *dp = bridge->driver_private;
+ struct analogix_dp_device *dp = bridge_to_analogix_dp_device(bridge);
int ret;
if (dp->dpms_mode != DRM_MODE_DPMS_ON)
@@ -1443,7 +1443,7 @@ static void analogix_dp_bridge_disable(struct drm_bridge *bridge)
static void analogix_dp_bridge_atomic_disable(struct drm_bridge *bridge,
struct drm_atomic_state *state)
{
- struct analogix_dp_device *dp = bridge->driver_private;
+ struct analogix_dp_device *dp = bridge_to_analogix_dp_device(bridge);
struct drm_crtc *crtc;
struct drm_crtc_state *new_crtc_state = NULL;
@@ -1467,7 +1467,7 @@ static
void analogix_dp_bridge_atomic_post_disable(struct drm_bridge *bridge,
struct drm_atomic_state *state)
{
- struct analogix_dp_device *dp = bridge->driver_private;
+ struct analogix_dp_device *dp = bridge_to_analogix_dp_device(bridge);
struct drm_crtc *crtc;
struct drm_crtc_state *new_crtc_state;
int ret;
@@ -1489,7 +1489,7 @@ static void analogix_dp_bridge_mode_set(struct drm_bridge *bridge,
const struct drm_display_mode *orig_mode,
const struct drm_display_mode *mode)
{
- struct analogix_dp_device *dp = bridge->driver_private;
+ struct analogix_dp_device *dp = bridge_to_analogix_dp_device(bridge);
struct drm_display_info *display_info = &dp->connector.display_info;
struct video_info *video = &dp->video_info;
struct device_node *dp_node = dp->dev->of_node;
@@ -1571,28 +1571,16 @@ static const struct drm_bridge_funcs analogix_dp_bridge_funcs = {
.attach = analogix_dp_bridge_attach,
};
-static int analogix_dp_create_bridge(struct drm_device *drm_dev,
+static int analogix_dp_attach_bridge(struct drm_device *drm_dev,
struct analogix_dp_device *dp)
{
- struct drm_bridge *bridge;
int ret;
- bridge = devm_kzalloc(drm_dev->dev, sizeof(*bridge), GFP_KERNEL);
- if (!bridge) {
- DRM_ERROR("failed to allocate for drm bridge\n");
- return -ENOMEM;
- }
-
- dp->bridge = bridge;
-
- bridge->driver_private = dp;
- bridge->funcs = &analogix_dp_bridge_funcs;
+ dp->bridge.funcs = &analogix_dp_bridge_funcs;
- ret = drm_bridge_attach(dp->encoder, bridge, NULL);
- if (ret) {
- DRM_ERROR("failed to attach drm bridge\n");
+ ret = drm_bridge_attach(dp->encoder, &dp->bridge, NULL);
+ if (ret)
return -EINVAL;
- }
return 0;
}
@@ -1757,9 +1745,9 @@ analogix_dp_bind(struct device *dev, struct drm_device *drm_dev,
pm_runtime_enable(dev);
- ret = analogix_dp_create_bridge(drm_dev, dp);
+ ret = analogix_dp_attach_bridge(drm_dev, dp);
if (ret) {
- DRM_ERROR("failed to create bridge (%d)\n", ret);
+ DRM_ERROR("failed to attach bridge (%d)\n", ret);
goto err_disable_pm_runtime;
}
@@ -1775,7 +1763,7 @@ EXPORT_SYMBOL_GPL(analogix_dp_bind);
void analogix_dp_unbind(struct analogix_dp_device *dp)
{
- analogix_dp_bridge_disable(dp->bridge);
+ analogix_dp_bridge_disable(&dp->bridge);
dp->connector.funcs->destroy(&dp->connector);
if (dp->plat_data->panel) {
diff --git a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.h b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.h
index c051502d7fbf..aae4110c7bf9 100644
--- a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.h
+++ b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.h
@@ -9,6 +9,9 @@
#ifndef _ANALOGIX_DP_CORE_H
#define _ANALOGIX_DP_CORE_H
+#include <linux/kernel.h>
+
+#include <drm/drm_bridge.h>
#include <drm/drm_crtc.h>
#include <drm/drm_dp_helper.h>
@@ -159,7 +162,7 @@ struct analogix_dp_device {
struct device *dev;
struct drm_device *drm_dev;
struct drm_connector connector;
- struct drm_bridge *bridge;
+ struct drm_bridge bridge;
struct drm_dp_aux aux;
struct clk *clock;
unsigned int irq;
@@ -180,6 +183,9 @@ struct analogix_dp_device {
struct analogix_dp_plat_data *plat_data;
};
+#define bridge_to_analogix_dp_device(b) \
+ container_of((b), struct analogix_dp_device, bridge)
+
/* analogix_dp_reg.c */
void analogix_dp_enable_video_mute(struct analogix_dp_device *dp, bool enable);
void analogix_dp_stop_video(struct analogix_dp_device *dp);
--
2.24.0
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply related [flat|nested] 37+ messages in thread
* [PATCH v3 03/35] drm/bridge/synopsys: Stop using drm_bridge->driver_private
2019-12-24 17:34 [PATCH v3 00/35] drm/bridge: Consolidate initialization Mihail Atanassov
2019-12-24 17:34 ` [PATCH v3 01/35] drm: Remove drm_bridge->dev Mihail Atanassov
2019-12-24 17:34 ` [PATCH v3 02/35] drm/bridge: analogix_dp: Stop using drm_bridge->driver_private Mihail Atanassov
@ 2019-12-24 17:34 ` Mihail Atanassov
2019-12-24 17:34 ` [PATCH v3 04/35] drm/bridge: thc63lvd1024: Don't set drm_bridge->driver_private Mihail Atanassov
` (32 subsequent siblings)
35 siblings, 0 replies; 37+ messages in thread
From: Mihail Atanassov @ 2019-12-24 17:34 UTC (permalink / raw)
To: dri-devel
Cc: Jernej Skrabec, Mihail Atanassov, Jonas Karlman, David Airlie,
Neil Armstrong, linux-kernel, Laurent Pinchart, nd
dw_hdmi: The drm_bridge struct is already embedded, so use
a container_of wrapper to access it.
dw-mipi-dsi: The field is unused, remove it.
Signed-off-by: Mihail Atanassov <mihail.atanassov@arm.com>
---
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 15 ++++++++-------
drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c | 1 -
2 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
index 99274ca0fdf6..946aa1af8841 100644
--- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
+++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
@@ -196,6 +196,8 @@ struct dw_hdmi {
struct cec_notifier *cec_notifier;
};
+#define bridge_to_dw_hdmi(b) container_of((b), struct dw_hdmi, bridge)
+
#define HDMI_IH_PHY_STAT0_RX_SENSE \
(HDMI_IH_PHY_STAT0_RX_SENSE0 | HDMI_IH_PHY_STAT0_RX_SENSE1 | \
HDMI_IH_PHY_STAT0_RX_SENSE2 | HDMI_IH_PHY_STAT0_RX_SENSE3)
@@ -2335,7 +2337,7 @@ static const struct drm_connector_helper_funcs dw_hdmi_connector_helper_funcs =
static int dw_hdmi_bridge_attach(struct drm_bridge *bridge)
{
- struct dw_hdmi *hdmi = bridge->driver_private;
+ struct dw_hdmi *hdmi = bridge_to_dw_hdmi(bridge);
struct drm_encoder *encoder = bridge->encoder;
struct drm_connector *connector = &hdmi->connector;
struct cec_connector_info conn_info;
@@ -2372,7 +2374,7 @@ static int dw_hdmi_bridge_attach(struct drm_bridge *bridge)
static void dw_hdmi_bridge_detach(struct drm_bridge *bridge)
{
- struct dw_hdmi *hdmi = bridge->driver_private;
+ struct dw_hdmi *hdmi = bridge_to_dw_hdmi(bridge);
mutex_lock(&hdmi->cec_notifier_mutex);
cec_notifier_conn_unregister(hdmi->cec_notifier);
@@ -2384,7 +2386,7 @@ static enum drm_mode_status
dw_hdmi_bridge_mode_valid(struct drm_bridge *bridge,
const struct drm_display_mode *mode)
{
- struct dw_hdmi *hdmi = bridge->driver_private;
+ struct dw_hdmi *hdmi = bridge_to_dw_hdmi(bridge);
struct drm_connector *connector = &hdmi->connector;
enum drm_mode_status mode_status = MODE_OK;
@@ -2402,7 +2404,7 @@ static void dw_hdmi_bridge_mode_set(struct drm_bridge *bridge,
const struct drm_display_mode *orig_mode,
const struct drm_display_mode *mode)
{
- struct dw_hdmi *hdmi = bridge->driver_private;
+ struct dw_hdmi *hdmi = bridge_to_dw_hdmi(bridge);
mutex_lock(&hdmi->mutex);
@@ -2414,7 +2416,7 @@ static void dw_hdmi_bridge_mode_set(struct drm_bridge *bridge,
static void dw_hdmi_bridge_disable(struct drm_bridge *bridge)
{
- struct dw_hdmi *hdmi = bridge->driver_private;
+ struct dw_hdmi *hdmi = bridge_to_dw_hdmi(bridge);
mutex_lock(&hdmi->mutex);
hdmi->disabled = true;
@@ -2425,7 +2427,7 @@ static void dw_hdmi_bridge_disable(struct drm_bridge *bridge)
static void dw_hdmi_bridge_enable(struct drm_bridge *bridge)
{
- struct dw_hdmi *hdmi = bridge->driver_private;
+ struct dw_hdmi *hdmi = bridge_to_dw_hdmi(bridge);
mutex_lock(&hdmi->mutex);
hdmi->disabled = false;
@@ -2898,7 +2900,6 @@ __dw_hdmi_probe(struct platform_device *pdev,
hdmi->ddc = NULL;
}
- hdmi->bridge.driver_private = hdmi;
hdmi->bridge.funcs = &dw_hdmi_bridge_funcs;
#ifdef CONFIG_OF
hdmi->bridge.of_node = pdev->dev.of_node;
diff --git a/drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c b/drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c
index b18351b6760a..3aa4f9289416 100644
--- a/drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c
+++ b/drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c
@@ -1064,7 +1064,6 @@ __dw_mipi_dsi_probe(struct platform_device *pdev,
return ERR_PTR(ret);
}
- dsi->bridge.driver_private = dsi;
dsi->bridge.funcs = &dw_mipi_dsi_bridge_funcs;
#ifdef CONFIG_OF
dsi->bridge.of_node = pdev->dev.of_node;
--
2.24.0
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply related [flat|nested] 37+ messages in thread
* [PATCH v3 04/35] drm/bridge: thc63lvd1024: Don't set drm_bridge->driver_private
2019-12-24 17:34 [PATCH v3 00/35] drm/bridge: Consolidate initialization Mihail Atanassov
` (2 preceding siblings ...)
2019-12-24 17:34 ` [PATCH v3 03/35] drm/bridge/synopsys: " Mihail Atanassov
@ 2019-12-24 17:34 ` Mihail Atanassov
2019-12-24 17:34 ` [PATCH v3 05/35] drm/exynos: mic: Stop using drm_bridge->driver_private Mihail Atanassov
` (31 subsequent siblings)
35 siblings, 0 replies; 37+ messages in thread
From: Mihail Atanassov @ 2019-12-24 17:34 UTC (permalink / raw)
To: dri-devel
Cc: Jernej Skrabec, Mihail Atanassov, Jonas Karlman, David Airlie,
Neil Armstrong, linux-kernel, Laurent Pinchart, nd
It's unused.
Signed-off-by: Mihail Atanassov <mihail.atanassov@arm.com>
---
drivers/gpu/drm/bridge/thc63lvd1024.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/drivers/gpu/drm/bridge/thc63lvd1024.c b/drivers/gpu/drm/bridge/thc63lvd1024.c
index 3d74129b2995..784f4e4eea05 100644
--- a/drivers/gpu/drm/bridge/thc63lvd1024.c
+++ b/drivers/gpu/drm/bridge/thc63lvd1024.c
@@ -218,7 +218,6 @@ static int thc63_probe(struct platform_device *pdev)
if (ret)
return ret;
- thc63->bridge.driver_private = thc63;
thc63->bridge.of_node = pdev->dev.of_node;
thc63->bridge.funcs = &thc63_bridge_func;
thc63->bridge.timings = &thc63->timings;
--
2.24.0
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply related [flat|nested] 37+ messages in thread
* [PATCH v3 05/35] drm/exynos: mic: Stop using drm_bridge->driver_private
2019-12-24 17:34 [PATCH v3 00/35] drm/bridge: Consolidate initialization Mihail Atanassov
` (3 preceding siblings ...)
2019-12-24 17:34 ` [PATCH v3 04/35] drm/bridge: thc63lvd1024: Don't set drm_bridge->driver_private Mihail Atanassov
@ 2019-12-24 17:34 ` Mihail Atanassov
2019-12-24 17:34 ` [PATCH v3 06/35] drm: rcar-du: lvds: Don't set drm_bridge->driver_private Mihail Atanassov
` (30 subsequent siblings)
35 siblings, 0 replies; 37+ messages in thread
From: Mihail Atanassov @ 2019-12-24 17:34 UTC (permalink / raw)
To: dri-devel
Cc: Mihail Atanassov, David Airlie, linux-kernel,
Krzysztof Kozlowski, linux-samsung-soc, nd, linux-arm-kernel
Use a container_of wrapper instead. Note that no logic depends on
driver_private being NULL or not, so the cleanup in exynos_mic_bind is
safe to apply.
Cc: Inki Dae <inki.dae@samsung.com>
Signed-off-by: Mihail Atanassov <mihail.atanassov@arm.com>
---
Reviewer note: the driver_private cleanup used to be part of the
relevant drm_bridge_init() patch.
drivers/gpu/drm/exynos/exynos_drm_mic.c | 12 +++++-------
1 file changed, 5 insertions(+), 7 deletions(-)
diff --git a/drivers/gpu/drm/exynos/exynos_drm_mic.c b/drivers/gpu/drm/exynos/exynos_drm_mic.c
index f41d75923557..2b5f10c3a285 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_mic.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_mic.c
@@ -106,6 +106,8 @@ struct exynos_mic {
bool enabled;
};
+#define bridge_to_exynos_mic(b) container_of((b), struct exynos_mic, bridge)
+
static void mic_set_path(struct exynos_mic *mic, bool enable)
{
int ret;
@@ -232,7 +234,7 @@ static void mic_disable(struct drm_bridge *bridge) { }
static void mic_post_disable(struct drm_bridge *bridge)
{
- struct exynos_mic *mic = bridge->driver_private;
+ struct exynos_mic *mic = bridge_to_exynos_mic(bridge);
mutex_lock(&mic_mutex);
if (!mic->enabled)
@@ -251,7 +253,7 @@ static void mic_mode_set(struct drm_bridge *bridge,
const struct drm_display_mode *mode,
const struct drm_display_mode *adjusted_mode)
{
- struct exynos_mic *mic = bridge->driver_private;
+ struct exynos_mic *mic = bridge_to_exynos_mic(bridge);
mutex_lock(&mic_mutex);
drm_display_mode_to_videomode(mode, &mic->vm);
@@ -261,7 +263,7 @@ static void mic_mode_set(struct drm_bridge *bridge,
static void mic_pre_enable(struct drm_bridge *bridge)
{
- struct exynos_mic *mic = bridge->driver_private;
+ struct exynos_mic *mic = bridge_to_exynos_mic(bridge);
int ret;
mutex_lock(&mic_mutex);
@@ -309,10 +311,6 @@ static const struct drm_bridge_funcs mic_bridge_funcs = {
static int exynos_mic_bind(struct device *dev, struct device *master,
void *data)
{
- struct exynos_mic *mic = dev_get_drvdata(dev);
-
- mic->bridge.driver_private = mic;
-
return 0;
}
--
2.24.0
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply related [flat|nested] 37+ messages in thread
* [PATCH v3 06/35] drm: rcar-du: lvds: Don't set drm_bridge->driver_private
2019-12-24 17:34 [PATCH v3 00/35] drm/bridge: Consolidate initialization Mihail Atanassov
` (4 preceding siblings ...)
2019-12-24 17:34 ` [PATCH v3 05/35] drm/exynos: mic: Stop using drm_bridge->driver_private Mihail Atanassov
@ 2019-12-24 17:34 ` Mihail Atanassov
2019-12-24 17:34 ` [PATCH v3 07/35] drm/sti: Stop using drm_bridge->driver_private Mihail Atanassov
` (29 subsequent siblings)
35 siblings, 0 replies; 37+ messages in thread
From: Mihail Atanassov @ 2019-12-24 17:34 UTC (permalink / raw)
To: dri-devel
Cc: Mihail Atanassov, David Airlie, linux-kernel, linux-renesas-soc,
Kieran Bingham, Laurent Pinchart, nd
It's unused.
Signed-off-by: Mihail Atanassov <mihail.atanassov@arm.com>
---
drivers/gpu/drm/rcar-du/rcar_lvds.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/drivers/gpu/drm/rcar-du/rcar_lvds.c b/drivers/gpu/drm/rcar-du/rcar_lvds.c
index 83538125a722..1d6dfae8a200 100644
--- a/drivers/gpu/drm/rcar-du/rcar_lvds.c
+++ b/drivers/gpu/drm/rcar-du/rcar_lvds.c
@@ -882,7 +882,6 @@ static int rcar_lvds_probe(struct platform_device *pdev)
if (ret < 0)
return ret;
- lvds->bridge.driver_private = lvds;
lvds->bridge.funcs = &rcar_lvds_bridge_ops;
lvds->bridge.of_node = pdev->dev.of_node;
--
2.24.0
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply related [flat|nested] 37+ messages in thread
* [PATCH v3 07/35] drm/sti: Stop using drm_bridge->driver_private
2019-12-24 17:34 [PATCH v3 00/35] drm/bridge: Consolidate initialization Mihail Atanassov
` (5 preceding siblings ...)
2019-12-24 17:34 ` [PATCH v3 06/35] drm: rcar-du: lvds: Don't set drm_bridge->driver_private Mihail Atanassov
@ 2019-12-24 17:34 ` Mihail Atanassov
2019-12-24 17:34 ` [PATCH v3 08/35] drm/bridge: Drop driver_private from struct drm_bridge Mihail Atanassov
` (28 subsequent siblings)
35 siblings, 0 replies; 37+ messages in thread
From: Mihail Atanassov @ 2019-12-24 17:34 UTC (permalink / raw)
To: dri-devel
Cc: Mihail Atanassov, David Airlie, linux-kernel, nd, Vincent Abriou
Instead, embed the drm_bridge structure in the originally-pointed-to
struct and use a container_of wrapper to access it.
Signed-off-by: Mihail Atanassov <mihail.atanassov@arm.com>
---
drivers/gpu/drm/sti/sti_dvo.c | 20 ++++++++------------
drivers/gpu/drm/sti/sti_hda.c | 17 ++++++++---------
drivers/gpu/drm/sti/sti_hdmi.c | 13 ++++---------
drivers/gpu/drm/sti/sti_hdmi.h | 5 +++++
4 files changed, 25 insertions(+), 30 deletions(-)
diff --git a/drivers/gpu/drm/sti/sti_dvo.c b/drivers/gpu/drm/sti/sti_dvo.c
index df2ee86cd4c1..194491231de2 100644
--- a/drivers/gpu/drm/sti/sti_dvo.c
+++ b/drivers/gpu/drm/sti/sti_dvo.c
@@ -96,9 +96,11 @@ struct sti_dvo {
struct dvo_config *config;
bool enabled;
struct drm_encoder *encoder;
- struct drm_bridge *bridge;
+ struct drm_bridge bridge;
};
+#define bridge_to_sti_dvo(b) container_of((b), struct sti_dvo, bridge)
+
struct sti_dvo_connector {
struct drm_connector drm_connector;
struct drm_encoder *encoder;
@@ -210,7 +212,7 @@ static int dvo_debugfs_init(struct sti_dvo *dvo, struct drm_minor *minor)
static void sti_dvo_disable(struct drm_bridge *bridge)
{
- struct sti_dvo *dvo = bridge->driver_private;
+ struct sti_dvo *dvo = bridge_to_sti_dvo(bridge);
if (!dvo->enabled)
return;
@@ -233,7 +235,7 @@ static void sti_dvo_disable(struct drm_bridge *bridge)
static void sti_dvo_pre_enable(struct drm_bridge *bridge)
{
- struct sti_dvo *dvo = bridge->driver_private;
+ struct sti_dvo *dvo = bridge_to_sti_dvo(bridge);
struct dvo_config *config = dvo->config;
u32 val;
@@ -280,7 +282,7 @@ static void sti_dvo_set_mode(struct drm_bridge *bridge,
const struct drm_display_mode *mode,
const struct drm_display_mode *adjusted_mode)
{
- struct sti_dvo *dvo = bridge->driver_private;
+ struct sti_dvo *dvo = bridge_to_sti_dvo(bridge);
struct sti_mixer *mixer = to_sti_mixer(dvo->encoder->crtc);
int rate = mode->clock * 1000;
struct clk *clkp;
@@ -438,11 +440,11 @@ static struct drm_encoder *sti_dvo_find_encoder(struct drm_device *dev)
static int sti_dvo_bind(struct device *dev, struct device *master, void *data)
{
struct sti_dvo *dvo = dev_get_drvdata(dev);
+ struct drm_bridge *bridge = &dvo->bridge;
struct drm_device *drm_dev = data;
struct drm_encoder *encoder;
struct sti_dvo_connector *connector;
struct drm_connector *drm_connector;
- struct drm_bridge *bridge;
int err;
/* Set the drm device handle */
@@ -458,11 +460,6 @@ static int sti_dvo_bind(struct device *dev, struct device *master, void *data)
connector->dvo = dvo;
- bridge = devm_kzalloc(dev, sizeof(*bridge), GFP_KERNEL);
- if (!bridge)
- return -ENOMEM;
-
- bridge->driver_private = dvo;
bridge->funcs = &sti_dvo_bridge_funcs;
bridge->of_node = dvo->dev.of_node;
drm_bridge_add(bridge);
@@ -473,7 +470,6 @@ static int sti_dvo_bind(struct device *dev, struct device *master, void *data)
return err;
}
- dvo->bridge = bridge;
connector->encoder = encoder;
dvo->encoder = encoder;
@@ -504,7 +500,7 @@ static void sti_dvo_unbind(struct device *dev,
{
struct sti_dvo *dvo = dev_get_drvdata(dev);
- drm_bridge_remove(dvo->bridge);
+ drm_bridge_remove(&dvo->bridge);
}
static const struct component_ops sti_dvo_ops = {
diff --git a/drivers/gpu/drm/sti/sti_hda.c b/drivers/gpu/drm/sti/sti_hda.c
index 8f7bf33815fd..d5b569ce93d0 100644
--- a/drivers/gpu/drm/sti/sti_hda.c
+++ b/drivers/gpu/drm/sti/sti_hda.c
@@ -236,6 +236,7 @@ static const struct sti_hda_video_config hda_supported_modes[] = {
*
* @dev: driver device
* @drm_dev: pointer to drm device
+ * @bridge: drm bridge for encoder->connector link
* @mode: current display mode selected
* @regs: HD analog register
* @video_dacs_ctrl: video DACS control register
@@ -244,6 +245,7 @@ static const struct sti_hda_video_config hda_supported_modes[] = {
struct sti_hda {
struct device dev;
struct drm_device *drm_dev;
+ struct drm_bridge bridge;
struct drm_display_mode mode;
void __iomem *regs;
void __iomem *video_dacs_ctrl;
@@ -252,6 +254,8 @@ struct sti_hda {
bool enabled;
};
+#define bridge_to_sti_hda(b) container_of((b), struct sti_hda, bridge)
+
struct sti_hda_connector {
struct drm_connector drm_connector;
struct drm_encoder *encoder;
@@ -400,7 +404,7 @@ static void sti_hda_configure_awg(struct sti_hda *hda, u32 *awg_instr, int nb)
static void sti_hda_disable(struct drm_bridge *bridge)
{
- struct sti_hda *hda = bridge->driver_private;
+ struct sti_hda *hda = bridge_to_sti_hda(bridge);
u32 val;
if (!hda->enabled)
@@ -425,7 +429,7 @@ static void sti_hda_disable(struct drm_bridge *bridge)
static void sti_hda_pre_enable(struct drm_bridge *bridge)
{
- struct sti_hda *hda = bridge->driver_private;
+ struct sti_hda *hda = bridge_to_sti_hda(bridge);
u32 val, i, mode_idx;
u32 src_filter_y, src_filter_c;
u32 *coef_y, *coef_c;
@@ -516,7 +520,7 @@ static void sti_hda_set_mode(struct drm_bridge *bridge,
const struct drm_display_mode *mode,
const struct drm_display_mode *adjusted_mode)
{
- struct sti_hda *hda = bridge->driver_private;
+ struct sti_hda *hda = bridge_to_sti_hda(bridge);
u32 mode_idx;
int hddac_rate;
int ret;
@@ -676,10 +680,10 @@ static int sti_hda_bind(struct device *dev, struct device *master, void *data)
{
struct sti_hda *hda = dev_get_drvdata(dev);
struct drm_device *drm_dev = data;
+ struct drm_bridge *bridge = &hda->bridge;
struct drm_encoder *encoder;
struct sti_hda_connector *connector;
struct drm_connector *drm_connector;
- struct drm_bridge *bridge;
int err;
/* Set the drm device handle */
@@ -695,11 +699,6 @@ static int sti_hda_bind(struct device *dev, struct device *master, void *data)
connector->hda = hda;
- bridge = devm_kzalloc(dev, sizeof(*bridge), GFP_KERNEL);
- if (!bridge)
- return -ENOMEM;
-
- bridge->driver_private = hda;
bridge->funcs = &sti_hda_bridge_funcs;
drm_bridge_attach(encoder, bridge, NULL);
diff --git a/drivers/gpu/drm/sti/sti_hdmi.c b/drivers/gpu/drm/sti/sti_hdmi.c
index 814560ead4e1..7a7b0ce7bb14 100644
--- a/drivers/gpu/drm/sti/sti_hdmi.c
+++ b/drivers/gpu/drm/sti/sti_hdmi.c
@@ -741,7 +741,7 @@ static int hdmi_debugfs_init(struct sti_hdmi *hdmi, struct drm_minor *minor)
static void sti_hdmi_disable(struct drm_bridge *bridge)
{
- struct sti_hdmi *hdmi = bridge->driver_private;
+ struct sti_hdmi *hdmi = bridge_to_sti_hdmi(bridge);
u32 val = hdmi_read(hdmi, HDMI_CFG);
@@ -873,7 +873,7 @@ static int hdmi_audio_configure(struct sti_hdmi *hdmi)
static void sti_hdmi_pre_enable(struct drm_bridge *bridge)
{
- struct sti_hdmi *hdmi = bridge->driver_private;
+ struct sti_hdmi *hdmi = bridge_to_sti_hdmi(bridge);
DRM_DEBUG_DRIVER("\n");
@@ -928,7 +928,7 @@ static void sti_hdmi_set_mode(struct drm_bridge *bridge,
const struct drm_display_mode *mode,
const struct drm_display_mode *adjusted_mode)
{
- struct sti_hdmi *hdmi = bridge->driver_private;
+ struct sti_hdmi *hdmi = bridge_to_sti_hdmi(bridge);
int ret;
DRM_DEBUG_DRIVER("\n");
@@ -1255,11 +1255,11 @@ static int sti_hdmi_bind(struct device *dev, struct device *master, void *data)
{
struct sti_hdmi *hdmi = dev_get_drvdata(dev);
struct drm_device *drm_dev = data;
+ struct drm_bridge *bridge = &hdmi->bridge;
struct drm_encoder *encoder;
struct sti_hdmi_connector *connector;
struct cec_connector_info conn_info;
struct drm_connector *drm_connector;
- struct drm_bridge *bridge;
int err;
/* Set the drm device handle */
@@ -1275,11 +1275,6 @@ static int sti_hdmi_bind(struct device *dev, struct device *master, void *data)
connector->hdmi = hdmi;
- bridge = devm_kzalloc(dev, sizeof(*bridge), GFP_KERNEL);
- if (!bridge)
- return -EINVAL;
-
- bridge->driver_private = hdmi;
bridge->funcs = &sti_hdmi_bridge_funcs;
drm_bridge_attach(encoder, bridge, NULL);
diff --git a/drivers/gpu/drm/sti/sti_hdmi.h b/drivers/gpu/drm/sti/sti_hdmi.h
index 1f6dc90b5d83..4e33cbd7cbca 100644
--- a/drivers/gpu/drm/sti/sti_hdmi.h
+++ b/drivers/gpu/drm/sti/sti_hdmi.h
@@ -12,6 +12,7 @@
#include <media/cec-notifier.h>
+#include <drm/drm_bridge.h>
#include <drm/drm_modes.h>
#include <drm/drm_property.h>
@@ -46,6 +47,7 @@ static const struct drm_prop_enum_list colorspace_mode_names[] = {
*
* @dev: driver device
* @drm_dev: pointer to drm device
+ * @bridge: drm bridge for encoder->connector link
* @mode: current display mode selected
* @regs: hdmi register
* @syscfg: syscfg register for pll rejection configuration
@@ -72,6 +74,7 @@ static const struct drm_prop_enum_list colorspace_mode_names[] = {
struct sti_hdmi {
struct device dev;
struct drm_device *drm_dev;
+ struct drm_bridge bridge;
struct drm_display_mode mode;
void __iomem *regs;
void __iomem *syscfg;
@@ -96,6 +99,8 @@ struct sti_hdmi {
struct cec_notifier *notifier;
};
+#define bridge_to_sti_hdmi(b) container_of((b), struct sti_hdmi, bridge)
+
u32 hdmi_read(struct sti_hdmi *hdmi, int offset);
void hdmi_write(struct sti_hdmi *hdmi, u32 val, int offset);
--
2.24.0
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply related [flat|nested] 37+ messages in thread
* [PATCH v3 08/35] drm/bridge: Drop driver_private from struct drm_bridge
2019-12-24 17:34 [PATCH v3 00/35] drm/bridge: Consolidate initialization Mihail Atanassov
` (6 preceding siblings ...)
2019-12-24 17:34 ` [PATCH v3 07/35] drm/sti: Stop using drm_bridge->driver_private Mihail Atanassov
@ 2019-12-24 17:34 ` Mihail Atanassov
2019-12-24 17:34 ` [PATCH v3 09/35] drm: Introduce drm_bridge_init() Mihail Atanassov
` (27 subsequent siblings)
35 siblings, 0 replies; 37+ messages in thread
From: Mihail Atanassov @ 2019-12-24 17:34 UTC (permalink / raw)
To: dri-devel; +Cc: Mihail Atanassov, David Airlie, linux-kernel, nd
It's no longer used, all drivers have been converted to an embedded
drm_bridge struct.
Signed-off-by: Mihail Atanassov <mihail.atanassov@arm.com>
---
include/drm/drm_bridge.h | 2 --
1 file changed, 2 deletions(-)
diff --git a/include/drm/drm_bridge.h b/include/drm/drm_bridge.h
index 695d0898df38..ee175a2f95e6 100644
--- a/include/drm/drm_bridge.h
+++ b/include/drm/drm_bridge.h
@@ -398,8 +398,6 @@ struct drm_bridge {
const struct drm_bridge_timings *timings;
/** @funcs: control functions */
const struct drm_bridge_funcs *funcs;
- /** @driver_private: pointer to the bridge driver's internal context */
- void *driver_private;
};
void drm_bridge_add(struct drm_bridge *bridge);
--
2.24.0
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply related [flat|nested] 37+ messages in thread
* [PATCH v3 09/35] drm: Introduce drm_bridge_init()
2019-12-24 17:34 [PATCH v3 00/35] drm/bridge: Consolidate initialization Mihail Atanassov
` (7 preceding siblings ...)
2019-12-24 17:34 ` [PATCH v3 08/35] drm/bridge: Drop driver_private from struct drm_bridge Mihail Atanassov
@ 2019-12-24 17:34 ` Mihail Atanassov
2019-12-24 17:34 ` [PATCH v3 10/35] drm/bridge: adv7511: Use drm_bridge_init() Mihail Atanassov
` (26 subsequent siblings)
35 siblings, 0 replies; 37+ messages in thread
From: Mihail Atanassov @ 2019-12-24 17:34 UTC (permalink / raw)
To: dri-devel
Cc: Mihail Atanassov, David Airlie, Daniel Vetter, linux-kernel,
Laurent Pinchart, nd
A simple convenience function to initialize the struct drm_bridge. The
goal is to standardize initialization for any bridge registered with
drm_bridge_add() so that we can later add device links for consumers of
those bridges.
v3:
- drop driver_private parameter (Laurent)
- spelling & style updates to docs (Laurent)
- don't set drm_bridge->dev (field removed)
v2:
- s/WARN_ON(!funcs)/WARN_ON(!funcs || !dev)/ as suggested by Daniel
- expand on some kerneldoc comments as suggested by Daniel
- update commit message as suggested by Daniel
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Mihail Atanassov <mihail.atanassov@arm.com>
---
drivers/gpu/drm/drm_bridge.c | 30 ++++++++++++++++++++++++++++++
include/drm/drm_bridge.h | 12 ++++++++++++
2 files changed, 42 insertions(+)
diff --git a/drivers/gpu/drm/drm_bridge.c b/drivers/gpu/drm/drm_bridge.c
index 258094169706..d6b64e9aec7c 100644
--- a/drivers/gpu/drm/drm_bridge.c
+++ b/drivers/gpu/drm/drm_bridge.c
@@ -67,6 +67,11 @@ static LIST_HEAD(bridge_list);
* drm_bridge_add - add the given bridge to the global bridge list
*
* @bridge: bridge control structure
+ *
+ * Drivers shall call drm_bridge_init() prior to adding the bridge to the list.
+ * Before deleting a bridge (usually when the driver is unbound from the
+ * device), drivers shall call drm_bridge_remove() to remove it from the global
+ * list.
*/
void drm_bridge_add(struct drm_bridge *bridge)
{
@@ -89,6 +94,31 @@ void drm_bridge_remove(struct drm_bridge *bridge)
}
EXPORT_SYMBOL(drm_bridge_remove);
+/**
+ * drm_bridge_init - initialize a drm_bridge structure
+ *
+ * @bridge: bridge control structure
+ * @dev: device associated with this drm_bridge
+ * @funcs: control functions
+ * @timings: timing specification for the bridge; optional (may be NULL)
+ */
+void drm_bridge_init(struct drm_bridge *bridge, struct device *dev,
+ const struct drm_bridge_funcs *funcs,
+ const struct drm_bridge_timings *timings)
+{
+ WARN_ON(!funcs || !dev);
+
+ bridge->encoder = NULL;
+ INIT_LIST_HEAD(&bridge->chain_node);
+
+#ifdef CONFIG_OF
+ bridge->of_node = dev->of_node;
+#endif
+ bridge->timings = timings;
+ bridge->funcs = funcs;
+}
+EXPORT_SYMBOL(drm_bridge_init);
+
/**
* drm_bridge_attach - attach the bridge to an encoder's chain
*
diff --git a/include/drm/drm_bridge.h b/include/drm/drm_bridge.h
index ee175a2f95e6..955d9bd13805 100644
--- a/include/drm/drm_bridge.h
+++ b/include/drm/drm_bridge.h
@@ -378,6 +378,15 @@ struct drm_bridge_timings {
/**
* struct drm_bridge - central DRM bridge control structure
+ *
+ * Bridge drivers shall call drm_bridge_init() to initialize a drm_bridge
+ * structure, and then register it with drm_bridge_add().
+ *
+ * Users of bridges link a bridge driver into their overall display output
+ * pipeline by calling drm_bridge_attach().
+ *
+ * Modular drivers in OF systems can query the list of registered bridges
+ * with of_drm_find_bridge().
*/
struct drm_bridge {
/** @encoder: encoder to which this bridge is connected */
@@ -402,6 +411,9 @@ struct drm_bridge {
void drm_bridge_add(struct drm_bridge *bridge);
void drm_bridge_remove(struct drm_bridge *bridge);
+void drm_bridge_init(struct drm_bridge *bridge, struct device *dev,
+ const struct drm_bridge_funcs *funcs,
+ const struct drm_bridge_timings *timings);
struct drm_bridge *of_drm_find_bridge(struct device_node *np);
int drm_bridge_attach(struct drm_encoder *encoder, struct drm_bridge *bridge,
struct drm_bridge *previous);
--
2.24.0
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply related [flat|nested] 37+ messages in thread
* [PATCH v3 10/35] drm/bridge: adv7511: Use drm_bridge_init()
2019-12-24 17:34 [PATCH v3 00/35] drm/bridge: Consolidate initialization Mihail Atanassov
` (8 preceding siblings ...)
2019-12-24 17:34 ` [PATCH v3 09/35] drm: Introduce drm_bridge_init() Mihail Atanassov
@ 2019-12-24 17:34 ` Mihail Atanassov
2019-12-24 17:34 ` [PATCH v3 11/35] drm/bridge/analogix: " Mihail Atanassov
` (25 subsequent siblings)
35 siblings, 0 replies; 37+ messages in thread
From: Mihail Atanassov @ 2019-12-24 17:34 UTC (permalink / raw)
To: dri-devel
Cc: Jernej Skrabec, Mihail Atanassov, Jonas Karlman, David Airlie,
Neil Armstrong, linux-kernel, Laurent Pinchart, nd
No functional change.
v3:
- drop driver_private argument (Laurent)
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mihail Atanassov <mihail.atanassov@arm.com>
---
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c b/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
index 009cf1fef8d4..14a393f1c957 100644
--- a/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
+++ b/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
@@ -1216,9 +1216,7 @@ static int adv7511_probe(struct i2c_client *i2c, const struct i2c_device_id *id)
if (ret)
goto err_unregister_cec;
- adv7511->bridge.funcs = &adv7511_bridge_funcs;
- adv7511->bridge.of_node = dev->of_node;
-
+ drm_bridge_init(&adv7511->bridge, dev, &adv7511_bridge_funcs, NULL);
drm_bridge_add(&adv7511->bridge);
adv7511_audio_init(dev, adv7511);
--
2.24.0
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply related [flat|nested] 37+ messages in thread
* [PATCH v3 11/35] drm/bridge/analogix: Use drm_bridge_init()
2019-12-24 17:34 [PATCH v3 00/35] drm/bridge: Consolidate initialization Mihail Atanassov
` (9 preceding siblings ...)
2019-12-24 17:34 ` [PATCH v3 10/35] drm/bridge: adv7511: Use drm_bridge_init() Mihail Atanassov
@ 2019-12-24 17:34 ` Mihail Atanassov
2019-12-24 17:34 ` [PATCH v3 12/35] drm/bridge: cdns: " Mihail Atanassov
` (24 subsequent siblings)
35 siblings, 0 replies; 37+ messages in thread
From: Mihail Atanassov @ 2019-12-24 17:34 UTC (permalink / raw)
To: dri-devel
Cc: Jernej Skrabec, Mihail Atanassov, Jonas Karlman, David Airlie,
Neil Armstrong, linux-kernel, Laurent Pinchart, nd
No functional change.
The setting of bridge->of_node by drm_bridge_init() in
analogix_dp_core.c is safe, since ->of_node isn't used directly and the
bridge isn't published with drm_bridge_add().
v3:
- drop driver_private argument (Laurent)
- pass correct struct device pointer to drm_bridge_init (Laurent)
Signed-off-by: Mihail Atanassov <mihail.atanassov@arm.com>
---
drivers/gpu/drm/bridge/analogix/analogix-anx6345.c | 5 ++---
drivers/gpu/drm/bridge/analogix/analogix-anx78xx.c | 8 ++------
drivers/gpu/drm/bridge/analogix/analogix_dp_core.c | 8 ++++----
3 files changed, 8 insertions(+), 13 deletions(-)
diff --git a/drivers/gpu/drm/bridge/analogix/analogix-anx6345.c b/drivers/gpu/drm/bridge/analogix/analogix-anx6345.c
index 5b806d23fcb3..62404b0f2fc1 100644
--- a/drivers/gpu/drm/bridge/analogix/analogix-anx6345.c
+++ b/drivers/gpu/drm/bridge/analogix/analogix-anx6345.c
@@ -696,8 +696,6 @@ static int anx6345_i2c_probe(struct i2c_client *client,
mutex_init(&anx6345->lock);
- anx6345->bridge.of_node = client->dev.of_node;
-
anx6345->client = client;
i2c_set_clientdata(client, anx6345);
@@ -760,7 +758,8 @@ static int anx6345_i2c_probe(struct i2c_client *client,
/* Look for supported chip ID */
anx6345_poweron(anx6345);
if (anx6345_get_chip_id(anx6345)) {
- anx6345->bridge.funcs = &anx6345_bridge_funcs;
+ drm_bridge_init(&anx6345->bridge, &client->dev,
+ &anx6345_bridge_funcs, NULL);
drm_bridge_add(&anx6345->bridge);
return 0;
diff --git a/drivers/gpu/drm/bridge/analogix/analogix-anx78xx.c b/drivers/gpu/drm/bridge/analogix/analogix-anx78xx.c
index 7463537950cb..e30df40ec512 100644
--- a/drivers/gpu/drm/bridge/analogix/analogix-anx78xx.c
+++ b/drivers/gpu/drm/bridge/analogix/analogix-anx78xx.c
@@ -1214,10 +1214,6 @@ static int anx78xx_i2c_probe(struct i2c_client *client,
mutex_init(&anx78xx->lock);
-#if IS_ENABLED(CONFIG_OF)
- anx78xx->bridge.of_node = client->dev.of_node;
-#endif
-
anx78xx->client = client;
i2c_set_clientdata(client, anx78xx);
@@ -1321,8 +1317,8 @@ static int anx78xx_i2c_probe(struct i2c_client *client,
goto err_poweroff;
}
- anx78xx->bridge.funcs = &anx78xx_bridge_funcs;
-
+ drm_bridge_init(&anx78xx->bridge, &client->dev, &anx78xx_bridge_funcs,
+ NULL);
drm_bridge_add(&anx78xx->bridge);
/* If cable is pulled out, just poweroff and wait for HPD event */
diff --git a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c
index 56ea3be27f2b..29693d48682e 100644
--- a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c
+++ b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c
@@ -1571,13 +1571,13 @@ static const struct drm_bridge_funcs analogix_dp_bridge_funcs = {
.attach = analogix_dp_bridge_attach,
};
-static int analogix_dp_attach_bridge(struct drm_device *drm_dev,
+static int analogix_dp_attach_bridge(struct device *dev,
+ struct drm_device *drm_dev,
struct analogix_dp_device *dp)
{
int ret;
- dp->bridge.funcs = &analogix_dp_bridge_funcs;
-
+ drm_bridge_init(&dp->bridge, dev, &analogix_dp_bridge_funcs, NULL);
ret = drm_bridge_attach(dp->encoder, &dp->bridge, NULL);
if (ret)
return -EINVAL;
@@ -1745,7 +1745,7 @@ analogix_dp_bind(struct device *dev, struct drm_device *drm_dev,
pm_runtime_enable(dev);
- ret = analogix_dp_attach_bridge(drm_dev, dp);
+ ret = analogix_dp_attach_bridge(dev, drm_dev, dp);
if (ret) {
DRM_ERROR("failed to attach bridge (%d)\n", ret);
goto err_disable_pm_runtime;
--
2.24.0
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply related [flat|nested] 37+ messages in thread
* [PATCH v3 12/35] drm/bridge: cdns: Use drm_bridge_init()
2019-12-24 17:34 [PATCH v3 00/35] drm/bridge: Consolidate initialization Mihail Atanassov
` (10 preceding siblings ...)
2019-12-24 17:34 ` [PATCH v3 11/35] drm/bridge/analogix: " Mihail Atanassov
@ 2019-12-24 17:34 ` Mihail Atanassov
2019-12-24 17:34 ` [PATCH v3 13/35] drm/bridge: dumb-vga-dac: " Mihail Atanassov
` (23 subsequent siblings)
35 siblings, 0 replies; 37+ messages in thread
From: Mihail Atanassov @ 2019-12-24 17:34 UTC (permalink / raw)
To: dri-devel
Cc: Jernej Skrabec, Mihail Atanassov, Jonas Karlman, David Airlie,
Neil Armstrong, linux-kernel, Laurent Pinchart, nd
No functional change.
v3:
- drop driver_private argument (Laurent)
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mihail Atanassov <mihail.atanassov@arm.com>
---
drivers/gpu/drm/bridge/cdns-dsi.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/bridge/cdns-dsi.c b/drivers/gpu/drm/bridge/cdns-dsi.c
index 32863e3ad537..15999c971cd4 100644
--- a/drivers/gpu/drm/bridge/cdns-dsi.c
+++ b/drivers/gpu/drm/bridge/cdns-dsi.c
@@ -1233,8 +1233,8 @@ static int cdns_dsi_drm_probe(struct platform_device *pdev)
* CDNS_DPI_INPUT.
*/
input->id = CDNS_DPI_INPUT;
- input->bridge.funcs = &cdns_dsi_bridge_funcs;
- input->bridge.of_node = pdev->dev.of_node;
+ drm_bridge_init(&input->bridge, &pdev->dev, &cdns_dsi_bridge_funcs,
+ NULL);
/* Mask all interrupts before registering the IRQ handler. */
writel(0, dsi->regs + MCTL_MAIN_STS_CTL);
--
2.24.0
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply related [flat|nested] 37+ messages in thread
* [PATCH v3 13/35] drm/bridge: dumb-vga-dac: Use drm_bridge_init()
2019-12-24 17:34 [PATCH v3 00/35] drm/bridge: Consolidate initialization Mihail Atanassov
` (11 preceding siblings ...)
2019-12-24 17:34 ` [PATCH v3 12/35] drm/bridge: cdns: " Mihail Atanassov
@ 2019-12-24 17:34 ` Mihail Atanassov
2019-12-24 17:34 ` [PATCH v3 14/35] drm/bridge: lvds-codec: " Mihail Atanassov
` (22 subsequent siblings)
35 siblings, 0 replies; 37+ messages in thread
From: Mihail Atanassov @ 2019-12-24 17:34 UTC (permalink / raw)
To: dri-devel
Cc: Jernej Skrabec, Mihail Atanassov, Jonas Karlman, David Airlie,
Neil Armstrong, linux-kernel, Laurent Pinchart, nd
No functional change.
v3:
- drop driver_private argument (Laurent)
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mihail Atanassov <mihail.atanassov@arm.com>
---
drivers/gpu/drm/bridge/dumb-vga-dac.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/drivers/gpu/drm/bridge/dumb-vga-dac.c b/drivers/gpu/drm/bridge/dumb-vga-dac.c
index 67ad6cecf68d..a737042a350b 100644
--- a/drivers/gpu/drm/bridge/dumb-vga-dac.c
+++ b/drivers/gpu/drm/bridge/dumb-vga-dac.c
@@ -205,10 +205,8 @@ static int dumb_vga_probe(struct platform_device *pdev)
}
}
- vga->bridge.funcs = &dumb_vga_bridge_funcs;
- vga->bridge.of_node = pdev->dev.of_node;
- vga->bridge.timings = of_device_get_match_data(&pdev->dev);
-
+ drm_bridge_init(&vga->bridge, &pdev->dev, &dumb_vga_bridge_funcs,
+ of_device_get_match_data(&pdev->dev));
drm_bridge_add(&vga->bridge);
return 0;
--
2.24.0
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply related [flat|nested] 37+ messages in thread
* [PATCH v3 14/35] drm/bridge: lvds-codec: Use drm_bridge_init()
2019-12-24 17:34 [PATCH v3 00/35] drm/bridge: Consolidate initialization Mihail Atanassov
` (12 preceding siblings ...)
2019-12-24 17:34 ` [PATCH v3 13/35] drm/bridge: dumb-vga-dac: " Mihail Atanassov
@ 2019-12-24 17:34 ` Mihail Atanassov
2019-12-24 17:34 ` [PATCH v3 15/35] drm/bridge: megachips-stdpxxxx-ge-b850v3-fw: " Mihail Atanassov
` (21 subsequent siblings)
35 siblings, 0 replies; 37+ messages in thread
From: Mihail Atanassov @ 2019-12-24 17:34 UTC (permalink / raw)
To: dri-devel
Cc: Jernej Skrabec, Mihail Atanassov, Jonas Karlman, David Airlie,
Neil Armstrong, linux-kernel, Laurent Pinchart, nd
No functional change.
v3:
- drop driver_private argument (Laurent)
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mihail Atanassov <mihail.atanassov@arm.com>
---
drivers/gpu/drm/bridge/lvds-codec.c | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/drivers/gpu/drm/bridge/lvds-codec.c b/drivers/gpu/drm/bridge/lvds-codec.c
index 5f04cc11227e..3bdfa7cce6d9 100644
--- a/drivers/gpu/drm/bridge/lvds-codec.c
+++ b/drivers/gpu/drm/bridge/lvds-codec.c
@@ -98,12 +98,10 @@ static int lvds_codec_probe(struct platform_device *pdev)
/*
* The panel_bridge bridge is attached to the panel's of_node,
- * but we need a bridge attached to our of_node for our user
- * to look up.
+ * but we need a bridge attached to our of_node (in dev->of_node) for
+ * our user to look up.
*/
- lvds_codec->bridge.of_node = dev->of_node;
- lvds_codec->bridge.funcs = &funcs;
- drm_bridge_add(&lvds_codec->bridge);
+ drm_bridge_init(&lvds_codec->bridge, dev, &funcs, NULL);
platform_set_drvdata(pdev, lvds_codec);
--
2.24.0
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply related [flat|nested] 37+ messages in thread
* [PATCH v3 15/35] drm/bridge: megachips-stdpxxxx-ge-b850v3-fw: Use drm_bridge_init()
2019-12-24 17:34 [PATCH v3 00/35] drm/bridge: Consolidate initialization Mihail Atanassov
` (13 preceding siblings ...)
2019-12-24 17:34 ` [PATCH v3 14/35] drm/bridge: lvds-codec: " Mihail Atanassov
@ 2019-12-24 17:34 ` Mihail Atanassov
2019-12-24 17:34 ` [PATCH v3 17/35] drm/bridge: panel: " Mihail Atanassov
` (20 subsequent siblings)
35 siblings, 0 replies; 37+ messages in thread
From: Mihail Atanassov @ 2019-12-24 17:34 UTC (permalink / raw)
To: dri-devel
Cc: Jernej Skrabec, Mihail Atanassov, Martyn Welch, Neil Armstrong,
David Airlie, Peter Senna Tschudin, linux-kernel, Jonas Karlman,
Laurent Pinchart, nd
No functional change.
v3:
- drop driver_private argument (Laurent)
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mihail Atanassov <mihail.atanassov@arm.com>
---
drivers/gpu/drm/bridge/megachips-stdpxxxx-ge-b850v3-fw.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
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 c914f01e4707..a13ba625cca8 100644
--- a/drivers/gpu/drm/bridge/megachips-stdpxxxx-ge-b850v3-fw.c
+++ b/drivers/gpu/drm/bridge/megachips-stdpxxxx-ge-b850v3-fw.c
@@ -303,8 +303,8 @@ static int stdp4028_ge_b850v3_fw_probe(struct i2c_client *stdp4028_i2c,
i2c_set_clientdata(stdp4028_i2c, ge_b850v3_lvds_ptr);
/* drm bridge initialization */
- ge_b850v3_lvds_ptr->bridge.funcs = &ge_b850v3_lvds_funcs;
- ge_b850v3_lvds_ptr->bridge.of_node = dev->of_node;
+ drm_bridge_init(&ge_b850v3_lvds_ptr->bridge, dev, &ge_b850v3_lvds_funcs,
+ NULL);
drm_bridge_add(&ge_b850v3_lvds_ptr->bridge);
/* Clear pending interrupts since power up. */
--
2.24.0
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply related [flat|nested] 37+ messages in thread
* [PATCH v3 16/35] drm/bridge: nxp-ptn3460: Use drm_bridge_init()
2019-12-24 17:34 [PATCH v3 00/35] drm/bridge: Consolidate initialization Mihail Atanassov
` (15 preceding siblings ...)
2019-12-24 17:34 ` [PATCH v3 17/35] drm/bridge: panel: " Mihail Atanassov
@ 2019-12-24 17:34 ` Mihail Atanassov
2019-12-24 17:34 ` [PATCH v3 18/35] drm/bridge: ps8622: " Mihail Atanassov
` (18 subsequent siblings)
35 siblings, 0 replies; 37+ messages in thread
From: Mihail Atanassov @ 2019-12-24 17:34 UTC (permalink / raw)
To: dri-devel
Cc: Jernej Skrabec, Mihail Atanassov, Jonas Karlman, David Airlie,
Neil Armstrong, linux-kernel, Laurent Pinchart, nd
No functional change.
v3:
- drop driver_private argument (Laurent)
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mihail Atanassov <mihail.atanassov@arm.com>
---
drivers/gpu/drm/bridge/nxp-ptn3460.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/bridge/nxp-ptn3460.c b/drivers/gpu/drm/bridge/nxp-ptn3460.c
index 3999bb864eb9..19f37ec8284d 100644
--- a/drivers/gpu/drm/bridge/nxp-ptn3460.c
+++ b/drivers/gpu/drm/bridge/nxp-ptn3460.c
@@ -320,8 +320,7 @@ static int ptn3460_probe(struct i2c_client *client,
return ret;
}
- ptn_bridge->bridge.funcs = &ptn3460_bridge_funcs;
- ptn_bridge->bridge.of_node = dev->of_node;
+ drm_bridge_init(&ptn_bridge->bridge, dev, &ptn3460_bridge_funcs, NULL);
drm_bridge_add(&ptn_bridge->bridge);
i2c_set_clientdata(client, ptn_bridge);
--
2.24.0
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply related [flat|nested] 37+ messages in thread
* [PATCH v3 17/35] drm/bridge: panel: Use drm_bridge_init()
2019-12-24 17:34 [PATCH v3 00/35] drm/bridge: Consolidate initialization Mihail Atanassov
` (14 preceding siblings ...)
2019-12-24 17:34 ` [PATCH v3 15/35] drm/bridge: megachips-stdpxxxx-ge-b850v3-fw: " Mihail Atanassov
@ 2019-12-24 17:34 ` Mihail Atanassov
2019-12-24 17:34 ` [PATCH v3 16/35] drm/bridge: nxp-ptn3460: " Mihail Atanassov
` (19 subsequent siblings)
35 siblings, 0 replies; 37+ messages in thread
From: Mihail Atanassov @ 2019-12-24 17:34 UTC (permalink / raw)
To: dri-devel
Cc: Jernej Skrabec, Mihail Atanassov, Jonas Karlman, David Airlie,
Neil Armstrong, linux-kernel, Laurent Pinchart, nd
No functional change.
v3:
- drop driver_private argument (Laurent)
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mihail Atanassov <mihail.atanassov@arm.com>
---
drivers/gpu/drm/bridge/panel.c | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)
diff --git a/drivers/gpu/drm/bridge/panel.c b/drivers/gpu/drm/bridge/panel.c
index 4ba4e9d9537a..b8a87a4956b6 100644
--- a/drivers/gpu/drm/bridge/panel.c
+++ b/drivers/gpu/drm/bridge/panel.c
@@ -192,11 +192,8 @@ struct drm_bridge *drm_panel_bridge_add_typed(struct drm_panel *panel,
panel_bridge->connector_type = connector_type;
panel_bridge->panel = panel;
- panel_bridge->bridge.funcs = &panel_bridge_bridge_funcs;
-#ifdef CONFIG_OF
- panel_bridge->bridge.of_node = panel->dev->of_node;
-#endif
-
+ drm_bridge_init(&panel_bridge->bridge, panel->dev,
+ &panel_bridge_bridge_funcs, NULL);
drm_bridge_add(&panel_bridge->bridge);
return &panel_bridge->bridge;
--
2.24.0
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply related [flat|nested] 37+ messages in thread
* [PATCH v3 18/35] drm/bridge: ps8622: Use drm_bridge_init()
2019-12-24 17:34 [PATCH v3 00/35] drm/bridge: Consolidate initialization Mihail Atanassov
` (16 preceding siblings ...)
2019-12-24 17:34 ` [PATCH v3 16/35] drm/bridge: nxp-ptn3460: " Mihail Atanassov
@ 2019-12-24 17:34 ` Mihail Atanassov
2019-12-24 17:34 ` [PATCH v3 19/35] drm/bridge: sii902x: " Mihail Atanassov
` (17 subsequent siblings)
35 siblings, 0 replies; 37+ messages in thread
From: Mihail Atanassov @ 2019-12-24 17:34 UTC (permalink / raw)
To: dri-devel
Cc: Jernej Skrabec, Mihail Atanassov, Jonas Karlman, David Airlie,
Neil Armstrong, linux-kernel, Laurent Pinchart, nd
No functional change.
v3:
- drop driver_private argument (Laurent)
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mihail Atanassov <mihail.atanassov@arm.com>
---
drivers/gpu/drm/bridge/parade-ps8622.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/bridge/parade-ps8622.c b/drivers/gpu/drm/bridge/parade-ps8622.c
index c32af9c2bbcc..ce870f26e93d 100644
--- a/drivers/gpu/drm/bridge/parade-ps8622.c
+++ b/drivers/gpu/drm/bridge/parade-ps8622.c
@@ -588,8 +588,7 @@ static int ps8622_probe(struct i2c_client *client,
ps8622->bl->props.brightness = PS8622_MAX_BRIGHTNESS;
}
- ps8622->bridge.funcs = &ps8622_bridge_funcs;
- ps8622->bridge.of_node = dev->of_node;
+ drm_bridge_init(&ps8622->bridge, dev, &ps8622_bridge_funcs, NULL);
drm_bridge_add(&ps8622->bridge);
i2c_set_clientdata(client, ps8622);
--
2.24.0
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply related [flat|nested] 37+ messages in thread
* [PATCH v3 19/35] drm/bridge: sii902x: Use drm_bridge_init()
2019-12-24 17:34 [PATCH v3 00/35] drm/bridge: Consolidate initialization Mihail Atanassov
` (17 preceding siblings ...)
2019-12-24 17:34 ` [PATCH v3 18/35] drm/bridge: ps8622: " Mihail Atanassov
@ 2019-12-24 17:34 ` Mihail Atanassov
2019-12-24 17:34 ` [PATCH v3 20/35] drm/bridge: sii9234: " Mihail Atanassov
` (16 subsequent siblings)
35 siblings, 0 replies; 37+ messages in thread
From: Mihail Atanassov @ 2019-12-24 17:34 UTC (permalink / raw)
To: dri-devel
Cc: Jernej Skrabec, Mihail Atanassov, Jonas Karlman, David Airlie,
Neil Armstrong, linux-kernel, Laurent Pinchart, nd
No functional change.
v3:
- drop driver_private argument (Laurent)
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mihail Atanassov <mihail.atanassov@arm.com>
---
drivers/gpu/drm/bridge/sii902x.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/bridge/sii902x.c b/drivers/gpu/drm/bridge/sii902x.c
index 6ca297d78a26..6f454e5ce258 100644
--- a/drivers/gpu/drm/bridge/sii902x.c
+++ b/drivers/gpu/drm/bridge/sii902x.c
@@ -1017,9 +1017,8 @@ static int sii902x_probe(struct i2c_client *client,
return ret;
}
- sii902x->bridge.funcs = &sii902x_bridge_funcs;
- sii902x->bridge.of_node = dev->of_node;
- sii902x->bridge.timings = &default_sii902x_timings;
+ drm_bridge_init(&sii902x->bridge, dev, &sii902x_bridge_funcs,
+ &default_sii902x_timings);
drm_bridge_add(&sii902x->bridge);
sii902x_audio_codec_init(sii902x, dev);
--
2.24.0
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply related [flat|nested] 37+ messages in thread
* [PATCH v3 20/35] drm/bridge: sii9234: Use drm_bridge_init()
2019-12-24 17:34 [PATCH v3 00/35] drm/bridge: Consolidate initialization Mihail Atanassov
` (18 preceding siblings ...)
2019-12-24 17:34 ` [PATCH v3 19/35] drm/bridge: sii902x: " Mihail Atanassov
@ 2019-12-24 17:34 ` Mihail Atanassov
2019-12-24 17:34 ` [PATCH v3 21/35] drm/bridge: sil_sii8620: " Mihail Atanassov
` (15 subsequent siblings)
35 siblings, 0 replies; 37+ messages in thread
From: Mihail Atanassov @ 2019-12-24 17:34 UTC (permalink / raw)
To: dri-devel
Cc: Jernej Skrabec, Mihail Atanassov, Jonas Karlman, David Airlie,
Neil Armstrong, linux-kernel, Laurent Pinchart, nd
No functional change.
v3:
- drop driver_private argument (Laurent)
- update commit title prefix (Neil)
Signed-off-by: Mihail Atanassov <mihail.atanassov@arm.com>
---
drivers/gpu/drm/bridge/sii9234.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/bridge/sii9234.c b/drivers/gpu/drm/bridge/sii9234.c
index f81f81b7051f..108cff6c87b7 100644
--- a/drivers/gpu/drm/bridge/sii9234.c
+++ b/drivers/gpu/drm/bridge/sii9234.c
@@ -925,8 +925,7 @@ static int sii9234_probe(struct i2c_client *client,
i2c_set_clientdata(client, ctx);
- ctx->bridge.funcs = &sii9234_bridge_funcs;
- ctx->bridge.of_node = dev->of_node;
+ drm_bridge_init(&ctx->bridge, dev, &sii9234_bridge_funcs, NULL);
drm_bridge_add(&ctx->bridge);
sii9234_cable_in(ctx);
--
2.24.0
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply related [flat|nested] 37+ messages in thread
* [PATCH v3 21/35] drm/bridge: sil_sii8620: Use drm_bridge_init()
2019-12-24 17:34 [PATCH v3 00/35] drm/bridge: Consolidate initialization Mihail Atanassov
` (19 preceding siblings ...)
2019-12-24 17:34 ` [PATCH v3 20/35] drm/bridge: sii9234: " Mihail Atanassov
@ 2019-12-24 17:34 ` Mihail Atanassov
2019-12-24 17:34 ` [PATCH v3 22/35] drm/bridge: dw-hdmi: " Mihail Atanassov
` (14 subsequent siblings)
35 siblings, 0 replies; 37+ messages in thread
From: Mihail Atanassov @ 2019-12-24 17:34 UTC (permalink / raw)
To: dri-devel
Cc: Jernej Skrabec, Mihail Atanassov, Jonas Karlman, David Airlie,
Neil Armstrong, linux-kernel, Laurent Pinchart, nd
No functional change.
v3:
- drop driver_private argument (Laurent)
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mihail Atanassov <mihail.atanassov@arm.com>
---
drivers/gpu/drm/bridge/sil-sii8620.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/bridge/sil-sii8620.c b/drivers/gpu/drm/bridge/sil-sii8620.c
index 4c0eef406eb1..d67f9a844647 100644
--- a/drivers/gpu/drm/bridge/sil-sii8620.c
+++ b/drivers/gpu/drm/bridge/sil-sii8620.c
@@ -2337,8 +2337,7 @@ static int sii8620_probe(struct i2c_client *client,
i2c_set_clientdata(client, ctx);
- ctx->bridge.funcs = &sii8620_bridge_funcs;
- ctx->bridge.of_node = dev->of_node;
+ drm_bridge_init(&ctx->bridge, dev, &sii8620_bridge_funcs, NULL);
drm_bridge_add(&ctx->bridge);
if (!ctx->extcon)
--
2.24.0
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply related [flat|nested] 37+ messages in thread
* [PATCH v3 22/35] drm/bridge: dw-hdmi: Use drm_bridge_init()
2019-12-24 17:34 [PATCH v3 00/35] drm/bridge: Consolidate initialization Mihail Atanassov
` (20 preceding siblings ...)
2019-12-24 17:34 ` [PATCH v3 21/35] drm/bridge: sil_sii8620: " Mihail Atanassov
@ 2019-12-24 17:34 ` Mihail Atanassov
2019-12-24 17:34 ` [PATCH v3 23/35] drm/bridge/synopsys: dsi: " Mihail Atanassov
` (13 subsequent siblings)
35 siblings, 0 replies; 37+ messages in thread
From: Mihail Atanassov @ 2019-12-24 17:34 UTC (permalink / raw)
To: dri-devel
Cc: Jernej Skrabec, Mihail Atanassov, Jonas Karlman, David Airlie,
Neil Armstrong, linux-kernel, Laurent Pinchart, nd, Sam Ravnborg
No functional change.
v3:
- drop driver_private argument (Laurent)
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mihail Atanassov <mihail.atanassov@arm.com>
---
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
index 946aa1af8841..55a2a2f58783 100644
--- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
+++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
@@ -2900,10 +2900,7 @@ __dw_hdmi_probe(struct platform_device *pdev,
hdmi->ddc = NULL;
}
- hdmi->bridge.funcs = &dw_hdmi_bridge_funcs;
-#ifdef CONFIG_OF
- hdmi->bridge.of_node = pdev->dev.of_node;
-#endif
+ drm_bridge_init(&hdmi->bridge, &pdev->dev, &dw_hdmi_bridge_funcs, NULL);
memset(&pdevinfo, 0, sizeof(pdevinfo));
pdevinfo.parent = dev;
--
2.24.0
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply related [flat|nested] 37+ messages in thread
* [PATCH v3 24/35] drm/bridge: tc358764: Use drm_bridge_init()
2019-12-24 17:34 [PATCH v3 00/35] drm/bridge: Consolidate initialization Mihail Atanassov
` (22 preceding siblings ...)
2019-12-24 17:34 ` [PATCH v3 23/35] drm/bridge/synopsys: dsi: " Mihail Atanassov
@ 2019-12-24 17:34 ` Mihail Atanassov
2019-12-24 17:34 ` [PATCH v3 25/35] drm/bridge: tc358767: " Mihail Atanassov
` (11 subsequent siblings)
35 siblings, 0 replies; 37+ messages in thread
From: Mihail Atanassov @ 2019-12-24 17:34 UTC (permalink / raw)
To: dri-devel
Cc: Jernej Skrabec, Mihail Atanassov, Jonas Karlman, David Airlie,
Neil Armstrong, linux-kernel, Laurent Pinchart, nd
No functional change.
v3:
- drop driver_private argument (Laurent)
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mihail Atanassov <mihail.atanassov@arm.com>
---
drivers/gpu/drm/bridge/tc358764.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/bridge/tc358764.c b/drivers/gpu/drm/bridge/tc358764.c
index e35e17b1f396..5525f530f2a3 100644
--- a/drivers/gpu/drm/bridge/tc358764.c
+++ b/drivers/gpu/drm/bridge/tc358764.c
@@ -457,9 +457,7 @@ static int tc358764_probe(struct mipi_dsi_device *dsi)
if (ret < 0)
return ret;
- ctx->bridge.funcs = &tc358764_bridge_funcs;
- ctx->bridge.of_node = dev->of_node;
-
+ drm_bridge_init(&ctx->bridge, dev, &tc358764_bridge_funcs, NULL);
drm_bridge_add(&ctx->bridge);
ret = mipi_dsi_attach(dsi);
--
2.24.0
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply related [flat|nested] 37+ messages in thread
* [PATCH v3 23/35] drm/bridge/synopsys: dsi: Use drm_bridge_init()
2019-12-24 17:34 [PATCH v3 00/35] drm/bridge: Consolidate initialization Mihail Atanassov
` (21 preceding siblings ...)
2019-12-24 17:34 ` [PATCH v3 22/35] drm/bridge: dw-hdmi: " Mihail Atanassov
@ 2019-12-24 17:34 ` Mihail Atanassov
2019-12-24 17:34 ` [PATCH v3 24/35] drm/bridge: tc358764: " Mihail Atanassov
` (12 subsequent siblings)
35 siblings, 0 replies; 37+ messages in thread
From: Mihail Atanassov @ 2019-12-24 17:34 UTC (permalink / raw)
To: dri-devel
Cc: Jernej Skrabec, Mihail Atanassov, Jonas Karlman, David Airlie,
Neil Armstrong, linux-kernel, Laurent Pinchart, nd, Sam Ravnborg
No functional change.
v3:
- drop driver_private argument (Laurent)
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mihail Atanassov <mihail.atanassov@arm.com>
---
drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c b/drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c
index 3aa4f9289416..40530d0a037b 100644
--- a/drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c
+++ b/drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c
@@ -1064,10 +1064,8 @@ __dw_mipi_dsi_probe(struct platform_device *pdev,
return ERR_PTR(ret);
}
- dsi->bridge.funcs = &dw_mipi_dsi_bridge_funcs;
-#ifdef CONFIG_OF
- dsi->bridge.of_node = pdev->dev.of_node;
-#endif
+ drm_bridge_init(&dsi->bridge, &pdev->dev, &dw_mipi_dsi_bridge_funcs,
+ NULL);
return dsi;
}
--
2.24.0
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply related [flat|nested] 37+ messages in thread
* [PATCH v3 25/35] drm/bridge: tc358767: Use drm_bridge_init()
2019-12-24 17:34 [PATCH v3 00/35] drm/bridge: Consolidate initialization Mihail Atanassov
` (23 preceding siblings ...)
2019-12-24 17:34 ` [PATCH v3 24/35] drm/bridge: tc358764: " Mihail Atanassov
@ 2019-12-24 17:34 ` Mihail Atanassov
2019-12-24 17:34 ` [PATCH v3 26/35] drm/bridge: thc63: " Mihail Atanassov
` (10 subsequent siblings)
35 siblings, 0 replies; 37+ messages in thread
From: Mihail Atanassov @ 2019-12-24 17:34 UTC (permalink / raw)
To: dri-devel
Cc: Jernej Skrabec, Mihail Atanassov, Jonas Karlman, David Airlie,
Neil Armstrong, linux-kernel, Laurent Pinchart, nd
No functional change.
v3:
- drop driver_private argument (Laurent)
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mihail Atanassov <mihail.atanassov@arm.com>
---
drivers/gpu/drm/bridge/tc358767.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/bridge/tc358767.c b/drivers/gpu/drm/bridge/tc358767.c
index ab1524c00777..7f60c6d85fb2 100644
--- a/drivers/gpu/drm/bridge/tc358767.c
+++ b/drivers/gpu/drm/bridge/tc358767.c
@@ -1671,8 +1671,7 @@ static int tc_probe(struct i2c_client *client, const struct i2c_device_id *id)
if (ret)
return ret;
- tc->bridge.funcs = &tc_bridge_funcs;
- tc->bridge.of_node = dev->of_node;
+ drm_bridge_init(&tc->bridge, dev, &tc_bridge_funcs, NULL);
drm_bridge_add(&tc->bridge);
i2c_set_clientdata(client, tc);
--
2.24.0
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply related [flat|nested] 37+ messages in thread
* [PATCH v3 26/35] drm/bridge: thc63: Use drm_bridge_init()
2019-12-24 17:34 [PATCH v3 00/35] drm/bridge: Consolidate initialization Mihail Atanassov
` (24 preceding siblings ...)
2019-12-24 17:34 ` [PATCH v3 25/35] drm/bridge: tc358767: " Mihail Atanassov
@ 2019-12-24 17:34 ` Mihail Atanassov
2019-12-24 17:34 ` [PATCH v3 27/35] drm/bridge: ti-sn65dsi86: " Mihail Atanassov
` (9 subsequent siblings)
35 siblings, 0 replies; 37+ messages in thread
From: Mihail Atanassov @ 2019-12-24 17:34 UTC (permalink / raw)
To: dri-devel
Cc: Jernej Skrabec, Mihail Atanassov, Jonas Karlman, David Airlie,
Neil Armstrong, linux-kernel, Laurent Pinchart, nd
No functional change.
v3:
- drop driver_private argument (Laurent)
Signed-off-by: Mihail Atanassov <mihail.atanassov@arm.com>
---
drivers/gpu/drm/bridge/thc63lvd1024.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/drivers/gpu/drm/bridge/thc63lvd1024.c b/drivers/gpu/drm/bridge/thc63lvd1024.c
index 784f4e4eea05..30f6a76850f8 100644
--- a/drivers/gpu/drm/bridge/thc63lvd1024.c
+++ b/drivers/gpu/drm/bridge/thc63lvd1024.c
@@ -218,10 +218,8 @@ static int thc63_probe(struct platform_device *pdev)
if (ret)
return ret;
- thc63->bridge.of_node = pdev->dev.of_node;
- thc63->bridge.funcs = &thc63_bridge_func;
- thc63->bridge.timings = &thc63->timings;
-
+ drm_bridge_init(&thc63->bridge, &pdev->dev, &thc63_bridge_func,
+ &thc63->timings);
drm_bridge_add(&thc63->bridge);
return 0;
--
2.24.0
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply related [flat|nested] 37+ messages in thread
* [PATCH v3 27/35] drm/bridge: ti-sn65dsi86: Use drm_bridge_init()
2019-12-24 17:34 [PATCH v3 00/35] drm/bridge: Consolidate initialization Mihail Atanassov
` (25 preceding siblings ...)
2019-12-24 17:34 ` [PATCH v3 26/35] drm/bridge: thc63: " Mihail Atanassov
@ 2019-12-24 17:34 ` Mihail Atanassov
2019-12-24 17:34 ` [PATCH v3 28/35] drm/bridge: ti-tfp410: " Mihail Atanassov
` (8 subsequent siblings)
35 siblings, 0 replies; 37+ messages in thread
From: Mihail Atanassov @ 2019-12-24 17:34 UTC (permalink / raw)
To: dri-devel
Cc: Jernej Skrabec, Mihail Atanassov, Jonas Karlman, David Airlie,
Neil Armstrong, linux-kernel, Laurent Pinchart, nd
No functional change.
v3:
- drop driver_private argument (Laurent)
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mihail Atanassov <mihail.atanassov@arm.com>
---
drivers/gpu/drm/bridge/ti-sn65dsi86.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/bridge/ti-sn65dsi86.c b/drivers/gpu/drm/bridge/ti-sn65dsi86.c
index 8a4e64cfca1e..b1d2690fc218 100644
--- a/drivers/gpu/drm/bridge/ti-sn65dsi86.c
+++ b/drivers/gpu/drm/bridge/ti-sn65dsi86.c
@@ -765,9 +765,8 @@ static int ti_sn_bridge_probe(struct i2c_client *client,
pdata->aux.transfer = ti_sn_aux_transfer;
drm_dp_aux_register(&pdata->aux);
- pdata->bridge.funcs = &ti_sn_bridge_funcs;
- pdata->bridge.of_node = client->dev.of_node;
-
+ drm_bridge_init(&pdata->bridge, &client->dev, &ti_sn_bridge_funcs,
+ NULL);
drm_bridge_add(&pdata->bridge);
ti_sn_debugfs_init(pdata);
--
2.24.0
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply related [flat|nested] 37+ messages in thread
* [PATCH v3 28/35] drm/bridge: ti-tfp410: Use drm_bridge_init()
2019-12-24 17:34 [PATCH v3 00/35] drm/bridge: Consolidate initialization Mihail Atanassov
` (26 preceding siblings ...)
2019-12-24 17:34 ` [PATCH v3 27/35] drm/bridge: ti-sn65dsi86: " Mihail Atanassov
@ 2019-12-24 17:34 ` Mihail Atanassov
2019-12-24 17:34 ` [PATCH v3 29/35] drm/exynos: mic: " Mihail Atanassov
` (7 subsequent siblings)
35 siblings, 0 replies; 37+ messages in thread
From: Mihail Atanassov @ 2019-12-24 17:34 UTC (permalink / raw)
To: dri-devel
Cc: Jernej Skrabec, Mihail Atanassov, Jonas Karlman, David Airlie,
Neil Armstrong, linux-kernel, Laurent Pinchart, nd
No functional change.
v3:
- drop driver_private argument (Laurent)
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mihail Atanassov <mihail.atanassov@arm.com>
---
drivers/gpu/drm/bridge/ti-tfp410.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/bridge/ti-tfp410.c b/drivers/gpu/drm/bridge/ti-tfp410.c
index 76229367e2f4..6371530943a1 100644
--- a/drivers/gpu/drm/bridge/ti-tfp410.c
+++ b/drivers/gpu/drm/bridge/ti-tfp410.c
@@ -328,9 +328,7 @@ static int tfp410_init(struct device *dev, bool i2c)
return -ENOMEM;
dev_set_drvdata(dev, dvi);
- dvi->bridge.funcs = &tfp410_bridge_funcs;
- dvi->bridge.of_node = dev->of_node;
- dvi->bridge.timings = &dvi->timings;
+ drm_bridge_init(&dvi->bridge, dev, &tfp410_bridge_funcs, &dvi->timings);
dvi->dev = dev;
ret = tfp410_parse_timings(dvi, i2c);
--
2.24.0
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply related [flat|nested] 37+ messages in thread
* [PATCH v3 29/35] drm/exynos: mic: Use drm_bridge_init()
2019-12-24 17:34 [PATCH v3 00/35] drm/bridge: Consolidate initialization Mihail Atanassov
` (27 preceding siblings ...)
2019-12-24 17:34 ` [PATCH v3 28/35] drm/bridge: ti-tfp410: " Mihail Atanassov
@ 2019-12-24 17:34 ` Mihail Atanassov
2019-12-24 17:34 ` [PATCH v3 30/35] drm/i2c: tda998x: " Mihail Atanassov
` (6 subsequent siblings)
35 siblings, 0 replies; 37+ messages in thread
From: Mihail Atanassov @ 2019-12-24 17:34 UTC (permalink / raw)
To: dri-devel
Cc: Mihail Atanassov, David Airlie, Seung-Woo Kim, linux-kernel,
Krzysztof Kozlowski, linux-samsung-soc, Kyungmin Park,
Kukjin Kim, Laurent Pinchart, nd, linux-arm-kernel
No functional change.
v3:
- drop driver_private argument (Laurent)
Cc: Inki Dae <inki.dae@samsung.com>
Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mihail Atanassov <mihail.atanassov@arm.com>
---
drivers/gpu/drm/exynos/exynos_drm_mic.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/exynos/exynos_drm_mic.c b/drivers/gpu/drm/exynos/exynos_drm_mic.c
index 2b5f10c3a285..3bc9f81d0170 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_mic.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_mic.c
@@ -420,9 +420,7 @@ static int exynos_mic_probe(struct platform_device *pdev)
platform_set_drvdata(pdev, mic);
- mic->bridge.funcs = &mic_bridge_funcs;
- mic->bridge.of_node = dev->of_node;
-
+ drm_bridge_init(&mic->bridge, dev, &mic_bridge_funcs, NULL);
drm_bridge_add(&mic->bridge);
pm_runtime_enable(dev);
--
2.24.0
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply related [flat|nested] 37+ messages in thread
* [PATCH v3 30/35] drm/i2c: tda998x: Use drm_bridge_init()
2019-12-24 17:34 [PATCH v3 00/35] drm/bridge: Consolidate initialization Mihail Atanassov
` (28 preceding siblings ...)
2019-12-24 17:34 ` [PATCH v3 29/35] drm/exynos: mic: " Mihail Atanassov
@ 2019-12-24 17:34 ` Mihail Atanassov
2019-12-24 17:34 ` [PATCH v3 31/35] drm/mcde: dsi: " Mihail Atanassov
` (5 subsequent siblings)
35 siblings, 0 replies; 37+ messages in thread
From: Mihail Atanassov @ 2019-12-24 17:34 UTC (permalink / raw)
To: dri-devel
Cc: Mihail Atanassov, David Airlie, Russell King, linux-kernel,
Laurent Pinchart, nd
No functional change.
v3:
- drop driver_private argument (Laurent)
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mihail Atanassov <mihail.atanassov@arm.com>
---
drivers/gpu/drm/i2c/tda998x_drv.c | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)
diff --git a/drivers/gpu/drm/i2c/tda998x_drv.c b/drivers/gpu/drm/i2c/tda998x_drv.c
index 17a66ef3dfd4..90475d4eec58 100644
--- a/drivers/gpu/drm/i2c/tda998x_drv.c
+++ b/drivers/gpu/drm/i2c/tda998x_drv.c
@@ -1974,11 +1974,7 @@ static int tda998x_create(struct device *dev)
goto fail;
}
- priv->bridge.funcs = &tda998x_bridge_funcs;
-#ifdef CONFIG_OF
- priv->bridge.of_node = dev->of_node;
-#endif
-
+ drm_bridge_init(&priv->bridge, dev, &tda998x_bridge_funcs, NULL);
drm_bridge_add(&priv->bridge);
return 0;
--
2.24.0
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply related [flat|nested] 37+ messages in thread
* [PATCH v3 31/35] drm/mcde: dsi: Use drm_bridge_init()
2019-12-24 17:34 [PATCH v3 00/35] drm/bridge: Consolidate initialization Mihail Atanassov
` (29 preceding siblings ...)
2019-12-24 17:34 ` [PATCH v3 30/35] drm/i2c: tda998x: " Mihail Atanassov
@ 2019-12-24 17:34 ` Mihail Atanassov
2019-12-24 17:34 ` [PATCH v3 32/35] drm/mediatek: hdmi: " Mihail Atanassov
` (4 subsequent siblings)
35 siblings, 0 replies; 37+ messages in thread
From: Mihail Atanassov @ 2019-12-24 17:34 UTC (permalink / raw)
To: dri-devel
Cc: Mihail Atanassov, David Airlie, linux-kernel, Laurent Pinchart, nd
No functional change.
v3:
- drop driver_private argument (Laurent)
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mihail Atanassov <mihail.atanassov@arm.com>
---
drivers/gpu/drm/mcde/mcde_dsi.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/mcde/mcde_dsi.c b/drivers/gpu/drm/mcde/mcde_dsi.c
index 276a77c020c7..cf7ec4aaebd2 100644
--- a/drivers/gpu/drm/mcde/mcde_dsi.c
+++ b/drivers/gpu/drm/mcde/mcde_dsi.c
@@ -1098,8 +1098,7 @@ static int mcde_dsi_bind(struct device *dev, struct device *master,
d->bridge_out = bridge;
/* Create a bridge for this DSI channel */
- d->bridge.funcs = &mcde_dsi_bridge_funcs;
- d->bridge.of_node = dev->of_node;
+ drm_bridge_init(&d->bridge, dev, &mcde_dsi_bridge_funcs, NULL);
drm_bridge_add(&d->bridge);
/* TODO: first come first serve, use a list */
--
2.24.0
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply related [flat|nested] 37+ messages in thread
* [PATCH v3 32/35] drm/mediatek: hdmi: Use drm_bridge_init()
2019-12-24 17:34 [PATCH v3 00/35] drm/bridge: Consolidate initialization Mihail Atanassov
` (30 preceding siblings ...)
2019-12-24 17:34 ` [PATCH v3 31/35] drm/mcde: dsi: " Mihail Atanassov
@ 2019-12-24 17:34 ` Mihail Atanassov
2019-12-24 17:34 ` [PATCH v3 33/35] drm: rcar-du: lvds: " Mihail Atanassov
` (3 subsequent siblings)
35 siblings, 0 replies; 37+ messages in thread
From: Mihail Atanassov @ 2019-12-24 17:34 UTC (permalink / raw)
To: dri-devel
Cc: Mihail Atanassov, David Airlie, linux-kernel, Matthias Brugger,
linux-mediatek, Laurent Pinchart, nd, linux-arm-kernel
No functional change.
v3:
- drop driver_private argument (Laurent)
Acked-by: CK Hu <ck.hu@mediatek.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mihail Atanassov <mihail.atanassov@arm.com>
---
drivers/gpu/drm/mediatek/mtk_hdmi.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/mediatek/mtk_hdmi.c b/drivers/gpu/drm/mediatek/mtk_hdmi.c
index 5e4a4dbda443..a5fd2b68e407 100644
--- a/drivers/gpu/drm/mediatek/mtk_hdmi.c
+++ b/drivers/gpu/drm/mediatek/mtk_hdmi.c
@@ -1710,8 +1710,8 @@ static int mtk_drm_hdmi_probe(struct platform_device *pdev)
mtk_hdmi_register_audio_driver(dev);
- hdmi->bridge.funcs = &mtk_hdmi_bridge_funcs;
- hdmi->bridge.of_node = pdev->dev.of_node;
+ drm_bridge_init(&hdmi->bridge, &pdev->dev, &mtk_hdmi_bridge_funcs,
+ NULL);
drm_bridge_add(&hdmi->bridge);
ret = mtk_hdmi_clk_enable_audio(hdmi);
--
2.24.0
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply related [flat|nested] 37+ messages in thread
* [PATCH v3 33/35] drm: rcar-du: lvds: Use drm_bridge_init()
2019-12-24 17:34 [PATCH v3 00/35] drm/bridge: Consolidate initialization Mihail Atanassov
` (31 preceding siblings ...)
2019-12-24 17:34 ` [PATCH v3 32/35] drm/mediatek: hdmi: " Mihail Atanassov
@ 2019-12-24 17:34 ` Mihail Atanassov
2019-12-24 17:34 ` [PATCH v3 34/35] drm/sti: " Mihail Atanassov
` (2 subsequent siblings)
35 siblings, 0 replies; 37+ messages in thread
From: Mihail Atanassov @ 2019-12-24 17:34 UTC (permalink / raw)
To: dri-devel
Cc: Mihail Atanassov, David Airlie, linux-kernel, linux-renesas-soc,
Kieran Bingham, Laurent Pinchart, nd
No functional change.
v3:
- drop driver_private argument (Laurent)
Signed-off-by: Mihail Atanassov <mihail.atanassov@arm.com>
---
drivers/gpu/drm/rcar-du/rcar_lvds.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/rcar-du/rcar_lvds.c b/drivers/gpu/drm/rcar-du/rcar_lvds.c
index 1d6dfae8a200..30e284c3d189 100644
--- a/drivers/gpu/drm/rcar-du/rcar_lvds.c
+++ b/drivers/gpu/drm/rcar-du/rcar_lvds.c
@@ -882,8 +882,7 @@ static int rcar_lvds_probe(struct platform_device *pdev)
if (ret < 0)
return ret;
- lvds->bridge.funcs = &rcar_lvds_bridge_ops;
- lvds->bridge.of_node = pdev->dev.of_node;
+ drm_bridge_init(&lvds->bridge, &pdev->dev, &rcar_lvds_bridge_ops, NULL);
mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
lvds->mmio = devm_ioremap_resource(&pdev->dev, mem);
--
2.24.0
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply related [flat|nested] 37+ messages in thread
* [PATCH v3 34/35] drm/sti: Use drm_bridge_init()
2019-12-24 17:34 [PATCH v3 00/35] drm/bridge: Consolidate initialization Mihail Atanassov
` (32 preceding siblings ...)
2019-12-24 17:34 ` [PATCH v3 33/35] drm: rcar-du: lvds: " Mihail Atanassov
@ 2019-12-24 17:34 ` Mihail Atanassov
2019-12-24 17:34 ` [PATCH v3 35/35] drm/msm: " Mihail Atanassov
2019-12-24 17:40 ` [PATCH v3 RESEND 01/35] drm: Remove drm_bridge->dev Mihail Atanassov
35 siblings, 0 replies; 37+ messages in thread
From: Mihail Atanassov @ 2019-12-24 17:34 UTC (permalink / raw)
To: dri-devel
Cc: Mihail Atanassov, David Airlie, Sam Ravnborg, linux-kernel,
Laurent Pinchart, nd, Vincent Abriou
No functional change.
v3:
- drop driver_private argument (Laurent)
v2:
- Also apply drm_bridge_init() in sti_hdmi.c and sti_hda.c (Sam,
Benjamin)
Reviewed-by: Benjamin Gaignard <benjamin.gaignard@linaro.org>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mihail Atanassov <mihail.atanassov@arm.com>
---
drivers/gpu/drm/sti/sti_dvo.c | 3 +--
drivers/gpu/drm/sti/sti_hda.c | 2 +-
drivers/gpu/drm/sti/sti_hdmi.c | 2 +-
3 files changed, 3 insertions(+), 4 deletions(-)
diff --git a/drivers/gpu/drm/sti/sti_dvo.c b/drivers/gpu/drm/sti/sti_dvo.c
index 194491231de2..a72f4e4e60cd 100644
--- a/drivers/gpu/drm/sti/sti_dvo.c
+++ b/drivers/gpu/drm/sti/sti_dvo.c
@@ -460,8 +460,7 @@ static int sti_dvo_bind(struct device *dev, struct device *master, void *data)
connector->dvo = dvo;
- bridge->funcs = &sti_dvo_bridge_funcs;
- bridge->of_node = dvo->dev.of_node;
+ drm_bridge_init(bridge, &dvo->dev, &sti_dvo_bridge_funcs, NULL);
drm_bridge_add(bridge);
err = drm_bridge_attach(encoder, bridge, NULL);
diff --git a/drivers/gpu/drm/sti/sti_hda.c b/drivers/gpu/drm/sti/sti_hda.c
index d5b569ce93d0..b94044eb4672 100644
--- a/drivers/gpu/drm/sti/sti_hda.c
+++ b/drivers/gpu/drm/sti/sti_hda.c
@@ -699,7 +699,7 @@ static int sti_hda_bind(struct device *dev, struct device *master, void *data)
connector->hda = hda;
- bridge->funcs = &sti_hda_bridge_funcs;
+ drm_bridge_init(bridge, dev, &sti_hda_bridge_funcs, NULL);
drm_bridge_attach(encoder, bridge, NULL);
connector->encoder = encoder;
diff --git a/drivers/gpu/drm/sti/sti_hdmi.c b/drivers/gpu/drm/sti/sti_hdmi.c
index 7a7b0ce7bb14..e9e5c71b7eac 100644
--- a/drivers/gpu/drm/sti/sti_hdmi.c
+++ b/drivers/gpu/drm/sti/sti_hdmi.c
@@ -1275,7 +1275,7 @@ static int sti_hdmi_bind(struct device *dev, struct device *master, void *data)
connector->hdmi = hdmi;
- bridge->funcs = &sti_hdmi_bridge_funcs;
+ drm_bridge_init(bridge, dev, &sti_hdmi_bridge_funcs, NULL);
drm_bridge_attach(encoder, bridge, NULL);
connector->encoder = encoder;
--
2.24.0
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply related [flat|nested] 37+ messages in thread
* [PATCH v3 35/35] drm/msm: Use drm_bridge_init()
2019-12-24 17:34 [PATCH v3 00/35] drm/bridge: Consolidate initialization Mihail Atanassov
` (33 preceding siblings ...)
2019-12-24 17:34 ` [PATCH v3 34/35] drm/sti: " Mihail Atanassov
@ 2019-12-24 17:34 ` Mihail Atanassov
2019-12-24 17:40 ` [PATCH v3 RESEND 01/35] drm: Remove drm_bridge->dev Mihail Atanassov
35 siblings, 0 replies; 37+ messages in thread
From: Mihail Atanassov @ 2019-12-24 17:34 UTC (permalink / raw)
To: dri-devel
Cc: freedreno, Mihail Atanassov, David Airlie, Sam Ravnborg,
linux-kernel, Laurent Pinchart, Laurent Pinchart, linux-arm-msm,
nd, Sean Paul
No functional change: drm_bridge_init() sets bridge->of_node, but that's
not used by msm anywhere, and the bridges aren't published with
drm_bridge_add() for it to matter.
v3:
- drop driver_private argument (Laurent)
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mihail Atanassov <mihail.atanassov@arm.com>
---
drivers/gpu/drm/msm/dsi/dsi_manager.c | 3 +--
drivers/gpu/drm/msm/edp/edp_bridge.c | 3 +--
drivers/gpu/drm/msm/hdmi/hdmi_bridge.c | 3 +--
3 files changed, 3 insertions(+), 6 deletions(-)
diff --git a/drivers/gpu/drm/msm/dsi/dsi_manager.c b/drivers/gpu/drm/msm/dsi/dsi_manager.c
index 0fc29f1be8cc..058f8f9a8535 100644
--- a/drivers/gpu/drm/msm/dsi/dsi_manager.c
+++ b/drivers/gpu/drm/msm/dsi/dsi_manager.c
@@ -662,8 +662,7 @@ struct drm_bridge *msm_dsi_manager_bridge_init(u8 id)
encoder = msm_dsi->encoder;
bridge = &dsi_bridge->base;
- bridge->funcs = &dsi_mgr_bridge_funcs;
-
+ drm_bridge_init(bridge, msm_dsi->dev->dev, &dsi_mgr_bridge_funcs, NULL);
ret = drm_bridge_attach(encoder, bridge, NULL);
if (ret)
goto fail;
diff --git a/drivers/gpu/drm/msm/edp/edp_bridge.c b/drivers/gpu/drm/msm/edp/edp_bridge.c
index 301dd7a80bde..1f1cc87d0dd2 100644
--- a/drivers/gpu/drm/msm/edp/edp_bridge.c
+++ b/drivers/gpu/drm/msm/edp/edp_bridge.c
@@ -95,8 +95,7 @@ struct drm_bridge *msm_edp_bridge_init(struct msm_edp *edp)
edp_bridge->edp = edp;
bridge = &edp_bridge->base;
- bridge->funcs = &edp_bridge_funcs;
-
+ drm_bridge_init(bridge, edp->dev->dev, &edp_bridge_funcs, NULL);
ret = drm_bridge_attach(edp->encoder, bridge, NULL);
if (ret)
goto fail;
diff --git a/drivers/gpu/drm/msm/hdmi/hdmi_bridge.c b/drivers/gpu/drm/msm/hdmi/hdmi_bridge.c
index 07c098dce310..ed62d0822615 100644
--- a/drivers/gpu/drm/msm/hdmi/hdmi_bridge.c
+++ b/drivers/gpu/drm/msm/hdmi/hdmi_bridge.c
@@ -285,8 +285,7 @@ struct drm_bridge *msm_hdmi_bridge_init(struct hdmi *hdmi)
hdmi_bridge->hdmi = hdmi;
bridge = &hdmi_bridge->base;
- bridge->funcs = &msm_hdmi_bridge_funcs;
-
+ drm_bridge_init(bridge, hdmi->dev->dev, &msm_hdmi_bridge_funcs, NULL);
ret = drm_bridge_attach(hdmi->encoder, bridge, NULL);
if (ret)
goto fail;
--
2.24.0
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply related [flat|nested] 37+ messages in thread
* [PATCH v3 RESEND 01/35] drm: Remove drm_bridge->dev
2019-12-24 17:34 [PATCH v3 00/35] drm/bridge: Consolidate initialization Mihail Atanassov
` (34 preceding siblings ...)
2019-12-24 17:34 ` [PATCH v3 35/35] drm/msm: " Mihail Atanassov
@ 2019-12-24 17:40 ` Mihail Atanassov
35 siblings, 0 replies; 37+ messages in thread
From: Mihail Atanassov @ 2019-12-24 17:40 UTC (permalink / raw)
To: dri-devel
Cc: Jernej Skrabec, Mihail Atanassov, Thomas Zimmermann,
Neil Armstrong, David Airlie, linux-arm-msm, Jonas Karlman,
linux-kernel, linux-renesas-soc, Laurent Pinchart, nd, freedreno
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/
v3:
- resend as part of drm_bridge_init() series
v2:
- fix checkpatch complaint about unnecessary parentheses in
drm_bridge.c
Cc: Daniel Vetter <daniel@ffwll.ch>
Suggested-by: Thomas Zimmermann <tzimmermann@suse.de>
Acked-by: Thomas Zimmermann <tzimmermann@suse.de>
Signed-off-by: Mihail Atanassov <mihail.atanassov@arm.com>
---
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..258094169706 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 32e94bcb4a69..276a77c020c7 100644
--- a/drivers/gpu/drm/mcde/mcde_dsi.c
+++ b/drivers/gpu/drm/mcde/mcde_dsi.c
@@ -989,7 +989,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 */
--
2.24.0
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply related [flat|nested] 37+ messages in thread
end of thread, other threads:[~2019-12-25 10:21 UTC | newest]
Thread overview: 37+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-12-24 17:34 [PATCH v3 00/35] drm/bridge: Consolidate initialization Mihail Atanassov
2019-12-24 17:34 ` [PATCH v3 01/35] drm: Remove drm_bridge->dev Mihail Atanassov
2019-12-24 17:34 ` [PATCH v3 02/35] drm/bridge: analogix_dp: Stop using drm_bridge->driver_private Mihail Atanassov
2019-12-24 17:34 ` [PATCH v3 03/35] drm/bridge/synopsys: " Mihail Atanassov
2019-12-24 17:34 ` [PATCH v3 04/35] drm/bridge: thc63lvd1024: Don't set drm_bridge->driver_private Mihail Atanassov
2019-12-24 17:34 ` [PATCH v3 05/35] drm/exynos: mic: Stop using drm_bridge->driver_private Mihail Atanassov
2019-12-24 17:34 ` [PATCH v3 06/35] drm: rcar-du: lvds: Don't set drm_bridge->driver_private Mihail Atanassov
2019-12-24 17:34 ` [PATCH v3 07/35] drm/sti: Stop using drm_bridge->driver_private Mihail Atanassov
2019-12-24 17:34 ` [PATCH v3 08/35] drm/bridge: Drop driver_private from struct drm_bridge Mihail Atanassov
2019-12-24 17:34 ` [PATCH v3 09/35] drm: Introduce drm_bridge_init() Mihail Atanassov
2019-12-24 17:34 ` [PATCH v3 10/35] drm/bridge: adv7511: Use drm_bridge_init() Mihail Atanassov
2019-12-24 17:34 ` [PATCH v3 11/35] drm/bridge/analogix: " Mihail Atanassov
2019-12-24 17:34 ` [PATCH v3 12/35] drm/bridge: cdns: " Mihail Atanassov
2019-12-24 17:34 ` [PATCH v3 13/35] drm/bridge: dumb-vga-dac: " Mihail Atanassov
2019-12-24 17:34 ` [PATCH v3 14/35] drm/bridge: lvds-codec: " Mihail Atanassov
2019-12-24 17:34 ` [PATCH v3 15/35] drm/bridge: megachips-stdpxxxx-ge-b850v3-fw: " Mihail Atanassov
2019-12-24 17:34 ` [PATCH v3 17/35] drm/bridge: panel: " Mihail Atanassov
2019-12-24 17:34 ` [PATCH v3 16/35] drm/bridge: nxp-ptn3460: " Mihail Atanassov
2019-12-24 17:34 ` [PATCH v3 18/35] drm/bridge: ps8622: " Mihail Atanassov
2019-12-24 17:34 ` [PATCH v3 19/35] drm/bridge: sii902x: " Mihail Atanassov
2019-12-24 17:34 ` [PATCH v3 20/35] drm/bridge: sii9234: " Mihail Atanassov
2019-12-24 17:34 ` [PATCH v3 21/35] drm/bridge: sil_sii8620: " Mihail Atanassov
2019-12-24 17:34 ` [PATCH v3 22/35] drm/bridge: dw-hdmi: " Mihail Atanassov
2019-12-24 17:34 ` [PATCH v3 23/35] drm/bridge/synopsys: dsi: " Mihail Atanassov
2019-12-24 17:34 ` [PATCH v3 24/35] drm/bridge: tc358764: " Mihail Atanassov
2019-12-24 17:34 ` [PATCH v3 25/35] drm/bridge: tc358767: " Mihail Atanassov
2019-12-24 17:34 ` [PATCH v3 26/35] drm/bridge: thc63: " Mihail Atanassov
2019-12-24 17:34 ` [PATCH v3 27/35] drm/bridge: ti-sn65dsi86: " Mihail Atanassov
2019-12-24 17:34 ` [PATCH v3 28/35] drm/bridge: ti-tfp410: " Mihail Atanassov
2019-12-24 17:34 ` [PATCH v3 29/35] drm/exynos: mic: " Mihail Atanassov
2019-12-24 17:34 ` [PATCH v3 30/35] drm/i2c: tda998x: " Mihail Atanassov
2019-12-24 17:34 ` [PATCH v3 31/35] drm/mcde: dsi: " Mihail Atanassov
2019-12-24 17:34 ` [PATCH v3 32/35] drm/mediatek: hdmi: " Mihail Atanassov
2019-12-24 17:34 ` [PATCH v3 33/35] drm: rcar-du: lvds: " Mihail Atanassov
2019-12-24 17:34 ` [PATCH v3 34/35] drm/sti: " Mihail Atanassov
2019-12-24 17:34 ` [PATCH v3 35/35] drm/msm: " Mihail Atanassov
2019-12-24 17:40 ` [PATCH v3 RESEND 01/35] drm: Remove drm_bridge->dev Mihail Atanassov
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).