All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sasha Levin <sashal@kernel.org>
To: Neil Armstrong <neil.armstrong@linaro.org>,
	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>,
	Luca Ceresoli <luca.ceresoli@bootlin.com>
Cc: Sasha Levin <sashal@kernel.org>,
	"kernelci.org bot" <bot@kernelci.org>,
	Jessica Zhang <jesszhan0024@gmail.com>,
	dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org
Subject: [PATCH] drm/panel: select DRM_KMS_HELPER
Date: Tue, 29 Sep 2026 07:48:28 -0400	[thread overview]
Message-ID: <20260929114828.3260345-1-sashal@kernel.org> (raw)

Since the panel_bridge code moved into drm_panel.c, any config with
DRM built in but without the KMS helpers fails to link, for example
arc haps_hs_smp_defconfig with allnoconfig and the kselftest fragment:

  arc-elf32-ld: drivers/gpu/drm/drm_panel.o:(.rodata+0x28): undefined
  reference to `drm_atomic_helper_bridge_duplicate_state'
  arc-elf32-ld: drivers/gpu/drm/drm_panel.o:(.rodata+0x2c): undefined
  reference to `drm_atomic_helper_bridge_destroy_state'
  ...

With DRM=m, modpost fails the same way:

  ERROR: modpost: drivers/gpu/drm/drm_panel.ko: symbol
  'drm_atomic_helper_bridge_duplicate_state' undefined!

The panel_bridge used to live in bridge/panel.c, which was part of
drm_kms_helper and was therefore only built when DRM_KMS_HELPER was
enabled. drm_panel.c is built for DRM_PANEL instead, which
DRM_PANEL_BRIDGE selects whenever DRM_BRIDGE is set, and DRM_BRIDGE
is enabled for every DRM config. Nothing on that path selects
DRM_KMS_HELPER, so the bridge and connector helpers used by the moved
code can be missing.

The panel_bridge code in drm_panel.c is built unconditionally, so
make DRM_PANEL select DRM_KMS_HELPER.

Reported-by: kernelci.org bot <bot@kernelci.org>
Closes: https://d.kernelci.org/i/maestro:9ed7f4b210fa7c1d3bb109b0fcd62285e98c5b81
Fixes: aa8a8c7e4641 ("drm/bridge: panel: move all code to drm_panel.c")
Assisted-by: LLM
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 drivers/gpu/drm/panel/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/gpu/drm/panel/Kconfig b/drivers/gpu/drm/panel/Kconfig
index 0a79a0558101b..53a1fc2913fee 100644
--- a/drivers/gpu/drm/panel/Kconfig
+++ b/drivers/gpu/drm/panel/Kconfig
@@ -2,6 +2,7 @@
 config DRM_PANEL
 	tristate
 	depends on DRM
+	select DRM_KMS_HELPER
 	help
 	  Panel registration and lookup framework.
 
-- 
2.53.0


             reply	other threads:[~2026-09-29 11:48 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-09-29 11:48 Sasha Levin [this message]
2026-09-29 13:55 ` [PATCH] drm/panel: select DRM_KMS_HELPER Luca Ceresoli
2026-10-01  8:05 ` 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=20260929114828.3260345-1-sashal@kernel.org \
    --to=sashal@kernel.org \
    --cc=airlied@gmail.com \
    --cc=bot@kernelci.org \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=jesszhan0024@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=luca.ceresoli@bootlin.com \
    --cc=maarten.lankhorst@linux.intel.com \
    --cc=mripard@kernel.org \
    --cc=neil.armstrong@linaro.org \
    --cc=simona@ffwll.ch \
    --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 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.