All of lore.kernel.org
 help / color / mirror / Atom feed
From: Luca Ceresoli <luca.ceresoli@bootlin.com>
To: Liu Ying <victor.liu@nxp.com>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>,
	Maxime Ripard <mripard@kernel.org>,
	Thomas Zimmermann <tzimmermann@suse.de>,
	Andrzej Hajda <andrzej.hajda@intel.com>,
	Neil Armstrong <neil.armstrong@linaro.org>,
	Robert Foss <rfoss@kernel.org>,
	Laurent Pinchart <Laurent.pinchart@ideasonboard.com>,
	Jonas Karlman <jonas@kwiboo.se>,
	Jernej Skrabec <jernej.skrabec@gmail.com>,
	David Airlie <airlied@gmail.com>, Simona Vetter <simona@ffwll.ch>,
	Marek Vasut <marex@denx.de>, Stefan Agner <stefan@agner.ch>,
	Shawn Guo <shawnguo@kernel.org>,
	Sascha Hauer <s.hauer@pengutronix.de>,
	Pengutronix Kernel Team <kernel@pengutronix.de>,
	Fabio Estevam <festevam@gmail.com>,
	Hui Pu <Hui.Pu@gehealthcare.com>,
	Thomas Petazzoni <thomas.petazzoni@bootlin.com>,
	dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org,
	imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v8 3/5] drm/mxsfb: put the bridge returned by drm_bridge_chain_get_first_bridge()
Date: Mon, 23 Jun 2025 16:09:09 +0200	[thread overview]
Message-ID: <20250623160909.7d11cfee@booty> (raw)
In-Reply-To: <6ed34611-d2fe-4c9c-8b00-0939ac407e07@nxp.com>

On Mon, 23 Jun 2025 11:06:37 +0800
Liu Ying <victor.liu@nxp.com> wrote:

[...]

> > diff --git a/drivers/gpu/drm/mxsfb/lcdif_kms.c b/drivers/gpu/drm/mxsfb/lcdif_kms.c
> > index dbd42cc1da87f82ef9cd4ccc70cdecbe56035174..21311cf5efee7d26c80316bffe80dd2bfed02238 100644
> > --- a/drivers/gpu/drm/mxsfb/lcdif_kms.c
> > +++ b/drivers/gpu/drm/mxsfb/lcdif_kms.c
> > @@ -433,7 +433,6 @@ static int lcdif_crtc_atomic_check(struct drm_crtc *crtc,
> >  	struct drm_connector *connector;
> >  	struct drm_encoder *encoder;
> >  	struct drm_bridge_state *bridge_state;
> > -	struct drm_bridge *bridge;
> >  	u32 bus_format, bus_flags;
> >  	bool format_set = false, flags_set = false;
> >  	int ret, i;
> > @@ -448,6 +447,8 @@ static int lcdif_crtc_atomic_check(struct drm_crtc *crtc,
> >  
> >  	/* Try to find consistent bus format and flags across first bridges. */
> >  	for_each_new_connector_in_state(state, connector, connector_state, i) {
> > +		struct drm_bridge *bridge __free(drm_bridge_put) = NULL;
> > +
> >  		if (!connector_state->crtc)
> >  			continue;  
> 
> To avoid the unnecessary cleanup for !connector_state->crtc, I would write:
> 
> -8<-
> --- a/drivers/gpu/drm/mxsfb/lcdif_kms.c
> +++ b/drivers/gpu/drm/mxsfb/lcdif_kms.c
> @@ -433,7 +433,6 @@ static int lcdif_crtc_atomic_check(struct drm_crtc *crtc,
>         struct drm_connector *connector;
>         struct drm_encoder *encoder;
>         struct drm_bridge_state *bridge_state;
> -       struct drm_bridge *bridge;
>         u32 bus_format, bus_flags;
>         bool format_set = false, flags_set = false;
>         int ret, i;
> @@ -453,7 +452,8 @@ static int lcdif_crtc_atomic_check(struct drm_crtc *crtc,
>  
>                 encoder = connector_state->best_encoder;
>  
> -               bridge = drm_bridge_chain_get_first_bridge(encoder);
> +               struct drm_bridge *bridge __free(drm_bridge_put) =
> +                               drm_bridge_chain_get_first_bridge(encoder);

Good idea, I probably didn't think about it because I was grown up in a
world where all declarations must before the code. :-)

Changing this in v9.

Luca

-- 
Luca Ceresoli, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

  reply	other threads:[~2025-06-23 14:09 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-06-20 17:26 [PATCH v8 0/5] drm/bridge: get/put the bridge returned by drm_bridge_chain_get_first_bridge() Luca Ceresoli
2025-06-20 17:26 ` [PATCH v8 1/5] drm/bridge: add a cleanup action for scope-based drm_bridge_put() invocation Luca Ceresoli
2025-06-20 17:26 ` [PATCH v8 2/5] drm/bridge: get the bridge returned by drm_bridge_chain_get_first_bridge() Luca Ceresoli
2025-06-23  2:56   ` Liu Ying
2025-06-23 14:09     ` Luca Ceresoli
2025-06-24  2:44       ` Liu Ying
2025-06-24  7:05         ` Maxime Ripard
2025-06-20 17:26 ` [PATCH v8 3/5] drm/mxsfb: put " Luca Ceresoli
2025-06-23  3:06   ` Liu Ying
2025-06-23 14:09     ` Luca Ceresoli [this message]
2025-06-20 17:26 ` [PATCH v8 4/5] drm/atomic-helper: " Luca Ceresoli
2025-06-24  7:11   ` Maxime Ripard
2025-06-20 17:26 ` [PATCH v8 5/5] drm/probe-helper: " Luca Ceresoli

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20250623160909.7d11cfee@booty \
    --to=luca.ceresoli@bootlin.com \
    --cc=Hui.Pu@gehealthcare.com \
    --cc=Laurent.pinchart@ideasonboard.com \
    --cc=airlied@gmail.com \
    --cc=andrzej.hajda@intel.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=festevam@gmail.com \
    --cc=imx@lists.linux.dev \
    --cc=jernej.skrabec@gmail.com \
    --cc=jonas@kwiboo.se \
    --cc=kernel@pengutronix.de \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=maarten.lankhorst@linux.intel.com \
    --cc=marex@denx.de \
    --cc=mripard@kernel.org \
    --cc=neil.armstrong@linaro.org \
    --cc=rfoss@kernel.org \
    --cc=s.hauer@pengutronix.de \
    --cc=shawnguo@kernel.org \
    --cc=simona@ffwll.ch \
    --cc=stefan@agner.ch \
    --cc=thomas.petazzoni@bootlin.com \
    --cc=tzimmermann@suse.de \
    --cc=victor.liu@nxp.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.