From: "Luck, Tony" tony.luck@intel.com
mainline inclusion from mainline-v5.0-rc1 commit 24c9d423e86b17b25b4b510e81f10aa232fdaa60 category: bugfix bugzilla: https://bugzilla.openeuler.org/show_bug.cgi?id=44 CVE: NA
-----------------------------------------------
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 Signed-off-by: Zheng Zengkai zhengzengkai@huawei.com Reviewed-by: Xiongfeng Wang wangxiongfeng2@huawei.com Signed-off-by: Yang Yingliang yangyingliang@huawei.com --- drivers/edac/Kconfig | 4 ++-- include/linux/adxl.h | 5 ----- 2 files changed, 2 insertions(+), 7 deletions(-)
diff --git a/drivers/edac/Kconfig b/drivers/edac/Kconfig index 37adb68e94f8f..c927c8a68dd95 100644 --- a/drivers/edac/Kconfig +++ b/drivers/edac/Kconfig @@ -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 diff --git a/include/linux/adxl.h b/include/linux/adxl.h index 2d29f55923e3a..2a629acb4c3f4 100644 --- a/include/linux/adxl.h +++ b/include/linux/adxl.h @@ -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 */