linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/5] Simplify panel bridge cleanup
@ 2017-10-02  9:32 Benjamin Gaignard
  2017-10-02  9:32 ` [PATCH v2 1/5] drm/bridge: make drm_panel_bridge_remove more robust Benjamin Gaignard
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Benjamin Gaignard @ 2017-10-02  9:32 UTC (permalink / raw)
  To: architt, a.hajda, Laurent.pinchart, airlied, daniel.vetter,
	jani.nikula, seanpaul, yannick.fertre, philippe.cornu
  Cc: dri-devel, linux-kernel, Benjamin Gaignard

The goal of this series is to simplify driver code when they need to clean up
a previously allocated panel bridge.
Few drivers have "is_panel_bridge" flag to be able to distinguish a
drm_panel_bridge from "simple" drm_bridge.
To remove this flag I propose to
- let drm_panel_bridge_remove() check if the bridge provided in parameter is
  really a drm_panel_bridge.
- add drm_of_panel_bridge_remove() to remove a bridge given DT port and
  endpoint
Finally that allow to remove drm_bridge structure and "is_panel_bridge" flag
from stm driver internal structure.

version 2:
- does the same for vc4 and dw-mipi-dsi

Benjamin Gaignard (5):
  drm/bridge: make drm_panel_bridge_remove more robust
  drm/drm_of: add drm_of_panel_bridge_remove function
  drm/stm: ltdc: remove bridge from driver internal structure
  drm/vc4: remove bridge from driver internal structure
  drm/bridge/synopsys: dsi :remove is_panel_bridge

 drivers/gpu/drm/bridge/panel.c                | 10 +++++++-
 drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c |  5 +---
 drivers/gpu/drm/drm_of.c                      | 33 +++++++++++++++++++++++++++
 drivers/gpu/drm/stm/ltdc.c                    | 16 ++++---------
 drivers/gpu/drm/stm/ltdc.h                    |  2 --
 drivers/gpu/drm/vc4/vc4_dpi.c                 | 17 +++++---------
 include/drm/drm_of.h                          |  8 +++++++
 7 files changed, 62 insertions(+), 29 deletions(-)

-- 
2.7.4

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH v2 1/5] drm/bridge: make drm_panel_bridge_remove more robust
  2017-10-02  9:32 [PATCH v2 0/5] Simplify panel bridge cleanup Benjamin Gaignard
@ 2017-10-02  9:32 ` Benjamin Gaignard
  2017-10-03  8:06 ` [PATCH v2 0/5] Simplify panel bridge cleanup Daniel Vetter
  2017-10-10  3:36 ` Archit Taneja
  2 siblings, 0 replies; 5+ messages in thread
From: Benjamin Gaignard @ 2017-10-02  9:32 UTC (permalink / raw)
  To: architt, a.hajda, Laurent.pinchart, airlied, daniel.vetter,
	jani.nikula, seanpaul, yannick.fertre, philippe.cornu
  Cc: dri-devel, linux-kernel, Benjamin Gaignard

Make sure that bridge parameter is not NULL and can be safely
cast into a panel_bridge structure.

Signed-off-by: Benjamin Gaignard <benjamin.gaignard@linaro.org>
Reviewed-by: Philippe Cornu <philippe.cornu@st.com>
Tested-by: Philippe Cornu <philippe.cornu@st.com>
---
 drivers/gpu/drm/bridge/panel.c | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/bridge/panel.c b/drivers/gpu/drm/bridge/panel.c
index e0cca19..6d99d4a 100644
--- a/drivers/gpu/drm/bridge/panel.c
+++ b/drivers/gpu/drm/bridge/panel.c
@@ -188,7 +188,15 @@ EXPORT_SYMBOL(drm_panel_bridge_add);
  */
 void drm_panel_bridge_remove(struct drm_bridge *bridge)
 {
-	struct panel_bridge *panel_bridge = drm_bridge_to_panel_bridge(bridge);
+	struct panel_bridge *panel_bridge;
+
+	if (!bridge)
+		return;
+
+	if (bridge->funcs != &panel_bridge_bridge_funcs)
+		return;
+
+	panel_bridge = drm_bridge_to_panel_bridge(bridge);
 
 	drm_bridge_remove(bridge);
 	devm_kfree(panel_bridge->panel->dev, bridge);
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH v2 0/5] Simplify panel bridge cleanup
  2017-10-02  9:32 [PATCH v2 0/5] Simplify panel bridge cleanup Benjamin Gaignard
  2017-10-02  9:32 ` [PATCH v2 1/5] drm/bridge: make drm_panel_bridge_remove more robust Benjamin Gaignard
@ 2017-10-03  8:06 ` Daniel Vetter
  2017-10-10  3:36 ` Archit Taneja
  2 siblings, 0 replies; 5+ messages in thread
From: Daniel Vetter @ 2017-10-03  8:06 UTC (permalink / raw)
  To: Benjamin Gaignard
  Cc: architt, a.hajda, Laurent.pinchart, airlied, daniel.vetter,
	jani.nikula, seanpaul, yannick.fertre, philippe.cornu,
	linux-kernel, dri-devel

On Mon, Oct 02, 2017 at 11:32:30AM +0200, Benjamin Gaignard wrote:
> The goal of this series is to simplify driver code when they need to clean up
> a previously allocated panel bridge.
> Few drivers have "is_panel_bridge" flag to be able to distinguish a
> drm_panel_bridge from "simple" drm_bridge.
> To remove this flag I propose to
> - let drm_panel_bridge_remove() check if the bridge provided in parameter is
>   really a drm_panel_bridge.
> - add drm_of_panel_bridge_remove() to remove a bridge given DT port and
>   endpoint
> Finally that allow to remove drm_bridge structure and "is_panel_bridge" flag
> from stm driver internal structure.
> 
> version 2:
> - does the same for vc4 and dw-mipi-dsi

Sweet. Ack on the entire series from my side. Since you have commit rights
I'd wait a bit more for feedback from driver maintainers, then push the
entire pile.

Cheers, Daniel

> 
> Benjamin Gaignard (5):
>   drm/bridge: make drm_panel_bridge_remove more robust
>   drm/drm_of: add drm_of_panel_bridge_remove function
>   drm/stm: ltdc: remove bridge from driver internal structure
>   drm/vc4: remove bridge from driver internal structure
>   drm/bridge/synopsys: dsi :remove is_panel_bridge
> 
>  drivers/gpu/drm/bridge/panel.c                | 10 +++++++-
>  drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c |  5 +---
>  drivers/gpu/drm/drm_of.c                      | 33 +++++++++++++++++++++++++++
>  drivers/gpu/drm/stm/ltdc.c                    | 16 ++++---------
>  drivers/gpu/drm/stm/ltdc.h                    |  2 --
>  drivers/gpu/drm/vc4/vc4_dpi.c                 | 17 +++++---------
>  include/drm/drm_of.h                          |  8 +++++++
>  7 files changed, 62 insertions(+), 29 deletions(-)
> 
> -- 
> 2.7.4
> 
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH v2 0/5] Simplify panel bridge cleanup
  2017-10-02  9:32 [PATCH v2 0/5] Simplify panel bridge cleanup Benjamin Gaignard
  2017-10-02  9:32 ` [PATCH v2 1/5] drm/bridge: make drm_panel_bridge_remove more robust Benjamin Gaignard
  2017-10-03  8:06 ` [PATCH v2 0/5] Simplify panel bridge cleanup Daniel Vetter
@ 2017-10-10  3:36 ` Archit Taneja
  2017-10-10 10:03   ` Benjamin Gaignard
  2 siblings, 1 reply; 5+ messages in thread
From: Archit Taneja @ 2017-10-10  3:36 UTC (permalink / raw)
  To: Benjamin Gaignard, a.hajda, Laurent.pinchart, airlied,
	daniel.vetter, jani.nikula, seanpaul, yannick.fertre,
	philippe.cornu
  Cc: dri-devel, linux-kernel



On 10/02/2017 03:02 PM, Benjamin Gaignard wrote:
> The goal of this series is to simplify driver code when they need to clean up
> a previously allocated panel bridge.
> Few drivers have "is_panel_bridge" flag to be able to distinguish a
> drm_panel_bridge from "simple" drm_bridge.
> To remove this flag I propose to
> - let drm_panel_bridge_remove() check if the bridge provided in parameter is
>    really a drm_panel_bridge.
> - add drm_of_panel_bridge_remove() to remove a bridge given DT port and
>    endpoint
> Finally that allow to remove drm_bridge structure and "is_panel_bridge" flag
> from stm driver internal structure.
> 
> version 2:
> - does the same for vc4 and dw-mipi-dsi
For the series:

Reviewed-by: Archit Taneja <architt@codeaurora.org>

Feel free to queue to drm-misc-next.

Thanks,
Archit

> 
> Benjamin Gaignard (5):
>    drm/bridge: make drm_panel_bridge_remove more robust
>    drm/drm_of: add drm_of_panel_bridge_remove function
>    drm/stm: ltdc: remove bridge from driver internal structure
>    drm/vc4: remove bridge from driver internal structure
>    drm/bridge/synopsys: dsi :remove is_panel_bridge
> 
>   drivers/gpu/drm/bridge/panel.c                | 10 +++++++-
>   drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c |  5 +---
>   drivers/gpu/drm/drm_of.c                      | 33 +++++++++++++++++++++++++++
>   drivers/gpu/drm/stm/ltdc.c                    | 16 ++++---------
>   drivers/gpu/drm/stm/ltdc.h                    |  2 --
>   drivers/gpu/drm/vc4/vc4_dpi.c                 | 17 +++++---------
>   include/drm/drm_of.h                          |  8 +++++++
>   7 files changed, 62 insertions(+), 29 deletions(-)
> 

-- 
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH v2 0/5] Simplify panel bridge cleanup
  2017-10-10  3:36 ` Archit Taneja
@ 2017-10-10 10:03   ` Benjamin Gaignard
  0 siblings, 0 replies; 5+ messages in thread
From: Benjamin Gaignard @ 2017-10-10 10:03 UTC (permalink / raw)
  To: Archit Taneja
  Cc: Andrzej Hajda, Laurent Pinchart, David Airlie, Daniel Vetter,
	Jani Nikula, Sean Paul, Yannick Fertre, Philippe Cornu,
	dri-devel, Linux Kernel Mailing List

2017-10-10 5:36 GMT+02:00 Archit Taneja <architt@codeaurora.org>:
>
>
> On 10/02/2017 03:02 PM, Benjamin Gaignard wrote:
>>
>> The goal of this series is to simplify driver code when they need to clean
>> up
>> a previously allocated panel bridge.
>> Few drivers have "is_panel_bridge" flag to be able to distinguish a
>> drm_panel_bridge from "simple" drm_bridge.
>> To remove this flag I propose to
>> - let drm_panel_bridge_remove() check if the bridge provided in parameter
>> is
>>    really a drm_panel_bridge.
>> - add drm_of_panel_bridge_remove() to remove a bridge given DT port and
>>    endpoint
>> Finally that allow to remove drm_bridge structure and "is_panel_bridge"
>> flag
>> from stm driver internal structure.
>>
>> version 2:
>> - does the same for vc4 and dw-mipi-dsi
>
> For the series:
>
> Reviewed-by: Archit Taneja <architt@codeaurora.org>
>
> Feel free to queue to drm-misc-next.

Pushed thanks

>
> Thanks,
> Archit
>
>>
>> Benjamin Gaignard (5):
>>    drm/bridge: make drm_panel_bridge_remove more robust
>>    drm/drm_of: add drm_of_panel_bridge_remove function
>>    drm/stm: ltdc: remove bridge from driver internal structure
>>    drm/vc4: remove bridge from driver internal structure
>>    drm/bridge/synopsys: dsi :remove is_panel_bridge
>>
>>   drivers/gpu/drm/bridge/panel.c                | 10 +++++++-
>>   drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c |  5 +---
>>   drivers/gpu/drm/drm_of.c                      | 33
>> +++++++++++++++++++++++++++
>>   drivers/gpu/drm/stm/ltdc.c                    | 16 ++++---------
>>   drivers/gpu/drm/stm/ltdc.h                    |  2 --
>>   drivers/gpu/drm/vc4/vc4_dpi.c                 | 17 +++++---------
>>   include/drm/drm_of.h                          |  8 +++++++
>>   7 files changed, 62 insertions(+), 29 deletions(-)
>>
>
> --
> Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
> a Linux Foundation Collaborative Project



-- 
Benjamin Gaignard

Graphic Study Group

Linaro.org │ Open source software for ARM SoCs

Follow Linaro: Facebook | Twitter | Blog

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2017-10-10 10:03 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-10-02  9:32 [PATCH v2 0/5] Simplify panel bridge cleanup Benjamin Gaignard
2017-10-02  9:32 ` [PATCH v2 1/5] drm/bridge: make drm_panel_bridge_remove more robust Benjamin Gaignard
2017-10-03  8:06 ` [PATCH v2 0/5] Simplify panel bridge cleanup Daniel Vetter
2017-10-10  3:36 ` Archit Taneja
2017-10-10 10:03   ` Benjamin Gaignard

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).