(wdc_atapi_get_params(chp, drive, SCSI_POLL|SCSI_NOSLEEP, id) == COMPLETE)) {
(wdc_atapi_get_params(chp, drive, id) == COMPLETE)) {
atapiscsi_attach(parent, self, aux)	struct device *parent, *self;	void *aux;{	struct atapiscsi_softc *as = (struct atapiscsi_softc *)self;	struct ata_atapi_attach *aa_link = aux;	struct channel_softc *chp = aa_link->aa_bus_private;	struct ataparams ids;	struct ataparams *id = &ids;	int drive;	printf("\n");	as->chp = chp;	as->sc_adapterlink.adapter_softc = as;	as->sc_adapterlink.adapter_target = 7;	as->sc_adapterlink.adapter_buswidth = 2;	as->sc_adapterlink.adapter = &atapiscsi_switch;	as->sc_adapterlink.device = &atapiscsi_dev;	as->sc_adapterlink.openings = 1;	as->sc_adapterlink.flags = SDEV_ATAPI;	as->sc_adapterlink.quirks = SDEV_NOLUNS;	for (drive = 0; drive < 2 ; drive++ ) {		struct ata_drive_datas *drvp = &chp->ch_drive[drive];					if ((drvp->drive_flags & DRIVE_ATAPI) &&		    (wdc_atapi_get_params(chp, drive,		    SCSI_POLL|SCSI_NOSLEEP, id) == COMPLETE)) {			/* Temporarily, the device will be called			   atapiscsi. */			drvp->drv_softc = (struct device*)as;			wdc_probe_caps(drvp, id);			WDCDEBUG_PRINT(			    ("general config %04x capabilities %04x ",			    id->atap_config, id->atap_capabilities1),			    DEBUG_PROBE);			/* Tape drives do funny DSC stuff */			if (ATAPI_CFG_TYPE(id->atap_config) == 			    ATAPI_CFG_TYPE_SEQUENTIAL)				drvp->atapi_cap |= ACAP_DSC;			if ((id->atap_config & ATAPI_CFG_CMD_MASK) ==			    ATAPI_CFG_CMD_16)				drvp->atapi_cap |= ACAP_LEN;			drvp->atapi_cap |=			    (id->atap_config & ATAPI_CFG_DRQ_MASK);			WDCDEBUG_PRINT(("driver caps %04x\n", drvp->atapi_cap),			    DEBUG_PROBE);		} else			drvp->drive_flags &= ~DRIVE_ATAPI;	}	as->sc_adapterlink.scsibus = (u_int8_t)-1;	config_found((struct device *)as, 		     &as->sc_adapterlink, scsiprint);	if (as->sc_adapterlink.scsibus != (u_int8_t)-1) {		int bus = as->sc_adapterlink.scsibus;		for (drive = 0; drive < 2; drive++) {			extern struct cfdriver scsibus_cd;			struct scsibus_softc *scsi = scsibus_cd.cd_devs[bus];			struct scsi_link *link = scsi->sc_link[drive][0];			struct ata_drive_datas *drvp = &chp->ch_drive[drive];			if (drvp->drv_softc == (struct device *)as && link) {				drvp->drv_softc = link->device_softc;				wdc_print_caps(drvp);			}		}	}}