diff options
Diffstat (limited to 'drivers/pinctrl/vt8500/pinctrl-wmt.c')
-rw-r--r-- | drivers/pinctrl/vt8500/pinctrl-wmt.c | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/drivers/pinctrl/vt8500/pinctrl-wmt.c b/drivers/pinctrl/vt8500/pinctrl-wmt.c index b28d1af9c232..9802b67040cc 100644 --- a/drivers/pinctrl/vt8500/pinctrl-wmt.c +++ b/drivers/pinctrl/vt8500/pinctrl-wmt.c | |||
@@ -276,7 +276,20 @@ static int wmt_pctl_dt_node_to_map_pull(struct wmt_pinctrl_data *data, | |||
276 | if (!configs) | 276 | if (!configs) |
277 | return -ENOMEM; | 277 | return -ENOMEM; |
278 | 278 | ||
279 | configs[0] = pull; | 279 | switch (pull) { |
280 | case 0: | ||
281 | configs[0] = PIN_CONFIG_BIAS_DISABLE; | ||
282 | break; | ||
283 | case 1: | ||
284 | configs[0] = PIN_CONFIG_BIAS_PULL_DOWN; | ||
285 | break; | ||
286 | case 2: | ||
287 | configs[0] = PIN_CONFIG_BIAS_PULL_UP; | ||
288 | break; | ||
289 | default: | ||
290 | configs[0] = PIN_CONFIG_BIAS_DISABLE; | ||
291 | dev_err(data->dev, "invalid pull state %d - disabling\n", pull); | ||
292 | } | ||
280 | 293 | ||
281 | map->type = PIN_MAP_TYPE_CONFIGS_PIN; | 294 | map->type = PIN_MAP_TYPE_CONFIGS_PIN; |
282 | map->data.configs.group_or_pin = data->groups[group]; | 295 | map->data.configs.group_or_pin = data->groups[group]; |