From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-alma10-1.taild15c8.ts.net [100.103.45.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1CC5B3A9628 for ; Mon, 17 Aug 2026 08:31:57 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=100.103.45.18 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786955519; cv=none; b=mqTugyWq0hHXtIX2vP/aMtj9B3M795E51/jsLRUnRycjWZ4I/bKss98EZx1xHRP4vQwj4QVU95Y+VWHKxZySN6a2Vi1/uLoEMUi/QzjTDcwNI9ITLzQ5HPy90wdrwCtAFfb5z9CirVegx4CCo/RaX9DAz9uW4w+HrMvDPDuPRu8= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786955519; c=relaxed/simple; bh=92o1eh1OLuTa6MoaHOIV//G7wnt4MYX8mTAtFhVlZvQ=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=BJgz5ri15p/Rc0K/Jwhac3PmaOVP/aXKB3a2JEuipbDc9FqHo+1mos6jRio1TAtmQux8OvWy7Vs+PCqyB0ja5dVS3oUSKUr8vXbJblrxcgjQpHtuIm+zpetSqEFdY5FArht5qZ+/8mrH3YKE6+GzW3p89lB9M55crKQnAWCdQhk= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=oGduTKlK; arc=none smtp.client-ip=100.103.45.18 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="oGduTKlK" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3DB091F000E9; Mon, 17 Aug 2026 08:31:57 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1786955517; bh=DjvN9I+WiqrDRVWKGAcxEQxe3u5A5q92qU/dyJKtweY=; h=Date:From:To:Cc:Subject:References:In-Reply-To; b=oGduTKlKZtNGH0fL0vjCr4oOuG53BSVJXccrMN+T9IjX8zTXh60uHYABRw8jn3LEq OjqXOJ+bjk8DSSlQZrWH28ekGsEkSqNGt+rD1xb0vS9KUeEt5JWY60ZPo6bqqRg4gW +kHDsn/TEeZyoHfKFLJ68B6ynlR9lMOmbNVJPVUTxJp5eEh+8DRwsS7hNFrYOeofjL y0wEucSJDRJBApcOiBuYzoIlnd670V/WMUtIAgrqr0+AaOVS1uAnVdCJKVDoMuWnzu wu1mM3ykqM8uVDObX/HFUasdNLs/6nv7LPPVqfuCk/p4pqjNZxmpeKZGUjxUSrb7hk DZUl5smbyI/ow== Date: Mon, 17 Aug 2026 10:31:55 +0200 From: Maxime Ripard To: Luca Ceresoli Cc: Maarten Lankhorst , Thomas Zimmermann , David Airlie , Simona Vetter , Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Jessica Zhang , Linus Walleij , Inki Dae , Jagan Teki , Marek Szyprowski , Dmitry Baryshkov , Hui Pu , Ian Ray , Thomas Petazzoni , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH 04/11] drm/panel: merge the drm_kms_helper module into the drm module Message-ID: <20260817-lumpy-wooden-bird-4bdfb4@houat> References: <20260814-drm-bridge-every-panel-v1-0-19cd5277cc8d@bootlin.com> <20260814-drm-bridge-every-panel-v1-4-19cd5277cc8d@bootlin.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha384; protocol="application/pgp-signature"; boundary="f22edln4f6seruam" Content-Disposition: inline In-Reply-To: <20260814-drm-bridge-every-panel-v1-4-19cd5277cc8d@bootlin.com> --f22edln4f6seruam Content-Type: text/plain; protected-headers=v1; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Subject: Re: [PATCH 04/11] drm/panel: merge the drm_kms_helper module into the drm module MIME-Version: 1.0 On Fri, Aug 14, 2026 at 04:05:52PM +0200, Luca Ceresoli wrote: > Work is in progress to make every drm_panel automatically create a > panel_bridge [0][1]. >=20 > This requires the panel code to call the drm_panel_bridge APIs. However > this would create a circular dependency loop on modular builds: >=20 > __devm_drm_panel_alloc() [drm] > -> drm_panel_bridge_add() [drm_kms_helper] > -> drm_bridge.c APIs [drm] >=20 > Moving just the panel_brige.o file from [drm_kms_helper] to [drm] does not > work because the panel bridge code uses the drm_atomic_helper and > drm_probe_helper which add further dependencies on symbols in the > [drm_kms_helper] module. >=20 > So take a simple approach, and move the entire drm_kms_helper into the > [drm] module. >=20 > Link: https://lore.kernel.org/all/emuj2innmp6zmzd7pyakqzjqpdzhly6qfhakya3= ydwmd63pl26@5jwxaidpikjw/ [0] > Link: https://lore.kernel.org/lkml/20250206-hotplug-drm-bridge-v6-8-9d6f2= c9c3058@bootlin.com/ [1] > Signed-off-by: Luca Ceresoli So, that's not an option. However, why do we need drm_panel_bridge_add() after this work is done? If we want to create a bridge for every panel, then the bridge implementation can live in drm_panel.c, which is part of the drm module. And we'd essentially move drm_panel_bridge into drm_panel.c, and make it private. Maxime --f22edln4f6seruam Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iJUEABMJAB0WIQTkHFbLp4ejekA/qfgnX84Zoj2+dgUCaoLG+wAKCRAnX84Zoj2+ dutBAX0T7wF4IXEZg8CkFyzW4tBIz9tMu/FMHfXQc7tpKZYnKkZV7lXA//AIl7vk 0odgEEABgOFBtDMl9SoXyhqJFzh7YNbWgX2xm5TZ7YU3k3ncEWyI3o0hAye6MYH9 bsliHhEkbw== =4hMm -----END PGP SIGNATURE----- --f22edln4f6seruam--