Re: linux-next: build failure after merge of the edac-amd tree

From: Arnd Bergmann
Date: Mon Jun 01 2015 - 10:37:03 EST


On Monday 01 June 2015 11:51:27 Borislav Petkov wrote:
> On Mon, Jun 01, 2015 at 05:07:42PM +1000, Stephen Rothwell wrote:
> > Hi Borislav,
> >
> > After merging the edac-amd tree, today's linux-next build (x86_64
> > allmodconfig) failed like this:
> >
> > drivers/edac/xgene_edac.c: In function 'xgene_edac_pmd_l2c_version1':
> > drivers/edac/xgene_edac.c:792:2: error: implicit declaration of function 'MIDR_VARIANT' [-Werror=implicit-function-declaration]
> > switch (MIDR_VARIANT(read_cpuid_id())) {
> > ^
> > drivers/edac/xgene_edac.c:792:2: error: implicit declaration of function 'read_cpuid_id' [-Werror=implicit-function-declaration]
> > drivers/edac/xgene_edac.c:794:3: error: implicit declaration of function 'MIDR_REVISION' [-Werror=implicit-function-declaration]
> > switch (MIDR_REVISION(read_cpuid_id())) {
> > ^
> > drivers/edac/xgene_edac.c:797:4: error: implicit declaration of function 'read_cpuid' [-Werror=implicit-function-declaration]
> > switch (REVIDR_MINOR_REV(read_cpuid(REVIDR_EL1))) {
> > ^
> > drivers/edac/xgene_edac.c:797:40: error: 'REVIDR_EL1' undeclared (first use in this function)
> > switch (REVIDR_MINOR_REV(read_cpuid(REVIDR_EL1))) {
> > ^
> > drivers/edac/xgene_edac.c:790:37: note: in definition of macro 'REVIDR_MINOR_REV'
> > #define REVIDR_MINOR_REV(revidr) ((revidr) & 0x00000007)
> > ^
> > drivers/edac/xgene_edac.c:797:40: note: each undeclared identifier is reported only once for each function it appears in
> > switch (REVIDR_MINOR_REV(read_cpuid(REVIDR_EL1))) {
> > ^
> > drivers/edac/xgene_edac.c:790:37: note: in definition of macro 'REVIDR_MINOR_REV'
> > #define REVIDR_MINOR_REV(revidr) ((revidr) & 0x00000007)
> > ^
> >
> > Caused by commit ("EDAC: Add APM X-Gene SoC EDAC driver"). You can't
> > use COMPIlE_TEST for drivers that use arch specific APIs ...
>
> Yeah, the COMPIlE_TEST thing was not such a good idea, after all.
>

At least it should have been tested.

Can we instead just kill the CPUID check? It has absolutely no business
in a device driver like this, and the driver should be made to build
fine on all architectures.

Arnd
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/