Re: [PATCH v3 04/12] of: property: fw_devlink: Add support for renesas,scmi-firmware
From: Rob Herring
Date: Thu Sep 17 2026 - 21:05:59 EST
On Wed, Sep 02, 2026 at 01:29:20PM +0200, Geert Uytterhoeven wrote:
> Let fw_devlink create device links between consumers and suppliers of
> SCMI firmware on Renesas platforms, and enforce these dependencies.
>
> This prevents probing of drivers before the firmware they depend on
> becomes available, thus avoiding unneeded probe deferrals.
>
> Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx>
> ---
> v3:
> - s/firmware/renesas,scmi-firmware/,
>
> v2:
> - No changes.
> ---
> drivers/of/property.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/of/property.c b/drivers/of/property.c
> index 72cf12907de034e9..e79cd3cce4e2e41a 100644
> --- a/drivers/of/property.c
> +++ b/drivers/of/property.c
> @@ -1417,6 +1417,7 @@ DEFINE_SIMPLE_PROP(power_supplies, "power-supplies", NULL)
> DEFINE_SIMPLE_PROP(mmc_pwrseq, "mmc-pwrseq", NULL)
> DEFINE_SUFFIX_PROP(regulators, "-supply", NULL)
> DEFINE_SUFFIX_PROP(gpio, "-gpio", "#gpio-cells")
> +DEFINE_SIMPLE_PROP(renesas_scmi_firmware, "renesas,scmi-firmware", NULL)
>
> static struct device_node *parse_pinctrl_n(struct device_node *np,
> const char *prop_name, int index)
> @@ -1574,6 +1575,7 @@ static const struct supplier_bindings of_supplier_bindings[] = {
> { .parse_prop = parse_regulators, },
> { .parse_prop = parse_gpio, },
> { .parse_prop = parse_gpios, },
> + { .parse_prop = parse_renesas_scmi_firmware, },
This is going to be a catch-22, we can't have vendor specific properties
here. If we need this, we need to come up with a distributed way to
declare them. Linker section tricks is one way. Maybe something in the
driver struct would work?
Can you just avoid a property altogether? Why can't you check for the
presence of SCMI at runtime?
Rob