Re: [PATCH] EDAC, {skx|i10nm}_edac: Fix randconfig build error

From: Luck, Tony
Date: Fri Mar 22 2019 - 13:55:08 EST


On Fri, Mar 22, 2019 at 03:00:25PM +0100, Arnd Bergmann wrote:
> Sorry, this was my mistake, my email was garbled. The patch was
> correct though: the idea here is not to change the Kconfig symbols
> but to change the Makefile to do the right thing even when Kconfig
> is set wrong.

Well this does seem like a "clever" way out of the randconfig
problem. New patch applies and when I set .config to have:

CONFIG_EDAC_DEBUG=y
CONFIG_EDAC_SKX=y
CONFIG_EDAC_I10NM=m
CONFIG_EDAC_SKX_COMMON=y

I don't see any build errors.

There are lots of "skx_" symbols in System.map

But I'm not at all sure what happened to the I10NM driver.

I don't see it mentioned in the output from "make".

It didn't get built as a module (no ".ko" file for it).

It doesn't seem to be built in (no ".o" in drivers/edac/built-in.a)

So I added a #error line to the start of i10nm_edac.c and
ran "make" again. Nothing.

So, I don't think this is doing what you think it should
do. Even if it did, it would seem very confusing to a user
that asked for "one module, one built-in" in Kconfig, but
found both built-in.

Boris: I'm voting for Qiuxu's most recent solution (moving
all the EDAC_DEBUG bits out of skx_common.c).

-Tony