[PATCH v2 1/3] fbdev: Fix recursive dependencies wrt BACKLIGHT_CLASS_DEVICE
Christophe Leroy
christophe.leroy at csgroup.eu
Fri Dec 13 19:41:30 AEDT 2024
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 at 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 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
More information about the Linuxppc-dev
mailing list