Le 13/12/2024 à 09:35, Thomas Zimmermann a écrit :
Hi
Am 13.12.24 um 09:33 schrieb Christophe Leroy:
Le 13/12/2024 à 09:05, Thomas Zimmermann a écrit :
Hi
Am 13.12.24 um 08:44 schrieb Christophe Leroy:
Le 12/12/2024 à 11:04, Thomas Zimmermann a écrit :
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@xxxxxxx>
---
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 2
The 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