sc->sc_sc1394.sc1394_link_speed = fwa->link_speed;
fwnode_attach(struct device *parent, struct device *self, void *aux){	struct fwnode_softc *sc = (struct fwnode_softc *)self;	struct ieee1394_softc *psc = (struct ieee1394_softc *)parent;	struct ieee1394_attach_args *fwa = aux;	struct ieee1394_abuf *ab;#ifdef M_ZERO	MALLOC(ab, struct ieee1394_abuf *, sizeof(*ab),	    M_1394DATA, M_WAITOK|M_ZERO);	MPRINTF("MALLOC(1394DATA)", ab);#else	MALLOC(ab, struct ieee1394_abuf *, sizeof(*ab), M_1394DATA, M_WAITOK);	MPRINTF("MALLOC(1394DATA)", ab);	bzero(ab, sizeof(*ab));#endif	ab->ab_data = malloc(4, M_1394DATA, M_WAITOK);	MPRINTF("malloc(1394DATA)", ab->ab_data);	ab->ab_data[0] = 0;	sc->sc_sc1394.sc1394_node_id = fwa->nodeid;	memcpy(sc->sc_sc1394.sc1394_guid, fwa->uid, 8);	sc->sc1394_read = fwa->read;	sc->sc1394_write = fwa->write;	sc->sc1394_inreg = fwa->inreg;	sc->sc1394_unreg = fwa->unreg;	/* XXX. Fix the fw code to use the generic routines. */	sc->sc_sc1394.sc1394_ifinreg = psc->sc1394_ifinreg;	sc->sc_sc1394.sc1394_ifoutput = psc->sc1394_ifoutput;	printf(" Node %d: UID %02x:%02x:%02x:%02x:%02x:%02x:%02x:%02x\n",	    sc->sc_sc1394.sc1394_node_id,	    sc->sc_sc1394.sc1394_guid[0], sc->sc_sc1394.sc1394_guid[1],	    sc->sc_sc1394.sc1394_guid[2], sc->sc_sc1394.sc1394_guid[3],	    sc->sc_sc1394.sc1394_guid[4], sc->sc_sc1394.sc1394_guid[5],	    sc->sc_sc1394.sc1394_guid[6], sc->sc_sc1394.sc1394_guid[7]);	ab->ab_req = (struct ieee1394_softc *)sc;	ab->ab_addr = CSR_BASE + CSR_CONFIG_ROM;	ab->ab_length = 4;	ab->ab_retlen = 0;	ab->ab_cbarg = NULL;	ab->ab_cb = fwnode_configrom_input;	sc->sc1394_read(ab);}