瀏覽代碼

gpio: omap_gpio: Name GPIO's by bank and index with DM_GPIO

There are multiple GPIO banks with up to 32 pins / bank. When
using 'gpio status -a' to read the pins, this patch displays
both GPIO<bank>_<index> similar to how the device trees
display in addition to displaying  gpio_#

Signed-off-by: Adam Ford <aford173@gmail.com>
Adam Ford 7 年之前
父節點
當前提交
b4c3fb087b
共有 1 個文件被更改,包括 8 次插入2 次删除
  1. 8 2
      drivers/gpio/omap_gpio.c

+ 8 - 2
drivers/gpio/omap_gpio.c

@@ -288,11 +288,17 @@ 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;
 
-	uc_priv->bank_name = plat->port_name;
+	banknum = plat->bank_index;
+	sprintf(name, "GPIO%d_", banknum + 1);
+	str = strdup(name);
+	if (!str)
+		return -ENOMEM;
+	uc_priv->bank_name = str;
 	uc_priv->gpio_count = GPIO_PER_BANK;
 	bank->base = (void *)plat->base;
-
 	return 0;
 }