Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit de227ed7 authored by Sean Wang's avatar Sean Wang Committed by Linus Walleij
Browse files

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: d6ed9355 ("pinctrl: mediatek: add pinctrl driver for MT7622 SoC")
Signed-off-by: default avatarSean Wang <sean.wang@mediatek.com>
Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
parent ae6efcae
Loading
Loading
Loading
Loading
+14 −5
Original line number Diff line number Diff line
@@ -1508,12 +1508,21 @@ static int mtk_build_gpiochip(struct mtk_pinctrl *hw, struct device_node *np)
	if (ret < 0)
		return ret;

	/* Just for backward compatible for these old pinctrl nodes without
	 * "gpio-ranges" property. Otherwise, called directly from a
	 * DeviceTree-supported pinctrl driver is DEPRECATED.
	 * Please see Section 2.1 of
	 * 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;
}