mirror of
https://github.com/torvalds/linux.git
synced 2026-05-27 00:22:00 +02:00
cxl/mem: Clarify @host for devm_cxl_add_nvdimm()
The convention for devm_ helpers in the CXL driver is that the first argument is the @host for the operation (locked driver::probe() context). Reviewed-by: Terry Bowman <terry.bowman@amd.com> Reviewed-by: Dave Jiang <dave.jiang@intel.com> Reviewed-by: Jonathan Cameron <jonathan.cameron@huawei.com> Link: https://patch.msgid.link/20260114182055.46029-17-terry.bowman@amd.com Signed-off-by: Dan Williams <dan.j.williams@intel.com> Signed-off-by: Dave Jiang <dave.jiang@intel.com>
This commit is contained in:
parent
fda78d8481
commit
f953b7d5e1
|
|
@ -237,12 +237,13 @@ static void cxlmd_release_nvdimm(void *_cxlmd)
|
|||
|
||||
/**
|
||||
* devm_cxl_add_nvdimm() - add a bridge between a cxl_memdev and an nvdimm
|
||||
* @parent_port: parent port for the (to be added) @cxlmd endpoint port
|
||||
* @cxlmd: cxl_memdev instance that will perform LIBNVDIMM operations
|
||||
* @host: host device for devm operations
|
||||
* @port: any port in the CXL topology to find the nvdimm-bridge device
|
||||
* @cxlmd: parent of the to be created cxl_nvdimm device
|
||||
*
|
||||
* Return: 0 on success negative error code on failure.
|
||||
*/
|
||||
int devm_cxl_add_nvdimm(struct cxl_port *parent_port,
|
||||
int devm_cxl_add_nvdimm(struct device *host, struct cxl_port *port,
|
||||
struct cxl_memdev *cxlmd)
|
||||
{
|
||||
struct cxl_nvdimm_bridge *cxl_nvb;
|
||||
|
|
@ -250,7 +251,7 @@ int devm_cxl_add_nvdimm(struct cxl_port *parent_port,
|
|||
struct device *dev;
|
||||
int rc;
|
||||
|
||||
cxl_nvb = cxl_find_nvdimm_bridge(parent_port);
|
||||
cxl_nvb = cxl_find_nvdimm_bridge(port);
|
||||
if (!cxl_nvb)
|
||||
return -ENODEV;
|
||||
|
||||
|
|
@ -270,10 +271,10 @@ int devm_cxl_add_nvdimm(struct cxl_port *parent_port,
|
|||
if (rc)
|
||||
goto err;
|
||||
|
||||
dev_dbg(&cxlmd->dev, "register %s\n", dev_name(dev));
|
||||
dev_dbg(host, "register %s\n", dev_name(dev));
|
||||
|
||||
/* @cxlmd carries a reference on @cxl_nvb until cxlmd_release_nvdimm */
|
||||
return devm_add_action_or_reset(&cxlmd->dev, cxlmd_release_nvdimm, cxlmd);
|
||||
return devm_add_action_or_reset(host, cxlmd_release_nvdimm, cxlmd);
|
||||
|
||||
err:
|
||||
put_device(dev);
|
||||
|
|
|
|||
|
|
@ -887,7 +887,8 @@ struct cxl_nvdimm_bridge *devm_cxl_add_nvdimm_bridge(struct device *host,
|
|||
struct cxl_port *port);
|
||||
struct cxl_nvdimm *to_cxl_nvdimm(struct device *dev);
|
||||
bool is_cxl_nvdimm(struct device *dev);
|
||||
int devm_cxl_add_nvdimm(struct cxl_port *parent_port, struct cxl_memdev *cxlmd);
|
||||
int devm_cxl_add_nvdimm(struct device *host, struct cxl_port *port,
|
||||
struct cxl_memdev *cxlmd);
|
||||
struct cxl_nvdimm_bridge *cxl_find_nvdimm_bridge(struct cxl_port *port);
|
||||
|
||||
#ifdef CONFIG_CXL_REGION
|
||||
|
|
|
|||
|
|
@ -153,7 +153,7 @@ static int cxl_mem_probe(struct device *dev)
|
|||
}
|
||||
|
||||
if (cxl_pmem_size(cxlds) && IS_ENABLED(CONFIG_CXL_PMEM)) {
|
||||
rc = devm_cxl_add_nvdimm(parent_port, cxlmd);
|
||||
rc = devm_cxl_add_nvdimm(dev, parent_port, cxlmd);
|
||||
if (rc) {
|
||||
if (rc == -ENODEV)
|
||||
dev_info(dev, "PMEM disabled by platform\n");
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user