this makes the thing calling ohci_checkrev responsible for the preceding separator and white space. it helps ohci at fdt were we don't print an interrupt string out, it just follows the attach point.
this is extremely lightly tested, so eyes are welcome. ok? Index: arch/loongson/dev/ohci_voyager.c =================================================================== RCS file: /cvs/src/sys/arch/loongson/dev/ohci_voyager.c,v retrieving revision 1.6 diff -u -p -r1.6 ohci_voyager.c --- arch/loongson/dev/ohci_voyager.c 19 May 2014 13:11:31 -0000 1.6 +++ arch/loongson/dev/ohci_voyager.c 5 Jan 2019 00:04:13 -0000 @@ -130,7 +130,7 @@ ohci_voyager_attach(struct device *paren splx(s); return; } - printf(": %s", voyager_intr_string(sc->sc_ih)); + printf(": %s, ", voyager_intr_string(sc->sc_ih)); /* Figure out vendor for root hub descriptor. */ vendor = pci_findvendor(pa->pa_id); Index: arch/octeon/dev/octohci.c =================================================================== RCS file: /cvs/src/sys/arch/octeon/dev/octohci.c,v retrieving revision 1.3 diff -u -p -r1.3 octohci.c --- arch/octeon/dev/octohci.c 13 Aug 2017 14:46:04 -0000 1.3 +++ arch/octeon/dev/octohci.c 5 Jan 2019 00:04:13 -0000 @@ -96,6 +96,8 @@ octohci_attach(struct device *parent, st (void *)&sc->sc_ohci, sc->sc_ohci.sc_bus.bdev.dv_xname); KASSERT(sc->sc_ih != NULL); + printf(", "); + if ((ohci_checkrev(&sc->sc_ohci) != USBD_NORMAL_COMPLETION) || (ohci_handover(&sc->sc_ohci) != USBD_NORMAL_COMPLETION)) goto failed; Index: dev/cardbus/ohci_cardbus.c =================================================================== RCS file: /cvs/src/sys/dev/cardbus/ohci_cardbus.c,v retrieving revision 1.21 diff -u -p -r1.21 ohci_cardbus.c --- dev/cardbus/ohci_cardbus.c 14 Mar 2015 03:38:47 -0000 1.21 +++ dev/cardbus/ohci_cardbus.c 5 Jan 2019 00:04:13 -0000 @@ -135,7 +135,7 @@ ohci_cardbus_attach(struct device *paren printf(": couldn't establish interrupt\n"); return; } - printf(": irq %d", ca->ca_intrline); + printf(": irq %d, ", ca->ca_intrline); /* Figure out vendor for root hub descriptor. */ vendor = cardbus_findvendor(ca->ca_id); Index: dev/fdt/ohci_fdt.c =================================================================== RCS file: /cvs/src/sys/dev/fdt/ohci_fdt.c,v retrieving revision 1.1 diff -u -p -r1.1 ohci_fdt.c --- dev/fdt/ohci_fdt.c 4 Jan 2019 23:55:29 -0000 1.1 +++ dev/fdt/ohci_fdt.c 5 Jan 2019 00:04:13 -0000 @@ -117,7 +117,7 @@ ohci_fdt_attach(struct device *parent, s printf(": can't establish interrupt\n"); goto disable_clocks; } - printf(": fdt"); + printf(": "); strlcpy(sc->sc.sc_vendor, "Generic", sizeof(sc->sc.sc_vendor)); Index: dev/pci/ohci_pci.c =================================================================== RCS file: /cvs/src/sys/dev/pci/ohci_pci.c,v retrieving revision 1.40 diff -u -p -r1.40 ohci_pci.c --- dev/pci/ohci_pci.c 16 May 2014 18:17:03 -0000 1.40 +++ dev/pci/ohci_pci.c 5 Jan 2019 00:04:13 -0000 @@ -141,7 +141,7 @@ ohci_pci_attach(struct device *parent, s splx(s); return; } - printf(": %s", intrstr); + printf(": %s, ", intrstr); /* Figure out vendor for root hub descriptor. */ vendor = pci_findvendor(pa->pa_id); Index: dev/usb/ohci.c =================================================================== RCS file: /cvs/src/sys/dev/usb/ohci.c,v retrieving revision 1.154 diff -u -p -r1.154 ohci.c --- dev/usb/ohci.c 18 Nov 2018 16:24:05 -0000 1.154 +++ dev/usb/ohci.c 5 Jan 2019 00:04:13 -0000 @@ -656,9 +656,8 @@ ohci_checkrev(struct ohci_softc *sc) { u_int32_t rev; - printf(","); rev = OREAD4(sc, OHCI_REVISION); - printf(" version %d.%d%s\n", OHCI_REV_HI(rev), OHCI_REV_LO(rev), + printf("version %d.%d%s\n", OHCI_REV_HI(rev), OHCI_REV_LO(rev), OHCI_REV_LEGACY(rev) ? ", legacy support" : ""); if (OHCI_REV_HI(rev) != 1 || OHCI_REV_LO(rev) != 0) {