summaryrefslogtreecommitdiffstats
path: root/sys/i386/isa/aic6360.c
diff options
context:
space:
mode:
authorwollman <wollman@FreeBSD.org>1995-04-12 20:48:13 +0000
committerwollman <wollman@FreeBSD.org>1995-04-12 20:48:13 +0000
commit6a8d3a357d2d39cf1274d89e9ee73459574e038d (patch)
tree3733f361a8298b0f38c2e4586c976a9240816ec2 /sys/i386/isa/aic6360.c
parent669ed5b46ea62e3997fc8495702ddc9078fa7031 (diff)
downloadFreeBSD-src-6a8d3a357d2d39cf1274d89e9ee73459574e038d.zip
FreeBSD-src-6a8d3a357d2d39cf1274d89e9ee73459574e038d.tar.gz
Add a class field to devconf and mst drivers.
For those where it was easy, drivers were also fixed to call dev_attach() during probe rather than attach (in keeping with the new design articulated in a mail message five months ago). For a few that were really easy, correct state tracking was added as well. The `fd' driver was fixed to correctly fill in the description. The CPU identify code was fixed to attach a `cpu' device. The code was also massively reordered to fill in cpu_model with somethingremotely resembling what identifycpu() prints out. A few bytes saved by using %b to format the features list rather than lots of ifs.
Diffstat (limited to 'sys/i386/isa/aic6360.c')
-rw-r--r--sys/i386/isa/aic6360.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/sys/i386/isa/aic6360.c b/sys/i386/isa/aic6360.c
index 4d648db..daa9885 100644
--- a/sys/i386/isa/aic6360.c
+++ b/sys/i386/isa/aic6360.c
@@ -31,7 +31,7 @@
*/
/*
- * $Id: aic6360.c,v 1.6 1995/03/01 22:30:47 dufault Exp $
+ * $Id: aic6360.c,v 1.7 1995/03/28 07:55:24 bde Exp $
*
* Acknowledgements: Many of the algorithms used in this driver are
* inspired by the work of Julian Elischer (julian@tfs.com) and
@@ -756,8 +756,9 @@ static struct kern_devconf kdc_aic[NAIC] = { {
isa_generic_externalize, 0, 0, ISA_EXTERNALLEN,
&kdc_isa0, /* parent */
0, /* parentdata */
- DC_BUSY, /* host adapters are always busy */
- "Adaptec AIC-6360 SCSI host adapter chipset"
+ DC_UNCONFIGURED, /* start out in unconfig state */
+ "Adaptec AIC-6360 SCSI host adapter chipset",
+ DC_CLS_MISC /* host adapters aren't special */
} };
static inline void
@@ -818,6 +819,9 @@ aicprobe(parent, self, aux)
bzero(aic, sizeof(struct aic_data));
aicdata[unit] = aic;
aic->iobase = dev->id_iobase;
+#ifndef DEV_LKM
+ aic_registerdev(dev);
+#endif /* not DEV_LKM */
if (aic_find(aic) != 0) {
aicdata[unit] = NULL;
@@ -825,7 +829,6 @@ aicprobe(parent, self, aux)
return 0;
}
aicunit++;
- aic_registerdev(dev);
return 0x20;
#else
#ifdef NEWCONFIG
@@ -963,6 +966,7 @@ aicattach(parent, self, aux)
/*
* ask the adapter what subunits are present
*/
+ kdc_aic[unit].kdc_state = DC_BUSY; /* host adapters are always busy */
scsi_attachdevs(&(aic->sc_link));
return 1;
OpenPOWER on IntegriCloud