aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/pinctrl/core.c10
-rw-r--r--drivers/pinctrl/core.h2
-rw-r--r--drivers/pinctrl/devicetree.c2
-rw-r--r--drivers/pinctrl/mediatek/pinctrl-mtk-common.c2
-rw-r--r--drivers/pinctrl/mvebu/pinctrl-armada-370.c2
-rw-r--r--drivers/pinctrl/qcom/pinctrl-spmi-gpio.c1
-rw-r--r--drivers/pinctrl/qcom/pinctrl-spmi-mpp.c10
7 files changed, 16 insertions, 13 deletions
diff --git a/drivers/pinctrl/core.c b/drivers/pinctrl/core.c
index 89dca77ca038..18ee2089df4a 100644
--- a/drivers/pinctrl/core.c
+++ b/drivers/pinctrl/core.c
@@ -1110,7 +1110,7 @@ void devm_pinctrl_put(struct pinctrl *p)
1110EXPORT_SYMBOL_GPL(devm_pinctrl_put); 1110EXPORT_SYMBOL_GPL(devm_pinctrl_put);
1111 1111
1112int pinctrl_register_map(struct pinctrl_map const *maps, unsigned num_maps, 1112int pinctrl_register_map(struct pinctrl_map const *maps, unsigned num_maps,
1113 bool dup, bool locked) 1113 bool dup)
1114{ 1114{
1115 int i, ret; 1115 int i, ret;
1116 struct pinctrl_maps *maps_node; 1116 struct pinctrl_maps *maps_node;
@@ -1178,11 +1178,9 @@ int pinctrl_register_map(struct pinctrl_map const *maps, unsigned num_maps,
1178 maps_node->maps = maps; 1178 maps_node->maps = maps;
1179 } 1179 }
1180 1180
1181 if (!locked) 1181 mutex_lock(&pinctrl_maps_mutex);
1182 mutex_lock(&pinctrl_maps_mutex);
1183 list_add_tail(&maps_node->node, &pinctrl_maps); 1182 list_add_tail(&maps_node->node, &pinctrl_maps);
1184 if (!locked) 1183 mutex_unlock(&pinctrl_maps_mutex);
1185 mutex_unlock(&pinctrl_maps_mutex);
1186 1184
1187 return 0; 1185 return 0;
1188} 1186}
@@ -1197,7 +1195,7 @@ int pinctrl_register_map(struct pinctrl_map const *maps, unsigned num_maps,
1197int pinctrl_register_mappings(struct pinctrl_map const *maps, 1195int pinctrl_register_mappings(struct pinctrl_map const *maps,
1198 unsigned num_maps) 1196 unsigned num_maps)
1199{ 1197{
1200 return pinctrl_register_map(maps, num_maps, true, false); 1198 return pinctrl_register_map(maps, num_maps, true);
1201} 1199}
1202 1200
1203void pinctrl_unregister_map(struct pinctrl_map const *map) 1201void pinctrl_unregister_map(struct pinctrl_map const *map)
diff --git a/drivers/pinctrl/core.h b/drivers/pinctrl/core.h
index 75476b3d87da..b24ea846c867 100644
--- a/drivers/pinctrl/core.h
+++ b/drivers/pinctrl/core.h
@@ -183,7 +183,7 @@ static inline struct pin_desc *pin_desc_get(struct pinctrl_dev *pctldev,
183} 183}
184 184
185int pinctrl_register_map(struct pinctrl_map const *maps, unsigned num_maps, 185int pinctrl_register_map(struct pinctrl_map const *maps, unsigned num_maps,
186 bool dup, bool locked); 186 bool dup);
187void pinctrl_unregister_map(struct pinctrl_map const *map); 187void pinctrl_unregister_map(struct pinctrl_map const *map);
188 188
189extern int pinctrl_force_sleep(struct pinctrl_dev *pctldev); 189extern int pinctrl_force_sleep(struct pinctrl_dev *pctldev);
diff --git a/drivers/pinctrl/devicetree.c b/drivers/pinctrl/devicetree.c
index eda13de2e7c0..0bbf7d71b281 100644
--- a/drivers/pinctrl/devicetree.c
+++ b/drivers/pinctrl/devicetree.c
@@ -92,7 +92,7 @@ static int dt_remember_or_free_map(struct pinctrl *p, const char *statename,
92 dt_map->num_maps = num_maps; 92 dt_map->num_maps = num_maps;
93 list_add_tail(&dt_map->node, &p->dt_maps); 93 list_add_tail(&dt_map->node, &p->dt_maps);
94 94
95 return pinctrl_register_map(map, num_maps, false, true); 95 return pinctrl_register_map(map, num_maps, false);
96} 96}
97 97
98struct pinctrl_dev *of_pinctrl_get(struct device_node *np) 98struct pinctrl_dev *of_pinctrl_get(struct device_node *np)
diff --git a/drivers/pinctrl/mediatek/pinctrl-mtk-common.c b/drivers/pinctrl/mediatek/pinctrl-mtk-common.c
index 493294c0ebe6..474812e2b0cb 100644
--- a/drivers/pinctrl/mediatek/pinctrl-mtk-common.c
+++ b/drivers/pinctrl/mediatek/pinctrl-mtk-common.c
@@ -881,6 +881,8 @@ static int mtk_gpio_set_debounce(struct gpio_chip *chip, unsigned offset,
881 if (!mtk_eint_get_mask(pctl, eint_num)) { 881 if (!mtk_eint_get_mask(pctl, eint_num)) {
882 mtk_eint_mask(d); 882 mtk_eint_mask(d);
883 unmask = 1; 883 unmask = 1;
884 } else {
885 unmask = 0;
884 } 886 }
885 887
886 clr_bit = 0xff << eint_offset; 888 clr_bit = 0xff << eint_offset;
diff --git a/drivers/pinctrl/mvebu/pinctrl-armada-370.c b/drivers/pinctrl/mvebu/pinctrl-armada-370.c
index 42f930f70de3..03aa58c4cb85 100644
--- a/drivers/pinctrl/mvebu/pinctrl-armada-370.c
+++ b/drivers/pinctrl/mvebu/pinctrl-armada-370.c
@@ -364,7 +364,7 @@ static struct mvebu_mpp_mode mv88f6710_mpp_modes[] = {
364 MPP_FUNCTION(0x5, "audio", "mclk"), 364 MPP_FUNCTION(0x5, "audio", "mclk"),
365 MPP_FUNCTION(0x6, "uart0", "cts")), 365 MPP_FUNCTION(0x6, "uart0", "cts")),
366 MPP_MODE(63, 366 MPP_MODE(63,
367 MPP_FUNCTION(0x0, "gpo", NULL), 367 MPP_FUNCTION(0x0, "gpio", NULL),
368 MPP_FUNCTION(0x1, "spi0", "sck"), 368 MPP_FUNCTION(0x1, "spi0", "sck"),
369 MPP_FUNCTION(0x2, "tclk", NULL)), 369 MPP_FUNCTION(0x2, "tclk", NULL)),
370 MPP_MODE(64, 370 MPP_MODE(64,
diff --git a/drivers/pinctrl/qcom/pinctrl-spmi-gpio.c b/drivers/pinctrl/qcom/pinctrl-spmi-gpio.c
index b2d22218a258..de684ca93b5a 100644
--- a/drivers/pinctrl/qcom/pinctrl-spmi-gpio.c
+++ b/drivers/pinctrl/qcom/pinctrl-spmi-gpio.c
@@ -260,6 +260,7 @@ static int pmic_gpio_set_mux(struct pinctrl_dev *pctldev, unsigned function,
260 val = 1; 260 val = 1;
261 } 261 }
262 262
263 val = val << PMIC_GPIO_REG_MODE_DIR_SHIFT;
263 val |= pad->function << PMIC_GPIO_REG_MODE_FUNCTION_SHIFT; 264 val |= pad->function << PMIC_GPIO_REG_MODE_FUNCTION_SHIFT;
264 val |= pad->out_value & PMIC_GPIO_REG_MODE_VALUE_SHIFT; 265 val |= pad->out_value & PMIC_GPIO_REG_MODE_VALUE_SHIFT;
265 266
diff --git a/drivers/pinctrl/qcom/pinctrl-spmi-mpp.c b/drivers/pinctrl/qcom/pinctrl-spmi-mpp.c
index 8f36c5f91949..211b942ad6d5 100644
--- a/drivers/pinctrl/qcom/pinctrl-spmi-mpp.c
+++ b/drivers/pinctrl/qcom/pinctrl-spmi-mpp.c
@@ -370,6 +370,7 @@ static int pmic_mpp_set_mux(struct pinctrl_dev *pctldev, unsigned function,
370 } 370 }
371 } 371 }
372 372
373 val = val << PMIC_MPP_REG_MODE_DIR_SHIFT;
373 val |= pad->function << PMIC_MPP_REG_MODE_FUNCTION_SHIFT; 374 val |= pad->function << PMIC_MPP_REG_MODE_FUNCTION_SHIFT;
374 val |= pad->out_value & PMIC_MPP_REG_MODE_VALUE_MASK; 375 val |= pad->out_value & PMIC_MPP_REG_MODE_VALUE_MASK;
375 376
@@ -576,10 +577,11 @@ static void pmic_mpp_config_dbg_show(struct pinctrl_dev *pctldev,
576 577
577 if (pad->input_enabled) { 578 if (pad->input_enabled) {
578 ret = pmic_mpp_read(state, pad, PMIC_MPP_REG_RT_STS); 579 ret = pmic_mpp_read(state, pad, PMIC_MPP_REG_RT_STS);
579 if (!ret) { 580 if (ret < 0)
580 ret &= PMIC_MPP_REG_RT_STS_VAL_MASK; 581 return;
581 pad->out_value = ret; 582
582 } 583 ret &= PMIC_MPP_REG_RT_STS_VAL_MASK;
584 pad->out_value = ret;
583 } 585 }
584 586
585 seq_printf(s, " %-4s", pad->output_enabled ? "out" : "in"); 587 seq_printf(s, " %-4s", pad->output_enabled ? "out" : "in");