Re: [PATCH v2 1/3] fbdev: Fix recursive dependencies wrt BACKLIGHT_CLASS_DEVICE
From: Christophe Leroy <hidden>
Date: 2024-12-13 08:41:34
Also in:
dri-devel, linux-fbdev, linux-staging
Le 13/12/2024 à 09:35, Thomas Zimmermann a écrit :
Hi Am 13.12.24 um 09:33 schrieb Christophe Leroy:quoted
Le 13/12/2024 à 09:05, Thomas Zimmermann a écrit :quoted
Hi Am 13.12.24 um 08:44 schrieb Christophe Leroy:quoted
Le 12/12/2024 à 11:04, Thomas Zimmermann a écrit :quoted
Do not select BACKLIGHT_CLASS_DEVICE from FB_BACKLIGHT. The latter only controls backlight support within fbdev core code and data structures. Make fbdev drivers depend on BACKLIGHT_CLASS_DEVICE and let users select it explicitly. Fixes warnings about recursive dependencies, such as error: recursive dependency detected! symbol BACKLIGHT_CLASS_DEVICE is selected by FB_BACKLIGHT symbol FB_BACKLIGHT is selected by FB_SH_MOBILE_LCDC symbol FB_SH_MOBILE_LCDC depends on FB_DEVICE symbol FB_DEVICE depends on FB_CORE symbol FB_CORE is selected by DRM_GEM_DMA_HELPER symbol DRM_GEM_DMA_HELPER is selected by DRM_PANEL_ILITEK_ILI9341 symbol DRM_PANEL_ILITEK_ILI9341 depends on BACKLIGHT_CLASS_DEVICE BACKLIGHT_CLASS_DEVICE is user-selectable, so making drivers adapt to it is the correct approach in any case. For most drivers, backlight support is also configurable separately. v2: - s/BACKLIGHT_DEVICE_CLASS/BACKLIGHT_CLASS_DEVICE (Helge) - Fix fbdev driver-dependency corner case (Arnd) Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> --- drivers/auxdisplay/Kconfig | 2 +- drivers/macintosh/Kconfig | 1 + drivers/staging/fbtft/Kconfig | 1 + drivers/video/fbdev/Kconfig | 18 +++++++++++++----- drivers/video/fbdev/core/Kconfig | 3 +-- 5 files changed, 17 insertions(+), 8 deletions(-)Build fails which pmac32_defconfig : LD .tmp_vmlinux1 powerpc64-linux-ld: drivers/macintosh/via-pmu-backlight.o: in function `pmu_backlight_init': via-pmu-backlight.c:(.init.text+0xc0): undefined reference to `backlight_device_register' make[2]: *** [scripts/Makefile.vmlinux:77: vmlinux] Error 1 make[1]: *** [/home/chleroy/linux-powerpc/Makefile:1225: vmlinux] Error 2The attached patch selects backlight support in the defconfigs that also have PMAC_BACKLIGHT=y. Can you please apply it on top of the patchset and report on the results?That works for the defconfig but it is still possible to change CONFIG_BACKLIGHT_CLASS_DEVICE manually. If it is necessary for PMAC_BACKLIGHT then it shouldn't be possible to deselect it.If you disable CONFIG_BACKLIGHT_CLASS_DEVICE, shouldn't that auto- disable PMAC_BACKLIGHT as well?
For the time being it doesn't, hence the build failure. You can do it that way if you want, you need to add a dependency for that. Other solution is that PMAC_BACKLIGHT selects CONFIG_BACKLIGHT_CLASS_DEVICE. Christophe