[RESEND,1/2] Revert "drm: bridge: mcde_dsi: Drop explicit bridge remove"

Message ID 20220429085947.1699963-1-jagan@amarulasolutions.com
State New
Headers show
Series
  • [RESEND,1/2] Revert "drm: bridge: mcde_dsi: Drop explicit bridge remove"
Related show

Commit Message

Jagan Teki April 29, 2022, 8:59 a.m. UTC
commit <3730bc6147b0> ("drm: bridge: mcde_dsi: Drop explicit bridge
remove") has removed downstream bridge as it's prior commit <3d7039e1e649>
("drm: bridge: mcde_dsi: Switch to devm_drm_of_get_bridge") added
devm_drm_of_get_bridge for looking up if child node has panel or bridge.

However commit <b089c0a9b14c> ("Revert "drm: of: Lookup if child node
has panel or bridge") has reverted panel or bridge child node lookup
from devm_drm_of_get_bridge as it breaks the non-trivial cases the
first child node might not be a panel or bridge.

So, revert this commit to switch the previous behavior of looking up
child panel or bridge.

Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
---
Notes:
 Nothing changed for RESEND.

 drivers/gpu/drm/mcde/mcde_dsi.c | 44 ++++++++++++++++++++++++++++-----
 1 file changed, 38 insertions(+), 6 deletions(-)

Comments

Linus Walleij April 29, 2022, 10:27 p.m. UTC | #1
On Fri, Apr 29, 2022 at 10:59 AM Jagan Teki <jagan@amarulasolutions.com> wrote:

> commit <3730bc6147b0> ("drm: bridge: mcde_dsi: Drop explicit bridge
> remove") has removed downstream bridge as it's prior commit <3d7039e1e649>
> ("drm: bridge: mcde_dsi: Switch to devm_drm_of_get_bridge") added
> devm_drm_of_get_bridge for looking up if child node has panel or bridge.
>
> However commit <b089c0a9b14c> ("Revert "drm: of: Lookup if child node
> has panel or bridge") has reverted panel or bridge child node lookup
> from devm_drm_of_get_bridge as it breaks the non-trivial cases the
> first child node might not be a panel or bridge.
>
> So, revert this commit to switch the previous behavior of looking up
> child panel or bridge.
>
> Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>

Reviewed-by: Linus Walleij <linus.walleij@linaro.org>

Yours,
Linus Walleij
Maxime Ripard May 4, 2022, 3:13 p.m. UTC | #2
On Fri, 29 Apr 2022 14:29:46 +0530, Jagan Teki wrote:
> commit <3730bc6147b0> ("drm: bridge: mcde_dsi: Drop explicit bridge
> remove") has removed downstream bridge as it's prior commit <3d7039e1e649>
> ("drm: bridge: mcde_dsi: Switch to devm_drm_of_get_bridge") added
> devm_drm_of_get_bridge for looking up if child node has panel or bridge.
> 
> However commit <b089c0a9b14c> ("Revert "drm: of: Lookup if child node
> has panel or bridge") has reverted panel or bridge child node lookup
> from devm_drm_of_get_bridge as it breaks the non-trivial cases the
> first child node might not be a panel or bridge.
> 
> [...]

Applied to drm/drm-misc (drm-misc-next).

Thanks!
Maxime

Patch

diff --git a/drivers/gpu/drm/mcde/mcde_dsi.c b/drivers/gpu/drm/mcde/mcde_dsi.c
index 083a4728654d..5651734ce977 100644
--- a/drivers/gpu/drm/mcde/mcde_dsi.c
+++ b/drivers/gpu/drm/mcde/mcde_dsi.c
@@ -19,6 +19,7 @@ 
 #include <drm/drm_mipi_dsi.h>
 #include <drm/drm_modeset_helper_vtables.h>
 #include <drm/drm_of.h>
+#include <drm/drm_panel.h>
 #include <drm/drm_print.h>
 #include <drm/drm_probe_helper.h>
 
@@ -38,6 +39,7 @@  struct mcde_dsi {
 	struct device *dev;
 	struct mcde *mcde;
 	struct drm_bridge bridge;
+	struct drm_panel *panel;
 drivers/gpu/drm/mcde/mcde_dsi.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/gpu/drm/mcde/mcde_dsi.c b/drivers/gpu/drm/mcde/mcde_dsi.c
index 960b49ea2ee5..083a4728654d 100644
--- a/drivers/gpu/drm/mcde/mcde_dsi.c
+++ b/drivers/gpu/drm/mcde/mcde_dsi.c
@@ -1122,6 +1122,7 @@  static void mcde_dsi_unbind(struct device *dev, struct device *master,
 {
 	struct mcde_dsi *d = dev_get_drvdata(dev);
 
+	drm_bridge_remove(d->bridge_out);
 	regmap_update_bits(d->prcmu, PRCM_DSI_SW_RESET,
 			   PRCM_DSI_SW_RESET_DSI0_SW_RESETN, 0);
 }