Message ID | 20180817193758.21009-1-aford173@gmail.com |
---|---|
State | Accepted |
Commit | 535f46dad920094df12b2d19f071db2e6a8ae0ab |
Delegated to: | Tom Rini |
Headers | show |
Series | [U-Boot] GPIO: omap_gpio: Fix gpio name names with device tree | expand |
On Fri, Aug 17, 2018 at 02:37:58PM -0500, Adam Ford wrote: > The GPIO bank numbers do not appear in the device tree, so this > patch makes the gpio name based on the address > (ie gpio@49054000_31 vs gpio4_31) > > adam > > Signed-off-by: Adam Ford <aford173@gmail.com> Works for omap3-evm and omap3-beagle-xm. OMAP3_EVM # gpio status Bank gpio@48310000_: gpio@48310000_7: output: 1 [x] OMAP3_EVM # gpio status -a Bank gpio@48310000_: gpio@48310000_0: input: 0 [ ] gpio@48310000_1: input: 0 [ ] gpio@48310000_2: input: 0 [ ] gpio@48310000_3: input: 0 [ ] gpio@48310000_4: input: 0 [ ] gpio@48310000_5: input: 1 [ ] gpio@48310000_6: input: 1 [ ] gpio@48310000_7: output: 1 [x] gpio@48310000_8: input: 0 [ ] gpio@48310000_9: input: 0 [ ] [...] BeagleBoard # gpio status Bank gpio@49056000_: gpio@49056000_19: output: 1 [x] USB PHY1 reset gpio@49056000_21: output: 1 [x] led gpio@49056000_22: output: 1 [x] led Bank gpio@49058000_: gpio@49058000_11: input: 0 [x] rev0 gpio@49058000_12: input: 1 [x] rev1 gpio@49058000_13: input: 0 [x] rev2 BeagleBoard # gpio status -a Bank gpio@48310000_: gpio@48310000_0: input: 0 [ ] gpio@48310000_1: input: 0 [ ] gpio@48310000_2: input: 0 [ ] gpio@48310000_3: input: 0 [ ] gpio@48310000_4: input: 0 [ ] gpio@48310000_5: input: 0 [ ] gpio@48310000_6: input: 0 [ ] gpio@48310000_7: input: 0 [ ] gpio@48310000_8: input: 0 [ ] gpio@48310000_9: input: 0 [ ] [...] Tested-by: Derald D. Woods <woods.technical@gmail.com> > > diff --git a/drivers/gpio/omap_gpio.c b/drivers/gpio/omap_gpio.c > index 651f6994e4..0f1ddeff92 100644 > --- a/drivers/gpio/omap_gpio.c > +++ b/drivers/gpio/omap_gpio.c > @@ -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; > -- > 2.17.1 > > _______________________________________________ > U-Boot mailing list > U-Boot@lists.denx.de > https://lists.denx.de/listinfo/u-boot
On Fri, Aug 17, 2018 at 02:37:58PM -0500, Adam Ford wrote: > The GPIO bank numbers do not appear in the device tree, so this > patch makes the gpio name based on the address > (ie gpio@49054000_31 vs gpio4_31) > > adam > > Signed-off-by: Adam Ford <aford173@gmail.com> > Tested-by: Derald D. Woods <woods.technical@gmail.com> > > diff --git a/drivers/gpio/omap_gpio.c b/drivers/gpio/omap_gpio.c > index 651f6994e4..0f1ddeff92 100644 Applied to u-boot/master, thanks!
diff --git a/drivers/gpio/omap_gpio.c b/drivers/gpio/omap_gpio.c index 651f6994e4..0f1ddeff92 100644 --- a/drivers/gpio/omap_gpio.c +++ b/drivers/gpio/omap_gpio.c @@ -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;
The GPIO bank numbers do not appear in the device tree, so this patch makes the gpio name based on the address (ie gpio@49054000_31 vs gpio4_31) adam Signed-off-by: Adam Ford <aford173@gmail.com>