Previously, if there was no bank-name property, it was easy to have
confusing gpio names like "gpio1@08", instead of "gpio1@0_8". This patch
follows the example of the sifive gpio driver.

Signed-off-by: Sean Anderson <sean...@gmail.com>
---
This patch was previously submitted as part of
https://patchwork.ozlabs.org/project/uboot/list/?series=161576

 drivers/gpio/dwapb_gpio.c | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/drivers/gpio/dwapb_gpio.c b/drivers/gpio/dwapb_gpio.c
index 56dcad36f0..09abab5c39 100644
--- a/drivers/gpio/dwapb_gpio.c
+++ b/drivers/gpio/dwapb_gpio.c
@@ -184,7 +184,15 @@ static int gpio_dwapb_bind(struct udevice *dev)
                         * Fall back to node name. This means accessing pins
                         * via bank name won't work.
                         */
-                       plat->name = ofnode_get_name(node);
+                       char name[32];
+
+                       snprintf(name, sizeof(name), "%s_",
+                                ofnode_get_name(node));
+                       plat->name = strdup(name);
+                       if (!plat->name) {
+                               kfree(plat);
+                               return -ENOMEM;
+                       }
                }
 
                ret = device_bind_ofnode(dev, dev->driver, plat->name,
-- 
2.25.0

Reply via email to