2022-06-01 18:58:06

by Muni Sekhar

[permalink] [raw]
Subject: Kconfig rules (depends, imply)

Hi all,

menuconfig SOUNDWIRE
tristate "SoundWire support"
depends on ACPI || OF

"depends on ACPI || OF" mean, SOUNDWIRE depends on both ACPI and OF modules?




config SOUNDWIRE_QCOM
tristate "Qualcomm SoundWire Master driver"
imply SLIMBUS

What does "imply SLIMBUS" mean?

--
Thanks,
Sekhar


2022-06-01 21:30:05

by Randy Dunlap

[permalink] [raw]
Subject: Re: Kconfig rules (depends, imply)

Hi--

On 5/31/22 05:14, Muni Sekhar wrote:
> Hi all,
>
> menuconfig SOUNDWIRE
> tristate "SoundWire support"
> depends on ACPI || OF
>
> "depends on ACPI || OF" mean, SOUNDWIRE depends on both ACPI and OF modules?
>

"||" is logical OR, so SOUNDWIRE depends on either ACPI or OF (or both
of them can be enabled).


>
> config SOUNDWIRE_QCOM
> tristate "Qualcomm SoundWire Master driver"
> imply SLIMBUS
>
> What does "imply SLIMBUS" mean?

See Documentation/kbuild/kconfig-language.rst:

- weak reverse dependencies: "imply" <symbol> ["if" <expr>]

This is similar to "select" as it enforces a lower limit on another
symbol except that the "implied" symbol's value may still be set to n
from a direct dependency or with a visible prompt.

So (in your example) SLIMBUS is desired but not required.
That means that the code that is built for SOUNDWIRE_QCOM
probably needs to use IS_REACHABLE(CONFIG_SLIMBUS) to
see if that SLIMBUS code is available at build time.

HTH.
--
~Randy