diff options
| -rw-r--r-- | drivers/pinctrl/Kconfig | 4 | ||||
| -rw-r--r-- | drivers/pinctrl/freescale/pinctrl-imx1-core.c | 8 | ||||
| -rw-r--r-- | drivers/pinctrl/mediatek/pinctrl-mtk-common.c | 11 | ||||
| -rw-r--r-- | drivers/pinctrl/qcom/pinctrl-ssbi-gpio.c | 2 | ||||
| -rw-r--r-- | drivers/pinctrl/qcom/pinctrl-ssbi-mpp.c | 2 | ||||
| -rw-r--r-- | drivers/pinctrl/sh-pfc/pfc-sh7734.c | 6 |
6 files changed, 15 insertions, 18 deletions
diff --git a/drivers/pinctrl/Kconfig b/drivers/pinctrl/Kconfig index b422e4ed73f4..312c78b27a32 100644 --- a/drivers/pinctrl/Kconfig +++ b/drivers/pinctrl/Kconfig | |||
| @@ -5,8 +5,6 @@ | |||
| 5 | config PINCTRL | 5 | config PINCTRL |
| 6 | bool | 6 | bool |
| 7 | 7 | ||
| 8 | if PINCTRL | ||
| 9 | |||
| 10 | menu "Pin controllers" | 8 | menu "Pin controllers" |
| 11 | depends on PINCTRL | 9 | depends on PINCTRL |
| 12 | 10 | ||
| @@ -274,5 +272,3 @@ config PINCTRL_TB10X | |||
| 274 | select GPIOLIB | 272 | select GPIOLIB |
| 275 | 273 | ||
| 276 | endmenu | 274 | endmenu |
| 277 | |||
| 278 | endif | ||
diff --git a/drivers/pinctrl/freescale/pinctrl-imx1-core.c b/drivers/pinctrl/freescale/pinctrl-imx1-core.c index 88a7fac11bd4..acaf84cadca3 100644 --- a/drivers/pinctrl/freescale/pinctrl-imx1-core.c +++ b/drivers/pinctrl/freescale/pinctrl-imx1-core.c | |||
| @@ -538,8 +538,10 @@ static int imx1_pinctrl_parse_functions(struct device_node *np, | |||
| 538 | func->groups[i] = child->name; | 538 | func->groups[i] = child->name; |
| 539 | grp = &info->groups[grp_index++]; | 539 | grp = &info->groups[grp_index++]; |
| 540 | ret = imx1_pinctrl_parse_groups(child, grp, info, i++); | 540 | ret = imx1_pinctrl_parse_groups(child, grp, info, i++); |
| 541 | if (ret == -ENOMEM) | 541 | if (ret == -ENOMEM) { |
| 542 | of_node_put(child); | ||
| 542 | return ret; | 543 | return ret; |
| 544 | } | ||
| 543 | } | 545 | } |
| 544 | 546 | ||
| 545 | return 0; | 547 | return 0; |
| @@ -582,8 +584,10 @@ static int imx1_pinctrl_parse_dt(struct platform_device *pdev, | |||
| 582 | 584 | ||
| 583 | for_each_child_of_node(np, child) { | 585 | for_each_child_of_node(np, child) { |
| 584 | ret = imx1_pinctrl_parse_functions(child, info, ifunc++); | 586 | ret = imx1_pinctrl_parse_functions(child, info, ifunc++); |
| 585 | if (ret == -ENOMEM) | 587 | if (ret == -ENOMEM) { |
| 588 | of_node_put(child); | ||
| 586 | return -ENOMEM; | 589 | return -ENOMEM; |
| 590 | } | ||
| 587 | } | 591 | } |
| 588 | 592 | ||
| 589 | return 0; | 593 | return 0; |
diff --git a/drivers/pinctrl/mediatek/pinctrl-mtk-common.c b/drivers/pinctrl/mediatek/pinctrl-mtk-common.c index f307f1d27d64..5c717275a7fa 100644 --- a/drivers/pinctrl/mediatek/pinctrl-mtk-common.c +++ b/drivers/pinctrl/mediatek/pinctrl-mtk-common.c | |||
| @@ -747,7 +747,7 @@ static int mtk_gpio_get_direction(struct gpio_chip *chip, unsigned offset) | |||
| 747 | reg_addr = mtk_get_port(pctl, offset) + pctl->devdata->dir_offset; | 747 | reg_addr = mtk_get_port(pctl, offset) + pctl->devdata->dir_offset; |
| 748 | bit = BIT(offset & 0xf); | 748 | bit = BIT(offset & 0xf); |
| 749 | regmap_read(pctl->regmap1, reg_addr, &read_val); | 749 | regmap_read(pctl->regmap1, reg_addr, &read_val); |
| 750 | return !!(read_val & bit); | 750 | return !(read_val & bit); |
| 751 | } | 751 | } |
| 752 | 752 | ||
| 753 | static int mtk_gpio_get(struct gpio_chip *chip, unsigned offset) | 753 | static int mtk_gpio_get(struct gpio_chip *chip, unsigned offset) |
| @@ -757,12 +757,8 @@ static int mtk_gpio_get(struct gpio_chip *chip, unsigned offset) | |||
| 757 | unsigned int read_val = 0; | 757 | unsigned int read_val = 0; |
| 758 | struct mtk_pinctrl *pctl = dev_get_drvdata(chip->dev); | 758 | struct mtk_pinctrl *pctl = dev_get_drvdata(chip->dev); |
| 759 | 759 | ||
| 760 | if (mtk_gpio_get_direction(chip, offset)) | 760 | reg_addr = mtk_get_port(pctl, offset) + |
| 761 | reg_addr = mtk_get_port(pctl, offset) + | 761 | pctl->devdata->din_offset; |
| 762 | pctl->devdata->dout_offset; | ||
| 763 | else | ||
| 764 | reg_addr = mtk_get_port(pctl, offset) + | ||
| 765 | pctl->devdata->din_offset; | ||
| 766 | 762 | ||
| 767 | bit = BIT(offset & 0xf); | 763 | bit = BIT(offset & 0xf); |
| 768 | regmap_read(pctl->regmap1, reg_addr, &read_val); | 764 | regmap_read(pctl->regmap1, reg_addr, &read_val); |
| @@ -997,6 +993,7 @@ static struct gpio_chip mtk_gpio_chip = { | |||
| 997 | .owner = THIS_MODULE, | 993 | .owner = THIS_MODULE, |
| 998 | .request = gpiochip_generic_request, | 994 | .request = gpiochip_generic_request, |
| 999 | .free = gpiochip_generic_free, | 995 | .free = gpiochip_generic_free, |
| 996 | .get_direction = mtk_gpio_get_direction, | ||
| 1000 | .direction_input = mtk_gpio_direction_input, | 997 | .direction_input = mtk_gpio_direction_input, |
| 1001 | .direction_output = mtk_gpio_direction_output, | 998 | .direction_output = mtk_gpio_direction_output, |
| 1002 | .get = mtk_gpio_get, | 999 | .get = mtk_gpio_get, |
diff --git a/drivers/pinctrl/qcom/pinctrl-ssbi-gpio.c b/drivers/pinctrl/qcom/pinctrl-ssbi-gpio.c index d809c9eaa323..19a3c3bc2f1f 100644 --- a/drivers/pinctrl/qcom/pinctrl-ssbi-gpio.c +++ b/drivers/pinctrl/qcom/pinctrl-ssbi-gpio.c | |||
| @@ -672,7 +672,7 @@ static int pm8xxx_gpio_probe(struct platform_device *pdev) | |||
| 672 | return -ENOMEM; | 672 | return -ENOMEM; |
| 673 | 673 | ||
| 674 | pctrl->dev = &pdev->dev; | 674 | pctrl->dev = &pdev->dev; |
| 675 | pctrl->npins = (unsigned)of_device_get_match_data(&pdev->dev); | 675 | pctrl->npins = (unsigned long)of_device_get_match_data(&pdev->dev); |
| 676 | 676 | ||
| 677 | pctrl->regmap = dev_get_regmap(pdev->dev.parent, NULL); | 677 | pctrl->regmap = dev_get_regmap(pdev->dev.parent, NULL); |
| 678 | if (!pctrl->regmap) { | 678 | if (!pctrl->regmap) { |
diff --git a/drivers/pinctrl/qcom/pinctrl-ssbi-mpp.c b/drivers/pinctrl/qcom/pinctrl-ssbi-mpp.c index 8982027de8e8..b868ef1766a0 100644 --- a/drivers/pinctrl/qcom/pinctrl-ssbi-mpp.c +++ b/drivers/pinctrl/qcom/pinctrl-ssbi-mpp.c | |||
| @@ -763,7 +763,7 @@ static int pm8xxx_mpp_probe(struct platform_device *pdev) | |||
| 763 | return -ENOMEM; | 763 | return -ENOMEM; |
| 764 | 764 | ||
| 765 | pctrl->dev = &pdev->dev; | 765 | pctrl->dev = &pdev->dev; |
| 766 | pctrl->npins = (unsigned)of_device_get_match_data(&pdev->dev); | 766 | pctrl->npins = (unsigned long)of_device_get_match_data(&pdev->dev); |
| 767 | 767 | ||
| 768 | pctrl->regmap = dev_get_regmap(pdev->dev.parent, NULL); | 768 | pctrl->regmap = dev_get_regmap(pdev->dev.parent, NULL); |
| 769 | if (!pctrl->regmap) { | 769 | if (!pctrl->regmap) { |
diff --git a/drivers/pinctrl/sh-pfc/pfc-sh7734.c b/drivers/pinctrl/sh-pfc/pfc-sh7734.c index e7deb51de7dc..9842bb106796 100644 --- a/drivers/pinctrl/sh-pfc/pfc-sh7734.c +++ b/drivers/pinctrl/sh-pfc/pfc-sh7734.c | |||
| @@ -31,11 +31,11 @@ | |||
| 31 | PORT_GP_12(5, fn, sfx) | 31 | PORT_GP_12(5, fn, sfx) |
| 32 | 32 | ||
| 33 | #undef _GP_DATA | 33 | #undef _GP_DATA |
| 34 | #define _GP_DATA(bank, pin, name, sfx) \ | 34 | #define _GP_DATA(bank, pin, name, sfx, cfg) \ |
| 35 | PINMUX_DATA(name##_DATA, name##_FN, name##_IN, name##_OUT) | 35 | PINMUX_DATA(name##_DATA, name##_FN, name##_IN, name##_OUT) |
| 36 | 36 | ||
| 37 | #define _GP_INOUTSEL(bank, pin, name, sfx) name##_IN, name##_OUT | 37 | #define _GP_INOUTSEL(bank, pin, name, sfx, cfg) name##_IN, name##_OUT |
| 38 | #define _GP_INDT(bank, pin, name, sfx) name##_DATA | 38 | #define _GP_INDT(bank, pin, name, sfx, cfg) name##_DATA |
| 39 | #define GP_INOUTSEL(bank) PORT_GP_32_REV(bank, _GP_INOUTSEL, unused) | 39 | #define GP_INOUTSEL(bank) PORT_GP_32_REV(bank, _GP_INOUTSEL, unused) |
| 40 | #define GP_INDT(bank) PORT_GP_32_REV(bank, _GP_INDT, unused) | 40 | #define GP_INDT(bank) PORT_GP_32_REV(bank, _GP_INDT, unused) |
| 41 | 41 | ||
