[PATCH v3 1/2] drm/tinydrm: Move tinydrm_of_find_backlight into drm_of.c

Noralf Trønnes noralf at tronnes.org
Tue Oct 3 16:02:35 UTC 2017


Den 03.10.2017 16.58, skrev Noralf Trønnes:
>
> Den 02.10.2017 10.13, skrev Jani Nikula:
>> On Mon, 02 Oct 2017, Daniel Vetter <daniel at ffwll.ch> wrote:
>>> Also adding Jani, who looked at the backlight Kconfig mess in the past.
>> I've even sent patches to fix some of the dependency mess, but the
>> problem is social not technical. The problem is that people think
>> "select" is more convenient than "depends" because they can just enable
>> a config that way, while "depends" would require finding and enabling
>> all the dependencies before the menu option even shows up.
>>
>> I don't deny, that's annoying. But it's also abuse of select, see
>> Documentation/kbuild/kconfig-language.txt:
>>
>>    Note:
>>     select should be used with care. select will force
>>     a symbol to a value without visiting the dependencies.
>>     By abusing select you are able to select a symbol FOO even
>>     if FOO depends on BAR that is not set.
>>     In general use select only for non-visible symbols
>>     (no prompts anywhere) and for symbols with no dependencies.
>>     That will limit the usefulness but on the other hand avoid
>>     the illegal configurations all over.
>>
>> The real fix would be making finding and enabling dependencies
>> recursively more convenient, but I don't see that happening anytime
>> soon.
>
> If we don't select BACKLIGHT in drivers, we can end up with CONFIG_DRM=y
> and CONFIG_BACKLIGHT_CLASS_DEVICE=m.
>
> So we can either do:
>
> menuconfig DRM
>     depends on (BACKLIGHT_CLASS_DEVICE || BACKLIGHT_CLASS_DEVICE=n)
>

No, this was the thing that didn't work:

drivers/gpu/drm/Kconfig:7:      symbol DRM depends on BACKLIGHT_CLASS_DEVICE
drivers/video/backlight/Kconfig:158:    symbol BACKLIGHT_CLASS_DEVICE is 
selected by DRM_RADEON
drivers/gpu/drm/Kconfig:164:    symbol DRM_RADEON depends on DRM

> Or we can:
>
> -#ifdef CONFIG_OF
> +#if IS_ENABLED(CONFIG_OF) && IS_REACHABLE(CONFIG_BACKLIGHT_CLASS_DEVICE)
>  struct backlight_device *of_find_backlight_by_node(struct device_node 
> *node);
>  #else
>  static inline struct backlight_device *
>
> Using the second one it won't be obvious to users why backlight 
> doesn't work,
> they have after all enabled backlight (but as module and DRM builtin).
>
> So I suppose the first one is preferred.
> What effect will such a change have on an existing configuration where
> DRM=y and BACKLIGHT_CLASS_DEVICE=m? Will DRM become a module or will it
> be disabled?
>
> Noralf.
>
> _______________________________________________
> dri-devel mailing list
> dri-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel
>



More information about the dri-devel mailing list