26f6c9a9cf
if an IRQ was not detected, unless the force flag was given. Use this to detect if the IRQ was for us (closer to shared IRQ for controllers which don't have their own IRQ handler in pciide.c) and to poll for DMA xfer. Also makes the timeout recovery code simpler. - ATAPI cleanup: don't call controller-specific functions from atapiconf.c (wdc_*), so that it's possible to attach an atapibus to something else than a wdc/pciide (Hi Lennart :). Overload struct scsi_adapter with struct atapi_adapter, defined as struct scsi_adapter + atapi-specific callbacks. scsipi_link still points to an scsi_adapter, atapi code casts it to atapi_adapter if needed. Move atapi_softc to atapiconf.h so that it can be used by the underlying controller code (e.g. atapi_wdc.c). Add an atapi-specific callback *atapi_probedev(), which probe a drive in a controller-specific way, allocate the sc_link and fills in the ataparams if needed. It then calls atapi_probedev() (from atapiconf.c) to do the generic initialisations and attach the device. - While I'm there merge and centralise the state definitions in atavar.h. It should now be possible to use a common ata/atapi routine to set the drive's modes (will do later). |
||
---|---|---|
bin | ||
dist | ||
distrib | ||
etc | ||
games | ||
gnu | ||
include | ||
lib | ||
libexec | ||
regress | ||
sbin | ||
share | ||
sys | ||
usr.bin | ||
usr.sbin | ||
Makefile |