Re: [PATCH] kunit: cs_dsp: Depend on FW_CS_DSP rather then enabling it

From: Nico Pache
Date: Thu Mar 20 2025 - 18:21:55 EST


On Thu, Mar 20, 2025 at 1:14 PM Mark Brown <broonie@xxxxxxxxxx> wrote:
>
> On Wed, Mar 19, 2025 at 05:05:39PM -0600, Nico Pache wrote:
> > FW_CS_DSP gets enabled if KUNIT is enabled. The test should rather
> > depend on if the feature is enabled. Fix this by moving FW_CS_DSP to the
> > depends on clause, and set CONFIG_FW_CS_DSP=y in the kunit tooling.
>
> > config FW_CS_DSP_KUNIT_TEST
> > tristate "KUnit tests for Cirrus Logic cs_dsp" if !KUNIT_ALL_TESTS
> > - depends on KUNIT && REGMAP
> > + depends on KUNIT && REGMAP && FW_CS_DSP
> > default KUNIT_ALL_TESTS
> > - select FW_CS_DSP
>
> This makes no sense to me, the select statement is forcing on the code
> it's testing which is a library and so is selected by it's users, this
Similarly to eb5c79828cfa ("firmware: cs_dsp: FW_CS_DSP_KUNIT_TEST
should not select REGMAP"), We shouldnt force a feature on when using
KUNIT_ALL_TESTS.

> change will just stop the tests being run unless someone does the dance
> to enable a driver which relies on the library. That is something that
My config also sets the UML wrapper to enable this FW_CS_DSP config so
it will continue to work in that environment.
> seems unlikely to change the outcome of the tests when run from KUnit
> which is independent of any hardware.
KUNIT is supported outside the UML environment, and some distros (like
fedora, and downstream flavors), use KUNIT as modules, with
KUNIT_ALL_TESTS=m. We only want the tests that are supported by our
config to be available, we dont want KUNIT going and enabling other
features so the test works.

Cheers,
-- Nico