diff options
author | 2023-07-03 13:29:13 +0200 | |
---|---|---|
committer | 2023-07-14 14:32:22 -0600 | |
commit | 9171dfcda4f26dc6ebfd8d50137c5f294c2060ee (patch) | |
tree | d1d690c92839fdc4ba0e9b09d8a7fdd70c1f18a6 /drivers | |
parent | Linux 6.5-rc1 (diff) | |
download | linux-9171dfcda4f26dc6ebfd8d50137c5f294c2060ee.tar.gz linux-9171dfcda4f26dc6ebfd8d50137c5f294c2060ee.tar.bz2 linux-9171dfcda4f26dc6ebfd8d50137c5f294c2060ee.zip |
cxl: fix CONFIG_FW_LOADER dependency
When FW_LOADER is disabled, cxl fails to link:
arm-linux-gnueabi-ld: drivers/cxl/core/memdev.o: in function `cxl_memdev_setup_fw_upload':
memdev.c:(.text+0x90e): undefined reference to `firmware_upload_register'
memdev.c:(.text+0x93c): undefined reference to `firmware_upload_unregister'
In order to use the firmware_upload_register() function, both FW_LOADER
and FW_UPLOAD have to be enabled, which is a bit confusing. In addition,
the dependency is on the wrong symbol, as the caller is part of the
cxl_core.ko module, not the cxl_mem.ko module.
Fixes: 9521875bbe005 ("cxl: add a firmware update mechanism using the sysfs firmware loader")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Link: https://lore.kernel.org/r/20230703112928.332321-1-arnd@kernel.org
Reviewed-by: Xiao Yang <yangx.jy@fujitsu.com>
Reviewed-by: Dave Jiang <dave.jiang@intel.com>
Signed-off-by: Vishal Verma <vishal.l.verma@intel.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/cxl/Kconfig | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/cxl/Kconfig b/drivers/cxl/Kconfig index fcbf8295fde3..8ea1d340e438 100644 --- a/drivers/cxl/Kconfig +++ b/drivers/cxl/Kconfig @@ -2,6 +2,8 @@ menuconfig CXL_BUS tristate "CXL (Compute Express Link) Devices Support" depends on PCI + select FW_LOADER + select FW_UPLOAD select PCI_DOE help CXL is a bus that is electrically compatible with PCI Express, but @@ -82,7 +84,6 @@ config CXL_PMEM config CXL_MEM tristate "CXL: Memory Expansion" depends on CXL_PCI - select FW_UPLOAD default CXL_BUS help The CXL.mem protocol allows a device to act as a provider of "System |