dax/hmem: Move hmem device registration to dax_hmem.ko
In preparation for the CXL region driver to take over the responsibility of registering device-dax instances for CXL regions, move the registration of "hmem" devices to dax_hmem.ko. Previously the builtin component of this enabling (drivers/dax/hmem/device.o) would register platform devices for each address range and trigger the dax_hmem.ko module to load and attach device-dax instances to those devices. Now, the ranges are collected from the HMAT and EFI memory map walking, but the device creation is deferred. A new "hmem_platform" device is created which triggers dax_hmem.ko to load and register the platform devices. Tested-by: Fan Ni <fan.ni@samsung.com> Reviewed-by: Dave Jiang <dave.jiang@intel.com> Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> Link: https://lore.kernel.org/r/167602002771.1924368.5653558226424530127.stgit@dwillia2-xfh.jf.intel.com Signed-off-by: Dan Williams <dan.j.williams@intel.com>
This commit is contained in:
+5
-2
@@ -262,11 +262,14 @@ static inline bool dax_mapping(struct address_space *mapping)
|
||||
}
|
||||
|
||||
#ifdef CONFIG_DEV_DAX_HMEM_DEVICES
|
||||
void hmem_register_device(int target_nid, struct resource *r);
|
||||
void hmem_register_resource(int target_nid, struct resource *r);
|
||||
#else
|
||||
static inline void hmem_register_device(int target_nid, struct resource *r)
|
||||
static inline void hmem_register_resource(int target_nid, struct resource *r)
|
||||
{
|
||||
}
|
||||
#endif
|
||||
|
||||
typedef int (*walk_hmem_fn)(struct device *dev, int target_nid,
|
||||
const struct resource *res);
|
||||
int walk_hmem_resources(struct device *dev, walk_hmem_fn fn);
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user