pinctrl: mt7622: stop using the deprecated pinctrl_add_gpio_range
If the pinctrl node has the gpio-ranges property, the range will be added
by the gpio core and doesn't need to be added by the pinctrl driver.
But for keeping backward compatibility, an explicit pinctrl_add_gpio_range
is still needed to be called when there is a missing gpio-ranges in pinctrl
node in old dts files.
Cc: stable@vger.kernel.org
Fixes: d6ed935513
("pinctrl: mediatek: add pinctrl driver for MT7622 SoC")
Signed-off-by: Sean Wang <sean.wang@mediatek.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
This commit is contained in:
parent
ae6efcae79
commit
de227ed796
|
@ -1508,11 +1508,20 @@ static int mtk_build_gpiochip(struct mtk_pinctrl *hw, struct device_node *np)
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
ret = gpiochip_add_pin_range(chip, dev_name(hw->dev), 0, 0,
|
/* Just for backward compatible for these old pinctrl nodes without
|
||||||
chip->ngpio);
|
* "gpio-ranges" property. Otherwise, called directly from a
|
||||||
if (ret < 0) {
|
* DeviceTree-supported pinctrl driver is DEPRECATED.
|
||||||
gpiochip_remove(chip);
|
* Please see Section 2.1 of
|
||||||
return ret;
|
* Documentation/devicetree/bindings/gpio/gpio.txt on how to
|
||||||
|
* bind pinctrl and gpio drivers via the "gpio-ranges" property.
|
||||||
|
*/
|
||||||
|
if (!of_find_property(np, "gpio-ranges", NULL)) {
|
||||||
|
ret = gpiochip_add_pin_range(chip, dev_name(hw->dev), 0, 0,
|
||||||
|
chip->ngpio);
|
||||||
|
if (ret < 0) {
|
||||||
|
gpiochip_remove(chip);
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
Loading…
Reference in New Issue