diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2015-05-08 22:42:59 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2015-05-08 22:42:59 -0400 |
| commit | 41c64bb19c740b5433f768032ecaf05375c955ee (patch) | |
| tree | c94507138f0019897faa032d707a0b5bb3cdf2ff /drivers/pinctrl/qcom | |
| parent | a8a0811314db714ae23ab9f0ea707711a076bf18 (diff) | |
| parent | d2d05c65c40e067ca5898399069053f095c67d6f (diff) | |
Merge tag 'gpio-v4.1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio
Pull GPIO fixes from Linus Walleij:
"Here is a bunch of GPIO fixes that I collected since -rc1, nothing
controversial, nothing special:
- fix a memory leak for GPIO hotplug.
- fix a signedness bug in the ACPI GPIO pin validation.
- driver fixes: Qualcomm SPMI and OMAP MPUIO IRQ issues"
* tag 'gpio-v4.1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio:
gpio: omap: Fix regression for MPUIO interrupts
gpio: sysfs: fix memory leaks and device hotplug
pinctrl: qcom-spmi-gpio: Fix input value report
pinctrl: qcom-spmi-gpio: Fix output type configuration
gpiolib: change gpio pin from unsigned to signed in acpi callback
Diffstat (limited to 'drivers/pinctrl/qcom')
| -rw-r--r-- | drivers/pinctrl/qcom/pinctrl-spmi-gpio.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/drivers/pinctrl/qcom/pinctrl-spmi-gpio.c b/drivers/pinctrl/qcom/pinctrl-spmi-gpio.c index de684ca93b5a..ae4115e4b4ef 100644 --- a/drivers/pinctrl/qcom/pinctrl-spmi-gpio.c +++ b/drivers/pinctrl/qcom/pinctrl-spmi-gpio.c | |||
| @@ -418,7 +418,7 @@ static int pmic_gpio_config_set(struct pinctrl_dev *pctldev, unsigned int pin, | |||
| 418 | return ret; | 418 | return ret; |
| 419 | 419 | ||
| 420 | val = pad->buffer_type << PMIC_GPIO_REG_OUT_TYPE_SHIFT; | 420 | val = pad->buffer_type << PMIC_GPIO_REG_OUT_TYPE_SHIFT; |
| 421 | val = pad->strength << PMIC_GPIO_REG_OUT_STRENGTH_SHIFT; | 421 | val |= pad->strength << PMIC_GPIO_REG_OUT_STRENGTH_SHIFT; |
| 422 | 422 | ||
| 423 | ret = pmic_gpio_write(state, pad, PMIC_GPIO_REG_DIG_OUT_CTL, val); | 423 | ret = pmic_gpio_write(state, pad, PMIC_GPIO_REG_DIG_OUT_CTL, val); |
| 424 | if (ret < 0) | 424 | if (ret < 0) |
| @@ -467,12 +467,13 @@ static void pmic_gpio_config_dbg_show(struct pinctrl_dev *pctldev, | |||
| 467 | seq_puts(s, " ---"); | 467 | seq_puts(s, " ---"); |
| 468 | } else { | 468 | } else { |
| 469 | 469 | ||
| 470 | if (!pad->input_enabled) { | 470 | if (pad->input_enabled) { |
| 471 | ret = pmic_gpio_read(state, pad, PMIC_MPP_REG_RT_STS); | 471 | ret = pmic_gpio_read(state, pad, PMIC_MPP_REG_RT_STS); |
| 472 | if (!ret) { | 472 | if (ret < 0) |
| 473 | ret &= PMIC_MPP_REG_RT_STS_VAL_MASK; | 473 | return; |
| 474 | pad->out_value = ret; | 474 | |
| 475 | } | 475 | ret &= PMIC_MPP_REG_RT_STS_VAL_MASK; |
| 476 | pad->out_value = ret; | ||
| 476 | } | 477 | } |
| 477 | 478 | ||
| 478 | seq_printf(s, " %-4s", pad->output_enabled ? "out" : "in"); | 479 | seq_printf(s, " %-4s", pad->output_enabled ? "out" : "in"); |
