firmware: arm_scmi: Assign correct parent to arm-scmi platform device
authorSudeep Holla <sudeep.holla@arm.com>
Mon, 17 Mar 2025 10:31:24 +0000 (10:31 +0000)
committerSudeep Holla <sudeep.holla@arm.com>
Mon, 14 Apr 2025 09:12:02 +0000 (10:12 +0100)
With the decoupling of transport drivers from the SCMI core, the
"arm-scmi" platform device is now created dynamically from the probed
transport driver.

Currently, this "arm-scmi" platform device is added to the root of
the platform bus since no parent is assigned. However, the transport
platform device, created from the "firmware:scmi" node in the device
tree, should be considered its parent.

Ensure that the parent device is correctly set for the "arm-scmi"
platform device, aligning it with the correct transport hierarchy.
This will be more useful on systems with multiple transport and/or
SCMI firmware instances as the hierarchy is maintained correctly.

Message-Id: <20250317-b4-scmi_minor_cleanup-v2-4-f4be99bd9864@arm.com>
Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
drivers/firmware/arm_scmi/common.h

index 10ea7962323e43e03e7c5636c56d707803d4ea55..dab758c5fdea3aa34188ef7d424ba8a43ada46d8 100644 (file)
@@ -475,6 +475,7 @@ static int __tag##_probe(struct platform_device *pdev)                             \
        if (ret)                                                               \
                goto err;                                                      \
                                                                               \
+       spdev->dev.parent = dev;                                               \
        ret = platform_device_add(spdev);                                      \
        if (ret)                                                               \
                goto err;                                                      \