Building the Linux kernel with Clang and LLVM
 help / color / mirror / Atom feed
From: Louis Chauvet <louis.chauvet@bootlin.com>
To: Luca Ceresoli <luca.ceresoli@bootlin.com>,
	Miguel Ojeda <ojeda@kernel.org>,
	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>,
	Maarten Lankhorst <maarten.lankhorst@linux.intel.com>,
	Maxime Ripard <mripard@kernel.org>,
	Thomas Zimmermann <tzimmermann@suse.de>,
	David Airlie <airlied@gmail.com>, Simona Vetter <simona@ffwll.ch>,
	Nathan Chancellor <nathan@kernel.org>,
	Nick Desaulniers <nick.desaulniers+lkml@gmail.com>,
	Bill Wendling <morbo@google.com>,
	Justin Stitt <justinstitt@google.com>
Cc: Hui Pu <Hui.Pu@gehealthcare.com>,
	Ian Ray <ian.ray@gehealthcare.com>,
	Thomas Petazzoni <thomas.petazzoni@bootlin.com>,
	linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org,
	llvm@lists.linux.dev
Subject: Re: [PATCH v2] drm/bridge: rename drm_for_each_bridge_in_chain_scoped() to drm_for_each_bridge_in_chain()
Date: Fri, 3 Jul 2026 17:59:31 +0200	[thread overview]
Message-ID: <71806ff3-e8e8-487a-b90c-39b3239866ec@bootlin.com> (raw)
In-Reply-To: <20260630-drm-bridge-alloc-getput-for_each_bridge-2-v2-1-e0a1094cd1eb@bootlin.com>



On 6/30/26 17:34, Luca Ceresoli wrote:
> drm_for_each_bridge_in_chain_scoped() was added in commit e46efc6a7d28
> ("drm/bridge: add drm_for_each_bridge_in_chain_scoped()") to provide a
> safer alternative to drm_for_each_bridge_in_chain().
> 
> Following commits converted all users to the _scoped variant.
> 
> Finally commit 2f08387a444c ("drm/bridge: remove
> drm_for_each_bridge_in_chain()") removed the old
> drm_for_each_bridge_in_chain() macro.
> 
> It's time to rename drm_for_each_bridge_in_chain_scoped() back to the
> original name.
> 
> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>

Reviewed-by: Louis Chauvet <louis.chauvet@bootlin.com>

> ---
> Changes in v2:
> - Rebased on drm-misc-next, fixed conflicts, renamed new occurrences
> - Link to v1: https://lore.kernel.org/r/20251223-drm-bridge-alloc-getput-for_each_bridge-2-v1-1-0362434ae0eb@bootlin.com
> ---
>   .clang-format                                  |  2 +-
>   drivers/gpu/drm/display/drm_bridge_connector.c |  4 ++--
>   drivers/gpu/drm/drm_atomic.c                   |  2 +-
>   drivers/gpu/drm/drm_bridge.c                   |  2 +-
>   drivers/gpu/drm/tests/drm_bridge_test.c        |  2 +-
>   include/drm/drm_bridge.h                       | 11 +++++------
>   6 files changed, 11 insertions(+), 12 deletions(-)
> 
> diff --git a/.clang-format b/.clang-format
> index 6a3de86ab27a..5ef5743b77c9 100644
> --- a/.clang-format
> +++ b/.clang-format
> @@ -167,7 +167,7 @@ ForEachMacros:
>     - 'drm_connector_for_each_possible_encoder'
>     - 'drm_exec_for_each_locked_object'
>     - 'drm_exec_for_each_locked_object_reverse'
> -  - 'drm_for_each_bridge_in_chain_scoped'
> +  - 'drm_for_each_bridge_in_chain'
>     - 'drm_for_each_connector_iter'
>     - 'drm_for_each_crtc'
>     - 'drm_for_each_crtc_reverse'
> diff --git a/drivers/gpu/drm/display/drm_bridge_connector.c b/drivers/gpu/drm/display/drm_bridge_connector.c
> index 92f8a2d7aab4..8b54069fa53a 100644
> --- a/drivers/gpu/drm/display/drm_bridge_connector.c
> +++ b/drivers/gpu/drm/display/drm_bridge_connector.c
> @@ -147,7 +147,7 @@ static void drm_bridge_connector_hpd_notify(struct drm_connector *connector,
>   		to_drm_bridge_connector(connector);
>   
>   	/* Notify all bridges in the pipeline of hotplug events. */
> -	drm_for_each_bridge_in_chain_scoped(bridge_connector->encoder, bridge) {
> +	drm_for_each_bridge_in_chain(bridge_connector->encoder, bridge) {
>   		if (bridge->funcs->hpd_notify)
>   			bridge->funcs->hpd_notify(bridge, connector, status);
>   	}
> @@ -854,7 +854,7 @@ struct drm_connector *drm_bridge_connector_init(struct drm_device *drm,
>   	 * detection are available, we don't support hotplug detection at all.
>   	 */
>   	connector_type = DRM_MODE_CONNECTOR_Unknown;
> -	drm_for_each_bridge_in_chain_scoped(encoder, bridge) {
> +	drm_for_each_bridge_in_chain(encoder, bridge) {
>   		if (!bridge->interlace_allowed)
>   			connector->interlace_allowed = false;
>   		if (!bridge->ycbcr_420_allowed)
> diff --git a/drivers/gpu/drm/drm_atomic.c b/drivers/gpu/drm/drm_atomic.c
> index 735ab7badc2e..e5c8ef06caed 100644
> --- a/drivers/gpu/drm/drm_atomic.c
> +++ b/drivers/gpu/drm/drm_atomic.c
> @@ -1554,7 +1554,7 @@ drm_atomic_add_encoder_bridges(struct drm_atomic_commit *state,
>   		       "Adding all bridges for [encoder:%d:%s] to %p\n",
>   		       encoder->base.id, encoder->name, state);
>   
> -	drm_for_each_bridge_in_chain_scoped(encoder, bridge) {
> +	drm_for_each_bridge_in_chain(encoder, bridge) {
>   		/* Skip bridges that don't implement the atomic state hooks. */
>   		if (!bridge->funcs->atomic_duplicate_state)
>   			continue;
> diff --git a/drivers/gpu/drm/drm_bridge.c b/drivers/gpu/drm/drm_bridge.c
> index 6ead9b75ae3d..dfab82923c85 100644
> --- a/drivers/gpu/drm/drm_bridge.c
> +++ b/drivers/gpu/drm/drm_bridge.c
> @@ -1817,7 +1817,7 @@ static int encoder_bridges_show(struct seq_file *m, void *data)
>   	struct drm_printer p = drm_seq_file_printer(m);
>   	unsigned int idx = 0;
>   
> -	drm_for_each_bridge_in_chain_scoped(encoder, bridge)
> +	drm_for_each_bridge_in_chain(encoder, bridge)
>   		drm_bridge_debugfs_show_bridge(&p, bridge, idx++, false, true);
>   
>   	return 0;
> diff --git a/drivers/gpu/drm/tests/drm_bridge_test.c b/drivers/gpu/drm/tests/drm_bridge_test.c
> index 10a32620e962..430d9bc67a10 100644
> --- a/drivers/gpu/drm/tests/drm_bridge_test.c
> +++ b/drivers/gpu/drm/tests/drm_bridge_test.c
> @@ -1071,7 +1071,7 @@ static void drm_test_bridge_chain_verify_fmt(struct kunit *test,
>   	struct drm_bridge_state *bstate;
>   	unsigned int i = 0;
>   
> -	drm_for_each_bridge_in_chain_scoped(&priv->encoder, bridge) {
> +	drm_for_each_bridge_in_chain(&priv->encoder, bridge) {
>   		KUNIT_ASSERT_LT(test, i, num_expected);
>   
>   		bstate = drm_bridge_get_current_state(bridge);
> diff --git a/include/drm/drm_bridge.h b/include/drm/drm_bridge.h
> index 18f3db367dc1..0fadc39dfc12 100644
> --- a/include/drm/drm_bridge.h
> +++ b/include/drm/drm_bridge.h
> @@ -1474,9 +1474,9 @@ static inline struct drm_bridge *__drm_for_each_bridge_in_chain_next(struct drm_
>   DEFINE_FREE(__drm_for_each_bridge_in_chain_cleanup, struct drm_bridge *,
>   	if (_T) { mutex_unlock(&_T->encoder->bridge_chain_mutex); drm_bridge_put(_T); })
>   
> -/* Internal to drm_for_each_bridge_in_chain_scoped() */
> +/* Internal to drm_for_each_bridge_in_chain() */
>   static inline struct drm_bridge *
> -__drm_for_each_bridge_in_chain_scoped_start(struct drm_encoder *encoder)
> +__drm_for_each_bridge_in_chain_start(struct drm_encoder *encoder)
>   {
>   	mutex_lock(&encoder->bridge_chain_mutex);
>   
> @@ -1489,8 +1489,7 @@ __drm_for_each_bridge_in_chain_scoped_start(struct drm_encoder *encoder)
>   }
>   
>   /**
> - * drm_for_each_bridge_in_chain_scoped - iterate over all bridges attached
> - *                                       to an encoder
> + * drm_for_each_bridge_in_chain - iterate over all bridges attached to an encoder
>    * @encoder: the encoder to iterate bridges on
>    * @bridge: a bridge pointer updated to point to the current bridge at each
>    *	    iteration
> @@ -1500,9 +1499,9 @@ __drm_for_each_bridge_in_chain_scoped_start(struct drm_encoder *encoder)
>    * Automatically gets/puts the bridge reference while iterating and locks
>    * the encoder chain mutex to prevent chain modifications while iterating.
>    */
> -#define drm_for_each_bridge_in_chain_scoped(encoder, bridge)				\
> +#define drm_for_each_bridge_in_chain(encoder, bridge)					\
>   	for (struct drm_bridge *bridge __free(__drm_for_each_bridge_in_chain_cleanup) =	\
> -		__drm_for_each_bridge_in_chain_scoped_start((encoder));			\
> +		__drm_for_each_bridge_in_chain_start((encoder));			\
>   	     bridge;									\
>   	     bridge = __drm_for_each_bridge_in_chain_next(bridge))			\
>   
> 
> ---
> base-commit: 377939b713ca89de92573e3f3662b805fecc95d5
> change-id: 20251223-drm-bridge-alloc-getput-for_each_bridge-2-2318aa93b69e
> 
> Best regards,
> --
> Luca Ceresoli, Bootlin
> Embedded Linux and Kernel engineering
> https://bootlin.com
> 


      reply	other threads:[~2026-07-03 15:59 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-06-30 15:34 [PATCH v2] drm/bridge: rename drm_for_each_bridge_in_chain_scoped() to drm_for_each_bridge_in_chain() Luca Ceresoli
2026-07-03 15:59 ` Louis Chauvet [this message]

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=71806ff3-e8e8-487a-b90c-39b3239866ec@bootlin.com \
    --to=louis.chauvet@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=ian.ray@gehealthcare.com \
    --cc=jernej.skrabec@gmail.com \
    --cc=jonas@kwiboo.se \
    --cc=justinstitt@google.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=llvm@lists.linux.dev \
    --cc=luca.ceresoli@bootlin.com \
    --cc=maarten.lankhorst@linux.intel.com \
    --cc=morbo@google.com \
    --cc=mripard@kernel.org \
    --cc=nathan@kernel.org \
    --cc=neil.armstrong@linaro.org \
    --cc=nick.desaulniers+lkml@gmail.com \
    --cc=ojeda@kernel.org \
    --cc=rfoss@kernel.org \
    --cc=simona@ffwll.ch \
    --cc=thomas.petazzoni@bootlin.com \
    --cc=tzimmermann@suse.de \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox