On Wed, 27 Oct 2021, Arnd Bergmann <arnd@xxxxxxxxxx> wrote: > On Wed, Oct 27, 2021 at 2:38 PM Javier Martinez Canillas > <javierm@xxxxxxxxxx> wrote: >> > >> > This is something we can't easily express in Kconfig, as we can't add the >> > dependency to a symbol that only gets selected by other drivers, which >> > is why the dependency has to be in the user-visible symbol, >> > in this case DRM_FBDEV_EMULATION. >> > >> >> Why the dependency has to be in a user-visible symbol? What could be the >> problem with having something like: >> >> diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig >> index cea777ae7fb9..f80b404946ca 100644 >> --- a/drivers/gpu/drm/Kconfig >> +++ b/drivers/gpu/drm/Kconfig >> @@ -82,6 +82,7 @@ config DRM_DEBUG_SELFTEST >> config DRM_KMS_HELPER >> tristate >> depends on DRM >> + depends on (DRM_FBDEV_EMULATION && FB) || !DRM_FBDEV_EMULATION >> help >> CRTC helpers for KMS drivers. >> >> @@ -104,7 +105,6 @@ config DRM_FBDEV_EMULATION >> bool "Enable legacy fbdev support for your modesetting driver" >> depends on DRM >> depends on FB >> - select DRM_KMS_HELPER >> select FB_CFB_FILLRECT >> select FB_CFB_COPYAREA >> select FB_CFB_IMAGEBLIT > > This fails because of all the other drivers that try to 'select DRM_KMS_HELPER'. > Kconfig will now complain about a symbol that gets selected while its > dependencies > are not met. > > To work around that, every single driver that has 'selects DRM_KMS_HELPER' would > now have to also list 'depends on (DRM_FBDEV_EMULATION && FB) || > !DRM_FBDEV_EMULATION'. So the fix would be that nobody selects DRM_KMS_HELPER... BR, Jani. > > Arnd -- Jani Nikula, Intel Open Source Graphics Center