Re: [RFC PATCH] drivers: use 'depends on MFD_SYSCON' instead of 'select MFD_SYSCON'

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Feb 27, 2018 at 1:46 AM, Masahiro Yamada
<yamada.masahiro@xxxxxxxxxxxxx> wrote:
> 2018-02-26 21:43 GMT+09:00 Arnd Bergmann <arnd@xxxxxxxx>:
>> On Mon, Feb 26, 2018 at 12:53 PM, Masahiro Yamada
>> <yamada.masahiro@xxxxxxxxxxxxx> wrote:
>>> 2018-02-26 17:43 GMT+09:00 Arnd Bergmann <arnd@xxxxxxxx>:
>>>> On Sat, Feb 24, 2018 at 3:50 PM, Masahiro Yamada
>>>> <yamada.masahiro@xxxxxxxxxxxxx> wrote:
>>>>> As Documentation/kbuild/kconfig-language.txt notes, 'select' should be
>>>>> used with care - it forces a lower limit of another symbol, ignoring
>>>>> the dependency.
>>>>>
>>>>> MFD_SYSCON depends on HAS_IOMEM, but several drivers with COMPILE_TEST
>>>>> select it.
>>>>>
>>>>> This causes unmet dependencies for architecture without HAS_IOMEM.
>>>>>
>>>>>   $ make ARCH=score randconfig
>>>>>   scripts/kconfig/conf  --randconfig Kconfig
>>>>>   KCONFIG_SEED=0x27C47F43
>>>>>   warning: (HWSPINLOCK_QCOM && AHCI_MTK && STMMAC_PLATFORM && ...)
>>>>>   selects MFD_SYSCON which has unmet direct dependencies (HAS_IOMEM)
>>>>>
>>>>> Use 'depends on' to observe the dependency.
>>>>>
>>>>> This commit was created by the following command:
>>>>>
>>>>>   $ find drivers -name 'Kconfig*' | xargs sed -i -e \
>>>>>     's/select MFD_SYSCON$/depends on MFD_SYSCON/'
>>>>>
>>>>> Then, COMMON_CLK_NXP and S3C2410_WATCHDOG were fixed up manually.
>>>>>
>>>>> Also, make MFD_SYSCON 'default y' because some defconfig files may
>>>>> rely on someone select's MFD_SYSCON.
>>>>>
>>>>> Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx>
>>>>> ---
>>>>>
>>>>> If you have a better idea to fix 'unmet dependencies',
>>>>> please suggest.
>>>>
>>>> Changing 'select MFD_SYSCON' to 'depends on' will definitely break lots
>>>> of defconfig configurations, I'd rather not do that.
>>>
>>>
>>> Could you explain why?
>>>
>>> I set 'default y' for MFD_SYSCON.
>>>
>>> Would it still break defconfig configurations?
>>
>> No, you are right, that would not break defconfigs, it would just mean one
>> useless driver being enabled for many configurations that don't need it.
>
> If we are unhappy about this,
> we can send per-arch patches
> to add CONFIG_MTD_SYSCON=y to defconfigs that need it.
>
> But, we need to decide what the right solution is.

I think for consistency, we should change the existing
'depends on MFD_SYSCON' to 'select MFD_SYSCON'. This
matches what we do with REGMAP_MMIO.

MFD_SYSCON is really a thin wrapper around REGMAP_MMIO,
so I would keep using the same conventions here, even though
we normally prefer to not 'select' any user-visible options.

It might be possible to make MFD_SYSCON a silent symbol
as well, but we'd have to make sure that all users select the symbol
then.

        Arnd
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux