[PATCH 2/6] nvme: assign of_node to nvme device
Christian Marangi
ansuelsmth at gmail.com
Sun Aug 4 04:41:02 PDT 2024
Introduce support for a dedicated node for a nvme card. This will be a
subnode of the nvme controller node that will have the "nvme-card"
compatible.
This follow a similar implementation done for mmc where the specific mmc
card have a dedicated of_node.
This can be used for scenario where block2mtd module is used to declare
partition in DT and block2mtd is called on the root block of the nvme
card, permitting the usage of fixed-partition parser or alternative
ones.
Signed-off-by: Christian Marangi <ansuelsmth at gmail.com>
---
drivers/nvme/host/core.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/nvme/host/core.c b/drivers/nvme/host/core.c
index 053d5b4909cd..b9553bb8fade 100644
--- a/drivers/nvme/host/core.c
+++ b/drivers/nvme/host/core.c
@@ -4651,6 +4651,7 @@ void nvme_uninit_ctrl(struct nvme_ctrl *ctrl)
nvme_hwmon_exit(ctrl);
nvme_fault_inject_fini(&ctrl->fault_inject);
dev_pm_qos_hide_latency_tolerance(ctrl->device);
+ of_node_put(ctrl->device->of_node);
cdev_device_del(&ctrl->cdev, ctrl->device);
nvme_put_ctrl(ctrl);
}
@@ -4771,6 +4772,8 @@ int nvme_init_ctrl(struct nvme_ctrl *ctrl, struct device *dev,
else
ctrl->device->groups = nvme_dev_attr_groups;
ctrl->device->release = nvme_free_ctrl;
+ ctrl->device->of_node = of_get_compatible_child(ctrl->dev->of_node,
+ "nvme-card");
dev_set_drvdata(ctrl->device, ctrl);
return ret;
--
2.45.2
More information about the Linux-nvme
mailing list