Re: [alsa-devel] [PATCH -next] ASoC: SOF: imx8: Fix randbuild error

From: Krzysztof Kozlowski
Date: Fri Feb 14 2020 - 02:54:38 EST


On Thu, 13 Feb 2020 at 22:12, Daniel Baluta <daniel.baluta@xxxxxxxxx> wrote:
> >
> > Visible symbols usually should not be selected. The same with symbols
> > with dependencies. The docs have this rule mentioned.
>
> You mean if module X depends on module Y, we shouldn't use select?
> But this exactly what this patch does :).

There are two different cases (hints against using select):
1. select A, if A is a user-visible (possible to select) option,
2. select only A if A depends on B (and B is kind of independent).

These cases are discouraged.

> The problem here is that when X depends on Y, and X=y and Y=m
> when we try to compile X if get an error because we cannot find a symbol from Y.
>
> I think if X depends on Y, and X is forced to "y" then also Y should
> be forced on "y".

If X is bool, then depends should be =y.
If X is tristate, then probably you need something like:
depends (Y!=m || m)

There is also solution like:
config CEPH_FSCACHE
depends on CEPH_FS=m && FSCACHE || CEPH_FS=y && FSCACHE=y
but it works if the upper-level option (CEPH_FS) is a tristate.

Best regards,
Krzysztof