public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] drm/panel: add CONFIG_DRM_KMS_HELPER dependencies
@ 2022-03-16 18:36 Arnd Bergmann
  2022-03-16 18:36 ` [PATCH] drm/tegra: vic: fix unused-function warnings Arnd Bergmann
  2022-03-16 19:12 ` [PATCH] drm/panel: add CONFIG_DRM_KMS_HELPER dependencies Thomas Zimmermann
  0 siblings, 2 replies; 9+ messages in thread
From: Arnd Bergmann @ 2022-03-16 18:36 UTC (permalink / raw)
  To: Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, David Airlie,
	Daniel Vetter, Thierry Reding
  Cc: Arnd Bergmann, Sam Ravnborg, Alex Deucher, Kees Cook,
	Lukas Bulwahn, Jani Nikula, Deepak Rawat,
	Javier Martinez Canillas, Linus Walleij, Douglas Anderson,
	Noralf Trønnes, AngeloGioacchino Del Regno, Dmitry Baryshkov,
	Dillon Min, dri-devel, linux-kernel

From: Arnd Bergmann <arnd@arndb.de>

The driver fails to build when the KMS helpers are disabled:

ld.lld: error: undefined symbol: drm_gem_fb_get_obj
>>> referenced by drm_mipi_dbi.c
>>>               gpu/drm/drm_mipi_dbi.o:(mipi_dbi_buf_copy) in archive drivers/built-in.a
>>> referenced by drm_mipi_dbi.c
>>>               gpu/drm/drm_mipi_dbi.o:(mipi_dbi_fb_dirty) in archive drivers/built-in.a

ld.lld: error: undefined symbol: drm_gem_fb_begin_cpu_access
>>> referenced by drm_mipi_dbi.c
>>>               gpu/drm/drm_mipi_dbi.o:(mipi_dbi_buf_copy) in archive drivers/built-in.a

ld.lld: error: undefined symbol: drm_fb_swab
>>> referenced by drm_mipi_dbi.c
>>>               gpu/drm/drm_mipi_dbi.o:(mipi_dbi_buf_copy) in archive drivers/built-in.a

ld.lld: error: undefined symbol: drm_fb_xrgb8888_to_rgb565
>>> referenced by drm_mipi_dbi.c
>>>               gpu/drm/drm_mipi_dbi.o:(mipi_dbi_buf_copy) in archive drivers/built-in.a

ld.lld: error: undefined symbol: drm_fb_memcpy
>>> referenced by drm_mipi_dbi.c
>>>               gpu/drm/drm_mipi_dbi.o:(mipi_dbi_buf_copy) in archive drivers/built-in.a

This is fairly hard to hit in randconfig drivers, but it eventually
did trigger for me in a configuration where all other DRM drivers
are loadable modules, but DRM_PANEL_WIDECHIPS_WS2401 was built-in.

Adding a dependency in all drivers that select DRM_MIPI_DBI avoids
the problem for now, adding the dependency in DRM_MIPI_DBI as well
should help make it easier to figure out why it breaks if someone
forgets the dependency the next time.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 drivers/gpu/drm/Kconfig       | 2 +-
 drivers/gpu/drm/panel/Kconfig | 4 ++++
 2 files changed, 5 insertions(+), 1 deletion(-)

I see this warning on 5.17-rc8, but did not test it on linux-next,
which may already have a fix.


diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig
index b1f22e457fd0..d5ec0b77c010 100644
--- a/drivers/gpu/drm/Kconfig
+++ b/drivers/gpu/drm/Kconfig
@@ -30,7 +30,7 @@ menuconfig DRM
 
 config DRM_MIPI_DBI
 	tristate
-	depends on DRM
+	depends on DRM_KMS_HELPER
 
 config DRM_MIPI_DSI
 	bool
diff --git a/drivers/gpu/drm/panel/Kconfig b/drivers/gpu/drm/panel/Kconfig
index 0aec5a10b064..96887d0efb9f 100644
--- a/drivers/gpu/drm/panel/Kconfig
+++ b/drivers/gpu/drm/panel/Kconfig
@@ -425,6 +425,7 @@ config DRM_PANEL_SAMSUNG_DB7430
 	tristate "Samsung DB7430-based DPI panels"
 	depends on OF && SPI && GPIOLIB
 	depends on BACKLIGHT_CLASS_DEVICE
+	depends on DRM_KMS_HELPER
 	select DRM_MIPI_DBI
 	help
 	  Say Y here if you want to enable support for the Samsung
@@ -440,6 +441,7 @@ config DRM_PANEL_SAMSUNG_S6D16D0
 config DRM_PANEL_SAMSUNG_S6D27A1
 	tristate "Samsung S6D27A1 DPI panel driver"
 	depends on OF && SPI && GPIOLIB
+	depends on DRM_KMS_HELPER
 	select DRM_MIPI_DBI
 	help
 	  Say Y here if you want to enable support for the Samsung
@@ -476,6 +478,7 @@ config DRM_PANEL_SAMSUNG_S6E63M0_SPI
 	depends on SPI
 	depends on DRM_PANEL_SAMSUNG_S6E63M0
 	default DRM_PANEL_SAMSUNG_S6E63M0
+	depends on DRM_KMS_HELPER
 	select DRM_MIPI_DBI
 	help
 	  Say Y here if you want to be able to access the Samsung
@@ -677,6 +680,7 @@ config DRM_PANEL_WIDECHIPS_WS2401
 	tristate "Widechips WS2401 DPI panel driver"
 	depends on SPI && GPIOLIB
 	depends on BACKLIGHT_CLASS_DEVICE
+	depends on DRM_KMS_HELPER
 	select DRM_MIPI_DBI
 	help
 	  Say Y here if you want to enable support for the Widechips WS2401 DPI
-- 
2.29.2


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

end of thread, other threads:[~2022-04-06 17:41 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-03-16 18:36 [PATCH] drm/panel: add CONFIG_DRM_KMS_HELPER dependencies Arnd Bergmann
2022-03-16 18:36 ` [PATCH] drm/tegra: vic: fix unused-function warnings Arnd Bergmann
2022-04-06 13:21   ` Thierry Reding
2022-04-06 15:51     ` Arnd Bergmann
2022-03-16 19:12 ` [PATCH] drm/panel: add CONFIG_DRM_KMS_HELPER dependencies Thomas Zimmermann
2022-03-16 19:31   ` Thomas Zimmermann
2022-03-16 20:59     ` Arnd Bergmann
2022-03-17 19:15       ` Thomas Zimmermann
2022-03-17 20:54         ` Arnd Bergmann

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox