Re: [PATCH] drm/panel: rm68200: add backlight dependency

From: Arnd Bergmann
Date: Wed Mar 14 2018 - 04:50:04 EST


On Wed, Mar 14, 2018 at 12:01 AM, Thierry Reding
<thierry.reding@xxxxxxxxx> wrote:
> On Tue, Mar 13, 2018 at 09:59:54PM +0100, Arnd Bergmann wrote:
>> Like many other panel drivers, this one fails to build
>> when backlight support is disabled:
>>
>> drivers/gpu/drm/panel/panel-raydium-rm68200.o: In function `rm68200_probe':
>> panel-raydium-rm68200.c:(.text+0x14a): undefined reference to `devm_of_find_backlight'
>>
>> This adds the appropriate dependency.
>>
>> Fixes: 2b7ed18bed1a ("drm/panel: Add support for Raydium RM68200 panel driver")
>> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
>> ---
>> drivers/gpu/drm/panel/Kconfig | 1 +
>> 1 file changed, 1 insertion(+)
>
> This shouldn't be necessary. include/linux/backlight.h defines a stub if
> the backlight class is not enabled.
>
> What tree are you seeing this on?

This is on linux-next.

It must be with BACKLIGHT_CLASS_DEVICE=m and
DRM_PANEL_RAYDIUM_RM68200=y, meaning that it should
be sufficient to do

depends on BACKLIGHT_CLASS_DEVICE || BACKLIGHT_CLASS_DEVICE=n

to force DRM_PANEL_RAYDIUM_RM68200 to be a loadable module
whenever BACKLIGHT_CLASS_DEVICE=m. For the patch, I looked at
what the other drivers in the same directory do and followed their
example.

I see three options here:

1. update my patch changelog with the explanation I wrote here but leave it
untouched
2. use the more elaborate dependency (after testing) but not change the
others
3. change all panel drivers with a backlight dependency the same way,
possibly with a helper symbol like

config BACKLIGHT_CLASS_DEVICE_OPTIONAL
tristate
default m if BACKLIGHT_CLASS_DEVICE=m
default y

Arnd