dax: cxl: add CXL_REGION dependency
authorArnd Bergmann <arnd@arndb.de>
Tue, 14 Feb 2023 10:30:49 +0000 (11:30 +0100)
committerDan Williams <dan.j.williams@intel.com>
Tue, 14 Feb 2023 16:38:20 +0000 (08:38 -0800)
There is already a dependency on CXL_REGION, which depends on CXL_BUS,
but since CXL_REGION is a 'bool' symbol, it's possible to configure
DAX as built-in even though CXL itself is a loadable module:

x86_64-linux-ld: drivers/dax/cxl.o: in function `cxl_dax_region_probe':
cxl.c:(.text+0xb): undefined reference to `to_cxl_dax_region'
x86_64-linux-ld: drivers/dax/cxl.o: in function `cxl_dax_region_driver_init':
cxl.c:(.init.text+0x10): undefined reference to `__cxl_driver_register'
x86_64-linux-ld: drivers/dax/cxl.o: in function `cxl_dax_region_driver_exit':
cxl.c:(.exit.text+0x9): undefined reference to `cxl_driver_unregister'

Prevent this with another depndency on the tristate symbol.

Fixes: 09d09e04d2fc ("cxl/dax: Create dax devices for CXL RAM regions")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Link: https://lore.kernel.org/r/20230214103054.1082908-1-arnd@kernel.org
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
drivers/dax/Kconfig

index bd06e16..7e1008d 100644 (file)
@@ -47,7 +47,7 @@ config DEV_DAX_HMEM
 
 config DEV_DAX_CXL
        tristate "CXL DAX: direct access to CXL RAM regions"
-       depends on CXL_REGION && DEV_DAX
+       depends on CXL_BUS && CXL_REGION && DEV_DAX
        default CXL_REGION && DEV_DAX
        help
          CXL RAM regions are either mapped by platform-firmware