Skip to content

Commit f20e813

Browse files
Dan Carpenterlinusw
authored andcommitted
pinctrl: scmi: ignore PIN_CONFIG_PERSIST_STATE
The PIN_CONFIG_PERSIST_STATE setting ensures that the pin state persists across a sleep or controller reset. The SCMI spec does not have an equivalent command to this so just ignore it. Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org> Reviewed-by: Linus Walleij <linusw@kernel.org> Signed-off-by: Linus Walleij <linusw@kernel.org>
1 parent 37a5844 commit f20e813

1 file changed

Lines changed: 8 additions & 4 deletions

File tree

drivers/pinctrl/pinctrl-scmi.c

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -361,7 +361,7 @@ static int pinctrl_scmi_pinconf_set(struct pinctrl_dev *pctldev,
361361
unsigned long *configs,
362362
unsigned int num_configs)
363363
{
364-
int i, ret;
364+
int i, cnt, ret;
365365
struct scmi_pinctrl *pmx = pinctrl_dev_get_drvdata(pctldev);
366366
enum scmi_pinctrl_conf_type config_type[SCMI_NUM_CONFIGS];
367367
u32 config_value[SCMI_NUM_CONFIGS];
@@ -377,17 +377,21 @@ static int pinctrl_scmi_pinconf_set(struct pinctrl_dev *pctldev,
377377
if (ret)
378378
return ret;
379379

380+
cnt = 0;
380381
for (i = 0; i < num_configs; i++) {
381382
param = pinconf_to_config_param(configs[i]);
382-
ret = pinctrl_scmi_map_pinconf_type_set(param, &p_config_type[i]);
383+
if (param == PIN_CONFIG_PERSIST_STATE)
384+
continue;
385+
ret = pinctrl_scmi_map_pinconf_type_set(param, &p_config_type[cnt]);
383386
if (ret) {
384387
dev_err(pmx->dev, "Error map pinconf_type %d\n", ret);
385388
goto free_config;
386389
}
387-
p_config_value[i] = pinconf_to_config_argument(configs[i]);
390+
p_config_value[cnt] = pinconf_to_config_argument(configs[i]);
391+
cnt++;
388392
}
389393

390-
ret = pinctrl_ops->settings_conf(pmx->ph, pin, PIN_TYPE, num_configs,
394+
ret = pinctrl_ops->settings_conf(pmx->ph, pin, PIN_TYPE, cnt,
391395
p_config_type, p_config_value);
392396
if (ret)
393397
dev_err(pmx->dev, "Error parsing config %d\n", ret);

0 commit comments

Comments
 (0)