[PATCH v2] of: property: fw_devlink: Add support for "mmc-pwrseq"

Francesco Valla posted 1 patch 1 day, 4 hours ago
drivers/of/property.c | 2 ++
1 file changed, 2 insertions(+)
[PATCH v2] of: property: fw_devlink: Add support for "mmc-pwrseq"
Posted by Francesco Valla 1 day, 4 hours ago
Add support for parsing MMC power sequencing (pwrseq) binding so that
fw_devlink can enforce the dependency.

Signed-off-by: Francesco Valla <francesco@valla.it>
---
Changes in v2:
- EDITME: describe what is new in this series revision.
- EDITME: use bulletpoints and terse descriptions.
- Link to v1: https://lore.kernel.org/r/20250930-mmc_pwrseq-v1-1-7fd2764f5ac1@valla.it
---
 drivers/of/property.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/of/property.c b/drivers/of/property.c
index c1feb631e3831d7d5ec23c606af31731bfc2f8b8..fcf10c4f02dcf879e1f25e4fa97b25152d58bacb 100644
--- a/drivers/of/property.c
+++ b/drivers/of/property.c
@@ -1377,6 +1377,7 @@ DEFINE_SIMPLE_PROP(post_init_providers, "post-init-providers", NULL)
 DEFINE_SIMPLE_PROP(access_controllers, "access-controllers", "#access-controller-cells")
 DEFINE_SIMPLE_PROP(pses, "pses", "#pse-cells")
 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")
 
@@ -1524,6 +1525,7 @@ static const struct supplier_bindings of_supplier_bindings[] = {
 	{ .parse_prop = parse_msi_parent, },
 	{ .parse_prop = parse_pses, },
 	{ .parse_prop = parse_power_supplies, },
+	{ .parse_prop = parse_mmc_pwrseq, },
 	{ .parse_prop = parse_gpio_compat, },
 	{ .parse_prop = parse_interrupts, },
 	{ .parse_prop = parse_interrupt_map, },

---
base-commit: 30d4efb2f5a515a60fe6b0ca85362cbebea21e2f
change-id: 20250930-mmc_pwrseq-247089ac9583

Best regards,
-- 
Francesco Valla <francesco@valla.it>
Re: [PATCH v2] of: property: fw_devlink: Add support for "mmc-pwrseq"
Posted by Saravana Kannan 1 day, 2 hours ago
On Tue, Sep 30, 2025 at 8:58 AM Francesco Valla <francesco@valla.it> wrote:
>
> Add support for parsing MMC power sequencing (pwrseq) binding so that
> fw_devlink can enforce the dependency.

I took a quick look at the documentation. It's not clear to me that
mmc-pwrseq always points to a supplier. Can someone with more
experience on this confirm that is what it's supposed to point at?

Meaning if A lists B as pwrseq, is it always the case that B needs to
be powered on? The binding documentation doesn't say anything about B
needs to be powered on first. It's just saying A and B have an
ordering requirement.

If the meaning of the binding is _ALWAYS_ B needs to be powered on
first, then yes, this patch is correct and I can give a reviewed-by.

Thanks,
Saravana

>
> Signed-off-by: Francesco Valla <francesco@valla.it>
> ---
> Changes in v2:
> - EDITME: describe what is new in this series revision.
> - EDITME: use bulletpoints and terse descriptions.
> - Link to v1: https://lore.kernel.org/r/20250930-mmc_pwrseq-v1-1-7fd2764f5ac1@valla.it
> ---
>  drivers/of/property.c | 2 ++
>  1 file changed, 2 insertions(+)
>
> diff --git a/drivers/of/property.c b/drivers/of/property.c
> index c1feb631e3831d7d5ec23c606af31731bfc2f8b8..fcf10c4f02dcf879e1f25e4fa97b25152d58bacb 100644
> --- a/drivers/of/property.c
> +++ b/drivers/of/property.c
> @@ -1377,6 +1377,7 @@ DEFINE_SIMPLE_PROP(post_init_providers, "post-init-providers", NULL)
>  DEFINE_SIMPLE_PROP(access_controllers, "access-controllers", "#access-controller-cells")
>  DEFINE_SIMPLE_PROP(pses, "pses", "#pse-cells")
>  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")
>
> @@ -1524,6 +1525,7 @@ static const struct supplier_bindings of_supplier_bindings[] = {
>         { .parse_prop = parse_msi_parent, },
>         { .parse_prop = parse_pses, },
>         { .parse_prop = parse_power_supplies, },
> +       { .parse_prop = parse_mmc_pwrseq, },
>         { .parse_prop = parse_gpio_compat, },
>         { .parse_prop = parse_interrupts, },
>         { .parse_prop = parse_interrupt_map, },
>
> ---
> base-commit: 30d4efb2f5a515a60fe6b0ca85362cbebea21e2f
> change-id: 20250930-mmc_pwrseq-247089ac9583
>
> Best regards,
> --
> Francesco Valla <francesco@valla.it>
>
Re: [PATCH v2] of: property: fw_devlink: Add support for "mmc-pwrseq"
Posted by Francesco Valla 1 day, 4 hours ago
First time using the b4-based flow, so I _obviously_ messed it up.
Nevertheless, the (v1) patch still stands.

Apologies for the confusion.

Francesco

On Tuesday, 30 September 2025 at 17:58:17 Francesco Valla <francesco@valla.it> wrote:
> Add support for parsing MMC power sequencing (pwrseq) binding so that
> fw_devlink can enforce the dependency.
> 
> Signed-off-by: Francesco Valla <francesco@valla.it>
> ---
> Changes in v2:
> - EDITME: describe what is new in this series revision.
> - EDITME: use bulletpoints and terse descriptions.
> - Link to v1: https://lore.kernel.org/r/20250930-mmc_pwrseq-v1-1-7fd2764f5ac1@valla.it
> ---
>  drivers/of/property.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/drivers/of/property.c b/drivers/of/property.c
> index c1feb631e3831d7d5ec23c606af31731bfc2f8b8..fcf10c4f02dcf879e1f25e4fa97b25152d58bacb 100644
> --- a/drivers/of/property.c
> +++ b/drivers/of/property.c
> @@ -1377,6 +1377,7 @@ DEFINE_SIMPLE_PROP(post_init_providers, "post-init-providers", NULL)
>  DEFINE_SIMPLE_PROP(access_controllers, "access-controllers", "#access-controller-cells")
>  DEFINE_SIMPLE_PROP(pses, "pses", "#pse-cells")
>  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")
>  
> @@ -1524,6 +1525,7 @@ static const struct supplier_bindings of_supplier_bindings[] = {
>  	{ .parse_prop = parse_msi_parent, },
>  	{ .parse_prop = parse_pses, },
>  	{ .parse_prop = parse_power_supplies, },
> +	{ .parse_prop = parse_mmc_pwrseq, },
>  	{ .parse_prop = parse_gpio_compat, },
>  	{ .parse_prop = parse_interrupts, },
>  	{ .parse_prop = parse_interrupt_map, },
> 
> ---
> base-commit: 30d4efb2f5a515a60fe6b0ca85362cbebea21e2f
> change-id: 20250930-mmc_pwrseq-247089ac9583
> 
> Best regards,
>