soc: ti: ti_sci_pm_domains: check for proper args count in xlate
authorTero Kristo <t-kristo@ti.com>
Thu, 29 Oct 2020 09:33:37 +0000 (11:33 +0200)
committerArnd Bergmann <arnd@arndb.de>
Thu, 29 Oct 2020 21:13:38 +0000 (22:13 +0100)
K2G devices still only use single parameter for power-domains property,
so check for this properly in the driver. Without this, every peripheral
fails to probe resulting in boot failure.

Link: https://lore.kernel.org/r/20201029093337.21170-1-t-kristo@ti.com
Fixes: efa5c01cd7ee ("soc: ti: ti_sci_pm_domains: switch to use multiple genpds instead of one")
Reported-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Tero Kristo <t-kristo@ti.com>
Acked-by: Nishanth Menon <nm@ti.com>
Acked-by: Santosh Shilimkar <ssantosh@kernel.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
drivers/soc/ti/ti_sci_pm_domains.c

index af2126d..8afb3f4 100644 (file)
@@ -91,7 +91,7 @@ static struct generic_pm_domain *ti_sci_pd_xlate(
        struct genpd_onecell_data *genpd_data = data;
        unsigned int idx = genpdspec->args[0];
 
-       if (genpdspec->args_count < 2)
+       if (genpdspec->args_count != 1 && genpdspec->args_count != 2)
                return ERR_PTR(-EINVAL);
 
        if (idx >= genpd_data->num_domains) {