EDAC, skx: Fix randconfig builds in a better way
authorLuck, Tony <tony.luck@intel.com>
Tue, 6 Nov 2018 18:39:15 +0000 (10:39 -0800)
committerBorislav Petkov <bp@suse.de>
Wed, 7 Nov 2018 21:58:29 +0000 (22:58 +0100)
It was previously noted that Kconfig complained about unmet dependencies
when trying to configure skx_edac together with CONFIG_ACPI=n. First fix
for this checked for ACPI when doing

  select ACPI_ADXL

but this required stub functions for the case where ACPI wasn't
selected. It also allowed building a driver that didn't actually work
for a system that has non-volatile DIMMs.

Arnd Bergmann pointed out that the right fix is to make EDAC_SKX
"depend on ACPI".

Fixes: a324e9396ca3 ("EDAC, skx: Fix randconfig builds")
Signed-off-by: Tony Luck <tony.luck@intel.com>
Signed-off-by: Borislav Petkov <bp@suse.de>
CC: "Rafael J. Wysocki" <rafael.j.wysocki@intel.com>
CC: Arnd Bergmann <arnd@arndb.de>
CC: Mauro Carvalho Chehab <mchehab@kernel.org>
CC: linux-edac <linux-edac@vger.kernel.org>
CC: qiuxu.zhuo@intel.com
Link: http://lkml.kernel.org/r/20181106183914.GA26731@agluck-desk
drivers/edac/Kconfig
include/linux/adxl.h

index ec2727b27556779899c9f2126a06eb2d9798aecd..e286b5b990035f85edd6ca86a11c674e09ed0282 100644 (file)
@@ -231,10 +231,10 @@ config EDAC_SBRIDGE
 
 config EDAC_SKX
        tristate "Intel Skylake server Integrated MC"
-       depends on PCI && X86_64 && X86_MCE_INTEL && PCI_MMCONFIG
+       depends on PCI && X86_64 && X86_MCE_INTEL && PCI_MMCONFIG && ACPI
        depends on ACPI_NFIT || !ACPI_NFIT # if ACPI_NFIT=m, EDAC_SKX can't be y
        select DMI
-       select ACPI_ADXL if ACPI
+       select ACPI_ADXL
        help
          Support for error detection and correction the Intel
          Skylake server Integrated Memory Controllers. If your
index 2d29f55923e3ad2e79c70cd0832a8c8523f96ef8..2a629acb4c3f467221c8db81ded322780f31b99a 100644 (file)
@@ -7,12 +7,7 @@
 #ifndef _LINUX_ADXL_H
 #define _LINUX_ADXL_H
 
-#ifdef CONFIG_ACPI_ADXL
 const char * const *adxl_get_component_names(void);
 int adxl_decode(u64 addr, u64 component_values[]);
-#else
-static inline const char * const *adxl_get_component_names(void)  { return NULL; }
-static inline int adxl_decode(u64 addr, u64 component_values[])   { return  -EOPNOTSUPP; }
-#endif
 
 #endif /* _LINUX_ADXL_H */