Index: arch/i386/i386/conf.c
===================================================================
RCS file: /cvs/src/sys/arch/i386/i386/conf.c,v
retrieving revision 1.115
diff -u -r1.115 conf.c
--- arch/i386/i386/conf.c	2007/02/06 22:39:13	1.115
+++ arch/i386/i386/conf.c	2007/08/27 15:29:47
@@ -178,6 +178,8 @@
 #include "gpr.h"
 #include "nvram.h"
 cdev_decl(nvram);
+#include "aac.h"
+cdev_decl(aac);
 
 /* XXX -- this needs to be supported by config(8)! */
 #if (NCOM > 0) && (NPCCOM > 0)
@@ -310,6 +312,7 @@
 	cdev_gpio_init(NGPIO,gpio),	/* 83: GPIO interface */
 	cdev_nvram_init(NNVRAM,nvram),	/* 84: NVRAM interface */
 	cdev_acpi_init(NACPI,acpi),	/* 85: ACPI */
+	cdev_usb_init(NAAC,aac),	/* 86: Adaptec aac management */
 };
 int	nchrdev = sizeof(cdevsw) / sizeof(cdevsw[0]);
 
Index: dev/ic/aac.c
===================================================================
RCS file: /cvs/src/sys/dev/ic/aac.c,v
retrieving revision 1.34
diff -u -r1.34 aac.c
--- dev/ic/aac.c	2006/12/18 14:44:33	1.34
+++ dev/ic/aac.c	2007/08/27 15:29:57
@@ -280,6 +280,16 @@
 
 	config_found(&sc->aac_dev, &saa, scsiprint);
 
+#if NAAC > 0
+ 	/*
+	 * Now that the device is all set up, add it to the device
+	 * table so that the management interface can access it.
+	 * Currently, the number of units is hardcoded to simplify things.
+ 	 */
+	if (sc->aac_dev.dv_unit >= 0 && sc->aac_dev.dv_unit < AAC_MAXUNITS)
+		aac_table[sc->aac_dev.dv_unit] = sc;
+#endif
+
 	/* Create the AIF thread */
 	sc->aifthread = 0;
 	sc->aifflags = 0;
Index: dev/ic/aacvar.h
===================================================================
RCS file: /cvs/src/sys/dev/ic/aacvar.h,v
retrieving revision 1.7
diff -u -r1.7 aacvar.h
--- dev/ic/aacvar.h	2006/05/07 20:12:41	1.7
+++ dev/ic/aacvar.h	2007/08/27 15:29:57
@@ -30,6 +30,9 @@
  *	$FreeBSD: /c/ncvs/src/sys/dev/aac/aacvar.h,v 1.1 2000/09/13 03:20:34 msmith Exp $
  */
 
+#ifndef _AACVAR_H_
+#define _AACVAR_H_
+
 /*
  * This driver would not have rewritten for OpenBSD if it was not for the
  * hardware donation from Nocom.  I want to thank them for their support.
@@ -437,6 +440,11 @@
 extern int	aac_sync_fib(struct aac_softc *, u_int32_t, u_int32_t, 
 			     struct aac_fib *, u_int16_t);
 
+#if NAAC > 0
+#define AAC_MAXUNITS 16
+struct aac_softc *aac_table[AAC_MAXUNITS];
+#endif
+
 void	aacminphys(struct buf *);
 int	aac_attach(struct aac_softc *);
 int	aac_intr(void *);
@@ -595,3 +603,5 @@
 	sc->aac_common->ac_printf[0] = 0;
 	AAC_QNOTIFY(sc, AAC_DB_PRINTF);
 }
+
+#endif	/* _AACVAR_H_ */
Index: dev/pci/files.pci
===================================================================
RCS file: /cvs/src/sys/dev/pci/files.pci,v
retrieving revision 1.226
diff -u -r1.226 files.pci
--- dev/pci/files.pci	2007/02/24 20:18:08	1.226
+++ dev/pci/files.pci	2007/08/27 15:29:58
@@ -189,6 +189,7 @@
 attach	aac at pci with aac_pci
 file	dev/pci/aac_pci.c		aac_pci
 file	dev/ic/aac.c			aac
+file	dev/ic/aac_mgmt.c		aac		needs-flag
 
 # Compaq Smart ARRAY [234]* RAID controllers
 attach	cac at pci with cac_pci
