mirror-linux/drivers/gpu/drm/bridge
Stephen Boyd 7b821db951 drm/bridge: ti-sn65dsi86: Associate DSI device lifetime with auxiliary device
The kernel produces a warning splat and the DSI device fails to register
in this driver if the i2c driver probes, populates child auxiliary
devices, and then somewhere in ti_sn_bridge_probe() a function call
returns -EPROBE_DEFER. When the auxiliary driver probe defers, the dsi
device created by devm_mipi_dsi_device_register_full() is left
registered because the devm managed device used to manage the lifetime
of the DSI device is the parent i2c device, not the auxiliary device
that is being probed.

Associate the DSI device created and managed by this driver to the
lifetime of the auxiliary device, not the i2c device, so that the DSI
device is removed when the auxiliary driver unbinds. Similarly change
the device pointer used for dev_err_probe() so the deferred probe errors
are associated with the auxiliary device instead of the parent i2c
device so we can narrow down future problems faster.

Cc: Douglas Anderson <dianders@chromium.org>
Cc: Maxime Ripard <maxime@cerno.tech>
Fixes: c3b75d4734 ("drm/bridge: sn65dsi86: Register and attach our DSI device at probe")
Signed-off-by: Stephen Boyd <swboyd@chromium.org>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Reviewed-by: Douglas Anderson <dianders@chromium.org>
Signed-off-by: Douglas Anderson <dianders@chromium.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20231002235407.769399-1-swboyd@chromium.org
2023-10-12 09:24:09 -07:00
..
adv7511 drm: adv7511: Fix low refresh rate register for ADV7533/5 2023-07-21 13:37:18 +02:00
analogix drm/bridge: fix -Wunused-const-variable= warning 2023-07-31 11:14:24 +02:00
cadence drm/bridge: fix -Wunused-const-variable= warning 2023-07-31 11:14:24 +02:00
imx drm: Explicitly include correct DT includes 2023-07-21 09:12:43 +02:00
synopsys drm: bridge: dw_hdmi: Fix ELD is not updated issue 2023-08-04 10:31:41 +02:00
Kconfig drm/bridge: it6505: Fix Kconfig indentation 2023-07-24 10:33:29 +02:00
Makefile drm: bridge: Generalize Exynos-DSI driver into a Samsung DSIM bridge 2023-03-28 09:05:41 +09:00
chipone-icn6211.c drm: Explicitly include correct DT includes 2023-07-21 09:12:43 +02:00
chrontel-ch7033.c drm/bridge: fix -Wunused-const-variable= warning 2023-07-31 11:14:24 +02:00
cros-ec-anx7688.c drm: Switch i2c drivers back to use .probe() 2023-05-30 16:55:16 -07:00
display-connector.c drm: Explicitly include correct DT includes 2023-07-21 09:12:43 +02:00
fsl-ldb.c drm: Explicitly include correct DT includes 2023-07-21 09:12:43 +02:00
ite-it6505.c Linux 6.5-rc7 2023-08-24 07:26:06 +10:00
ite-it66121.c drm: Switch i2c drivers back to use .probe() 2023-05-30 16:55:16 -07:00
lontium-lt8912b.c drm: Switch i2c drivers back to use .probe() 2023-05-30 16:55:16 -07:00
lontium-lt9211.c drm: Explicitly include correct DT includes 2023-07-21 09:12:43 +02:00
lontium-lt9611.c Revert "drm/bridge: lt9611: Do not generate HFP/HBP/HSA and EOT packet" 2023-08-04 10:26:29 +02:00
lontium-lt9611uxc.c drm/bridge: lt9611uxc: Add MODULE_FIRMWARE macro 2023-06-21 14:53:16 +02:00
lvds-codec.c drm: Explicitly include correct DT includes 2023-07-21 09:12:43 +02:00
megachips-stdpxxxx-ge-b850v3-fw.c drm: Switch i2c drivers back to use .probe() 2023-05-30 16:55:16 -07:00
nwl-dsi.c drm: Explicitly include correct DT includes 2023-07-21 09:12:43 +02:00
nwl-dsi.h
nxp-ptn3460.c drm: Switch i2c drivers back to use .probe() 2023-05-30 16:55:16 -07:00
panel.c Merge remote-tracking branch 'drm/drm-next' into msm-next 2023-03-20 10:31:25 -07:00
parade-ps8622.c drm: Explicitly include correct DT includes 2023-07-21 09:12:43 +02:00
parade-ps8640.c drm/bridge: ps8640: Drop the ability of ps8640 to fetch the EDID 2023-06-23 17:16:01 +02:00
samsung-dsim.c drm for 6.6-rc1 2023-08-30 13:34:34 -07:00
sii902x.c drm/bridge: sii902x: Set input_bus_flags in atomic_check 2023-07-10 14:21:24 +02:00
sii9234.c drm: Switch i2c drivers back to use .probe() 2023-05-30 16:55:16 -07:00
sil-sii8620.c drm/bridge: fix -Wunused-const-variable= warning 2023-07-31 11:14:24 +02:00
sil-sii8620.h
simple-bridge.c drm: Explicitly include correct DT includes 2023-07-21 09:12:43 +02:00
tc358762.c drm/bridge: tc358762: Handle HS/VS polarity 2023-06-22 11:13:31 +02:00
tc358764.c drm/bridge: tc358764: Use BIT() macro for actual bits 2023-06-22 11:02:58 +02:00
tc358767.c drm/bridge: tc358767: give VSDELAY some positive value 2023-07-21 21:29:52 +02:00
tc358768.c drm: Switch i2c drivers back to use .probe() 2023-05-30 16:55:16 -07:00
tc358775.c drm: Switch i2c drivers back to use .probe() 2023-05-30 16:55:16 -07:00
thc63lvd1024.c drm/bridge: thc63lvd1024: Convert to platform remove callback returning void 2023-03-20 11:51:55 +01:00
ti-dlpc3433.c drm: Switch i2c drivers back to use .probe() 2023-05-30 16:55:16 -07:00
ti-sn65dsi83.c drm: Explicitly include correct DT includes 2023-07-21 09:12:43 +02:00
ti-sn65dsi86.c drm/bridge: ti-sn65dsi86: Associate DSI device lifetime with auxiliary device 2023-10-12 09:24:09 -07:00
ti-tfp410.c drm/bridge: fix -Wunused-const-variable= warning 2023-07-31 11:14:24 +02:00
ti-tpd12s015.c