summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys/dev/gpio/gpiobus.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/sys/dev/gpio/gpiobus.c b/sys/dev/gpio/gpiobus.c
index bf5632b42c80..3d6a6cfe4bdf 100644
--- a/sys/dev/gpio/gpiobus.c
+++ b/sys/dev/gpio/gpiobus.c
@@ -394,9 +394,14 @@ gpiobus_print_child(device_t dev, device_t child)
devi = GPIOBUS_IVAR(child);
memset(pins, 0, sizeof(pins));
retval += bus_print_child_header(dev, child);
- retval += printf(" at pin(s) ");
- gpiobus_print_pins(devi, pins, sizeof(pins));
- retval += printf("%s", pins);
+ if (devi->npins > 0) {
+ if (devi->npins > 1)
+ retval += printf(" at pins ");
+ else
+ retval += printf(" at pin ");
+ gpiobus_print_pins(devi, pins, sizeof(pins));
+ retval += printf("%s", pins);
+ }
resource_list_print_type(&devi->rl, "irq", SYS_RES_IRQ, "%ld");
retval += bus_print_child_footer(dev, child);