[PATCH 02/24] pinctrl: stm32: use gpio-ranges instead of alias

Ahmad Fatoum a.fatoum at pengutronix.de
Sun Feb 20 04:47:14 PST 2022


Upstream device tree doesn't feature aliases and we don't really need
it, as the gpio-ranges property has a GPIO controller offset cell.
Use it instead.

Signed-off-by: Ahmad Fatoum <a.fatoum at pengutronix.de>
---
 arch/arm/dts/stm32mp151.dtsi    | 12 ------------
 drivers/pinctrl/pinctrl-stm32.c | 14 ++------------
 2 files changed, 2 insertions(+), 24 deletions(-)

diff --git a/arch/arm/dts/stm32mp151.dtsi b/arch/arm/dts/stm32mp151.dtsi
index f1fd888fa1c6..aac2907bc6b5 100644
--- a/arch/arm/dts/stm32mp151.dtsi
+++ b/arch/arm/dts/stm32mp151.dtsi
@@ -1,18 +1,6 @@
 
 / {
 	aliases {
-		gpio0 = &gpioa;
-		gpio1 = &gpiob;
-		gpio2 = &gpioc;
-		gpio3 = &gpiod;
-		gpio4 = &gpioe;
-		gpio5 = &gpiof;
-		gpio6 = &gpiog;
-		gpio7 = &gpioh;
-		gpio8 = &gpioi;
-		gpio9 = &gpioj;
-		gpio10 = &gpiok;
-		gpio25 = &gpioz;
 		mmc0 = &sdmmc1;
 		mmc1 = &sdmmc2;
 		mmc2 = &sdmmc3;
diff --git a/drivers/pinctrl/pinctrl-stm32.c b/drivers/pinctrl/pinctrl-stm32.c
index ceaa4254c4d0..cee10636cef9 100644
--- a/drivers/pinctrl/pinctrl-stm32.c
+++ b/drivers/pinctrl/pinctrl-stm32.c
@@ -303,7 +303,7 @@ static int stm32_gpiochip_add(struct stm32_gpio_bank *bank,
 	enum { PINCTRL_PHANDLE, GPIOCTRL_OFFSET, PINCTRL_OFFSET, PINCOUNT, GPIO_RANGE_NCELLS };
 	const __be32 *gpio_ranges;
 	u32 ngpios;
-	int id, ret, size;
+	int ret, size;
 
 	dev = of_platform_device_create(np, parent);
 	if (!dev)
@@ -347,17 +347,7 @@ static int stm32_gpiochip_add(struct stm32_gpio_bank *bank,
 
 	bank->base = IOMEM(iores->start);
 
-	if (dev->id >= 0) {
-		id = dev->id;
-	} else {
-		id = of_alias_get_id(np, "gpio");
-		if (id < 0) {
-			dev_err(dev, "Failed to get GPIO alias\n");
-			return id;
-		}
-	}
-
-	bank->chip.base = id * STM32_GPIO_PINS_PER_BANK;
+	bank->chip.base = be32_to_cpu(gpio_ranges[PINCTRL_OFFSET]);
 	bank->chip.ops  = &stm32_gpio_ops;
 	bank->chip.dev  = dev;
 	bank->clk = clk_get(dev, NULL);
-- 
2.30.2




More information about the barebox mailing list