config_found((struct device *)as, &as->sc_adapterlink, scsiprint);
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 ataparams ids;	struct ataparams *id = &ids;	int drive;	printf("\n");	/* Ouch */	as->valid[0] = as->valid[1] = 0;	as->sc_wdc = (struct wdc_softc *)parent;	as->sc_drvs = aa_link->aa_drv_data;	as->sc_channel = aa_link->aa_channel;	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;	as->sc_wdc->channels[as->sc_channel]->ch_as = as;	for (drive = 0; drive < 2 ; drive++ ) {		struct ata_drive_datas *drvp = &as->sc_drvs[drive];					if ((drvp->drive_flags & DRIVE_ATAPI) &&		    (wdc_atapi_get_params(as, drive,		    SCSI_POLL|SCSI_NOSLEEP, id) == COMPLETE)) {			as->valid[drive] = 1;			/* This is wrong. All the devices on the ATAPI bus			   will be called atapibus by the IDE side of the			   driver. */			drvp->drv_softc = (struct device *)as;			wdc_probe_caps(drvp);			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);		}	}}