Skip to contentSkip to conversation

GPIO: omap_gpio: Fix gpio name names with device tree

PATCH In review Adam Ford 3 participants 3 messages Aug 17, 2018 – Sep 18, 2018 GPIO

lore
Share & tools
lore

Adam Ford

author
#0 lore raw

PATCH 1/1 GPIO: omap_gpio: Fix gpio name names with device tree

The GPIO bank numbers do not appear in the device tree, so this patch makes the gpio name based on the address
(ie gpio at 49054000_31 vs gpio4_31)

adam

drivers/gpio/omap_gpio.c +1 -3
index 651f6994e4..0f1ddeff92 100644
@@ -288,11 +288,9 @@ static int omap_gpio_probe(struct udevice *dev)
 	struct gpio_bank *bank = dev_get_priv(dev);
 	struct omap_gpio_platdata *plat = dev_get_platdata(dev);
 	struct gpio_dev_priv *uc_priv = dev_get_uclass_priv(dev);
-	int banknum;
 	char name[18], *str;
 
-	banknum = plat->bank_index;
-	sprintf(name, "GPIO%d_", banknum + 1);
+	sprintf(name, "gpio@%4x_", (unsigned int)plat->base);
 	str = strdup(name);
 	if (!str)
 		return -ENOMEM;
Signature · 1 line
2.17.1
#1 lore raw

PATCH 1/1 GPIO: omap_gpio: Fix gpio name names with device tree

Quoted 7 lines · Adam Ford

The GPIO bank numbers do not appear in the device tree, so this patch makes the gpio name based on the address
(ie gpio at 49054000_31 vs gpio4_31)

adam

Works for omap3-evm and omap3-beagle-xm.

OMAP3_EVM # gpio status
Bank gpio at 48310000_:
gpio at 48310000_7: output: 1 [x] OMAP3_EVM # gpio status -a
Bank gpio at 48310000_:
gpio at 48310000_0: input: 0 [ ] gpio at 48310000_1: input: 0 [ ] gpio at 48310000_2: input: 0 [ ] gpio at 48310000_3: input: 0 [ ] gpio at 48310000_4: input: 0 [ ] gpio at 48310000_5: input: 1 [ ] gpio at 48310000_6: input: 1 [ ] gpio at 48310000_7: output: 1 [x] gpio at 48310000_8: input: 0 [ ] gpio at 48310000_9: input: 0 [ ] [...]

BeagleBoard # gpio status
Bank gpio at 49056000_:
gpio at 49056000_19: output: 1 [x] USB PHY1 reset gpio at 49056000_21: output: 1 [x] led gpio at 49056000_22: output: 1 [x] led

Bank gpio at 49058000_:
gpio at 49058000_11: input: 0 [x] rev0 gpio at 49058000_12: input: 1 [x] rev1 gpio at 49058000_13: input: 0 [x] rev2 BeagleBoard # gpio status -a Bank gpio at 48310000_:
gpio at 48310000_0: input: 0 [ ] gpio at 48310000_1: input: 0 [ ] gpio at 48310000_2: input: 0 [ ] gpio at 48310000_3: input: 0 [ ] gpio at 48310000_4: input: 0 [ ] gpio at 48310000_5: input: 0 [ ] gpio at 48310000_6: input: 0 [ ] gpio at 48310000_7: input: 0 [ ] gpio at 48310000_8: input: 0 [ ] gpio at 48310000_9: input: 0 [ ] [...]

Quoted 25 lines
drivers/gpio/omap_gpio.c +1 -3
index 651f6994e4..0f1ddeff92 100644
@@ -288,11 +288,9 @@ static int omap_gpio_probe(struct udevice *dev)
 	struct gpio_bank *bank = dev_get_priv(dev);
 	struct omap_gpio_platdata *plat = dev_get_platdata(dev);
 	struct gpio_dev_priv *uc_priv = dev_get_uclass_priv(dev);
-	int banknum;
 	char name[18], *str;
 
-	banknum = plat->bank_index;
-	sprintf(name, "GPIO%d_", banknum + 1);
+	sprintf(name, "gpio@%4x_", (unsigned int)plat->base);
 	str = strdup(name);
 	if (!str)
 		return -ENOMEM;
Signature · 6 lines
2.17.1

_______________________________________________
U-Boot mailing list
U-Boot at lists.denx.de
https://lists.denx.de/listinfo/u-boot
#2 lore raw
In reply to Adam Ford

drivers/gpio/omap_gpio.c

Quoted 11 lines · Adam Ford

The GPIO bank numbers do not appear in the device tree, so this patch makes the gpio name based on the address
(ie gpio at 49054000_31 vs gpio4_31)

adam

drivers/gpio/omap_gpio.c +0 -0
index 651f6994e4..0f1ddeff92 100644

Applied to u-boot/master, thanks!

Signature · 8 lines
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20180918/cd2a67bb/attachment.sig>