On Wed, Apr 15, 2020 at 4:13 PM Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> wrote: > On Wed, Apr 15, 2020 at 3:47 PM Arnd Bergmann <arnd@xxxxxxxx> wrote: > > On Tue, Apr 14, 2020 at 10:52 PM Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> wrote: > > > Doesn't "imply" mean it gets selected by default but can be manually > > > disabled ? > > > > That may be what it means now (I still don't understand how it's defined > > as of v5.7-rc1), but traditionally it was more like a 'select if all > > dependencies are met'. > > That's still what it is supposed to mean right now ;-) > Except that now it should correctly handle the modular case, too. Then there is a bug. If I run 'make menuconfig' now on a mainline kernel and enable CONFIG_DRM_RCAR_DU, I can set DRM_RCAR_CMM and DRM_RCAR_LVDS to 'y', 'n' or 'm' regardless of whether CONFIG_DRM_RCAR_DU is 'm' or 'y'. The 'implies' statement seems to be ignored entirely, except as reverse 'default' setting. > > > > In that case, a Makefile trick could also work, doing > > > > ifdef CONFIG_DRM_RCAR_CMM > > obj-$(CONFIG_DRM_RCAR_DU) += rcar-cmm.o > > endif > > > > Thereby making the cmm module have the same state (y or m) as > > the du module whenever the option is enabled. > > What about dropping the "imply DRM_RCAR_CMM", but defaulting to > enable CMM if DU is enabled? > > config DRM_RCAR_CMM > tristate "R-Car DU Color Management Module (CMM) Support" > depends on DRM_RCAR_DU && OF > default DRM_RCAR_DU That doesn't work because it allows DRM_RCAR_DU=y with DRM_RCAR_CMM=m, which causes a link failure. Arnd