[PATCH v3 1/9] firmware: arm_scmi: Set fwnode for the generated SCMI platform device
Jonathan Cameron
jonathan.cameron at oss.qualcomm.com
Mon Aug 24 09:51:33 PDT 2026
On Thu, 13 Aug 2026 12:32:56 +0100
Sudeep Holla <sudeep.holla at kernel.org> wrote:
> Add a call to device_set_node() in the SCMI probe helper to associate
> generated SCMI platform device with the firmware node of its supplier
> transport device.
>
> This complements device_set_of_node_from_dev() and ensures that
> firmware node information is propagated correctly for both Device Tree
> and non-DT (e.g. ACPI) based systems.
Hi Sudeep,
When you say 'complement' I'd like to see a little more. The guts
of both calls includes setting dev->ofnode() adn the extra bit
in device_set_of_node_from_dev() is about ensuring we drop existing
node reference (there isn't one) and increment the reference for what
is the parent of_node.
I may be wrong, but I think that is unnecessary and if I'm wrong I'd
like to see more info here on why it is needed.
Also, if this is commonly needed why doesn't device_set_node() include
that dance?
Unless I fumbled the command, a grep suggests there are no instances
in tree of these both being called near each other.
Jonathan
>
> Signed-off-by: Sudeep Holla <sudeep.holla at kernel.org>
> ---
> drivers/firmware/arm_scmi/common.h | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/firmware/arm_scmi/common.h b/drivers/firmware/arm_scmi/common.h
> index fe8c22cfb9f7..cc7d11c3c1f3 100644
> --- a/drivers/firmware/arm_scmi/common.h
> +++ b/drivers/firmware/arm_scmi/common.h
> @@ -650,6 +650,7 @@ static int __tag##_probe(struct platform_device *pdev) \
> } \
> \
> device_set_of_node_from_dev(&spdev->dev, dev); \
> + device_set_node(&spdev->dev, dev_fwnode(dev)); \
> \
> strans.supplier = supplier; \
> memcpy(&strans.desc, &(__desc), sizeof(strans.desc)); \
>
More information about the linux-arm-kernel
mailing list