DPRINTF(("%s: detach %s\n", __func__, sc->sc_bus->dv_xname));
DPRINTF(("%s: detach %s\n", __func__, dev->dv_xname));
fwscsi_detach(struct device *self, int flags){	struct fwscsi_softc *sc = (struct fwscsi_softc *)self;	struct fwnode_softc *fwsc =	    (struct fwnode_softc *)sc->sc_dev.dv_parent;	struct device *dev = (struct device *)sc->sc_bus;	int s, rv;	DPRINTF(("%s: cpl = %d(%08x)\n", __func__, cpl, cpl));	rv = 0;	if (sc->sc_bus) {		DPRINTF(("%s: detach %s\n", __func__,		    sc->sc_bus->dv_xname));		s = splbio();		rv += config_detach(dev, flags);		splx(s);	}	if (sc->sc_unitdir) {		sbp2_clean(fwsc, *sc->sc_unitdir, 0);		free(sc->sc_unitdir, M_DEVBUF);		MPRINTF("free(DEVBUF)", sc->sc_unitdir);		sc->sc_unitdir = NULL;	/* XXX */	}	return (rv);}