Re: [PATCH] mmc: sdhci-of-aspeed: test: Fix dependencies when KUNIT=m

From: Andrew Jeffery
Date: Mon Jul 18 2022 - 22:25:40 EST




On Tue, 19 Jul 2022, at 11:11, David Gow wrote:
> On Mon, Jul 18, 2022 at 8:45 AM Andrew Jeffery <andrew@xxxxxxxx> wrote:
>>
>>
>>
>> On Fri, 15 Jul 2022, at 13:33, David Gow wrote:
>> > While the sdhci-of-aspeed KUnit tests do work when builtin, and do work
>> > when KUnit itself is being built as a module, the two together break.
>> >
>> > This is because the KUnit tests (understandably) depend on KUnit, so a
>> > built-in test cannot build if KUnit is a module.
>> >
>> > Fix this by adding a dependency on (MMC_SDHCI_OF_ASPEED=m || KUNIT=y),
>> > which only excludes this one problematic configuration.
>> >
>> > This was reported on a nasty openrisc-randconfig run by the kernel test
>> > robot, though for some reason (compiler optimisations removing the test
>> > code?) I wasn't able to reproduce it locally on x86:
>> > https://lore.kernel.org/linux-mm/202207140122.fzhlf60k-lkp@xxxxxxxxx/T/
>> >
>> > Fixes: 291cd54e5b05 ("mmc: sdhci-of-aspeed: test: Use kunit_test_suite() macro")
>> > Reported-by: kernel test robot <lkp@xxxxxxxxx>
>> > Signed-off-by: David Gow <davidgow@xxxxxxxxxx>
>> > ---
>> > drivers/mmc/host/Kconfig | 1 +
>> > 1 file changed, 1 insertion(+)
>> >
>> > diff --git a/drivers/mmc/host/Kconfig b/drivers/mmc/host/Kconfig
>> > index 10c563999d3d..e63608834411 100644
>> > --- a/drivers/mmc/host/Kconfig
>> > +++ b/drivers/mmc/host/Kconfig
>> > @@ -171,6 +171,7 @@ config MMC_SDHCI_OF_ASPEED
>> > config MMC_SDHCI_OF_ASPEED_TEST
>> > bool "Tests for the ASPEED SDHCI driver" if !KUNIT_ALL_TESTS
>> > depends on MMC_SDHCI_OF_ASPEED && KUNIT
>> > + depends on (MMC_SDHCI_OF_ASPEED=m || KUNIT=y)
>>
>> Should this replace the line above? Isn't it just more constrained?
>>
>
> We need both lines. The first ensures that both KUNIT and
> MMC_SDHCI_OF_ASPEED are available, and the second just targets the
> case where KUNIT=m and MMC_SDHCI_OF_ASPEED=y.
> If we got rid of the first line, we could end up compiling this
> without KUnit at all (if MMC_SDHCI_OF_ASPEED=m).

Ah, yes. Fair enough!

Acked-by: Andrew Jeffery <andrew@xxxxxxxx>