[PATCH 07/11] pinctrl: scmi: give no groups to pin-only functions
Clément Le Goffic
clegoffic at baylibre.com
Fri Oct 30 08:58:38 PDT 2026
For a pin-only function PINCTRL_LIST_ASSOCIATIONS returns pins, but the
driver registered them as groups. Register pin-only functions without
groups.
Fixes: eb524cb651b7 ("pinctrl: Implementation of the generic scmi-pinctrl driver")
Signed-off-by: Clément Le Goffic <clegoffic at baylibre.com>
---
drivers/pinctrl/pinctrl-scmi.c | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/drivers/pinctrl/pinctrl-scmi.c b/drivers/pinctrl/pinctrl-scmi.c
index 355ad26cb215..1a14e254f011 100644
--- a/drivers/pinctrl/pinctrl-scmi.c
+++ b/drivers/pinctrl/pinctrl-scmi.c
@@ -443,6 +443,7 @@ static int pinctrl_scmi_get_functions(struct scmi_pinctrl *pmx)
{
unsigned int nr_funcs, nr_groups, i, j;
const unsigned int *group_ids;
+ bool pin_only, gpio;
const char *fname;
const char **gnames;
int ret;
@@ -455,13 +456,20 @@ static int pinctrl_scmi_get_functions(struct scmi_pinctrl *pmx)
if (ret)
return ret;
+ ret = pinctrl_ops->function_flags_get(pmx->ph, i, &pin_only,
+ &gpio);
+ if (ret)
+ return ret;
+
ret = pinctrl_ops->function_groups_get(pmx->ph, i,
&nr_groups,
&group_ids);
if (ret)
return ret;
- if (!nr_groups)
+ if (pin_only)
+ nr_groups = 0;
+ else if (!nr_groups)
dev_warn(pmx->dev,
"Function %s contains no groups\n",
fname);
--
2.56.0
More information about the linux-arm-kernel
mailing list