char *name;
for (j = 0; j < port->pins; j++) {
- if (gpio->soc->prefix)
- name = devm_kasprintf(gpio->gpio.parent, GFP_KERNEL, "%s-P%s.%02x",
- gpio->soc->prefix, port->name, j);
- else
- name = devm_kasprintf(gpio->gpio.parent, GFP_KERNEL, "P%s.%02x",
- port->name, j);
+ name = devm_kasprintf(gpio->gpio.parent, GFP_KERNEL, "%sP%s.%02x",
+ gpio->soc->prefix ?: "", port->name, j);
if (!name)
return -ENOMEM;
.has_vm_support = true,
};
+/* Macro to define GPIO name prefix with separator */
+#define TEGRA_GPIO_PREFIX(_x) _x "-"
+
#define TEGRA410_COMPUTE_GPIO_PORT(_name, _bank, _port, _pins) \
TEGRA_GPIO_PORT(TEGRA410_COMPUTE, _name, _bank, _port, _pins)
.num_ports = ARRAY_SIZE(tegra410_compute_ports),
.ports = tegra410_compute_ports,
.name = "tegra410-gpio-compute",
- .prefix = "COMPUTE",
+ .prefix = TEGRA_GPIO_PREFIX("COMPUTE"),
.num_irqs_per_bank = 8,
.instance = 0,
};
.num_ports = ARRAY_SIZE(tegra410_system_ports),
.ports = tegra410_system_ports,
.name = "tegra410-gpio-system",
- .prefix = "SYSTEM",
+ .prefix = TEGRA_GPIO_PREFIX("SYSTEM"),
.num_irqs_per_bank = 8,
.instance = 0,
};