Module Name:    src
Committed By:   pooka
Date:           Mon Mar  8 10:24:37 UTC 2010

Modified Files:
        src/sys/rump/dev: files.rump
        src/sys/rump/dev/lib/libucom: UCOM.ioconf ucom_at_usb.c
        src/sys/rump/dev/lib/libugenhc: Makefile
        src/sys/rump/dev/lib/libumass: UMASS.ioconf sd_at_scsibus_at_umass.c
        src/sys/rump/dev/lib/libusb: Makefile
        src/sys/rump/librump/rumpdev: autoconf.c rump_dev.c
Added Files:
        src/sys/rump/dev/lib/libugenhc: UGENHC.ioconf ugenhc_at_mainbus.c
        src/sys/rump/dev/lib/libusb: USB.ioconf usb_at_ugenhc.c
Removed Files:
        src/sys/rump/dev/lib/libusb: locators.h

Log Message:
Use config pseudo-root keyword instead of monolithic configurations
starting from root.


To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 src/sys/rump/dev/files.rump
cvs rdiff -u -r1.3 -r1.4 src/sys/rump/dev/lib/libucom/UCOM.ioconf
cvs rdiff -u -r1.4 -r1.5 src/sys/rump/dev/lib/libucom/ucom_at_usb.c
cvs rdiff -u -r1.1 -r1.2 src/sys/rump/dev/lib/libugenhc/Makefile
cvs rdiff -u -r0 -r1.1 src/sys/rump/dev/lib/libugenhc/UGENHC.ioconf \
    src/sys/rump/dev/lib/libugenhc/ugenhc_at_mainbus.c
cvs rdiff -u -r1.2 -r1.3 src/sys/rump/dev/lib/libumass/UMASS.ioconf \
    src/sys/rump/dev/lib/libumass/sd_at_scsibus_at_umass.c
cvs rdiff -u -r1.3 -r1.4 src/sys/rump/dev/lib/libusb/Makefile
cvs rdiff -u -r0 -r1.1 src/sys/rump/dev/lib/libusb/USB.ioconf \
    src/sys/rump/dev/lib/libusb/usb_at_ugenhc.c
cvs rdiff -u -r1.1 -r0 src/sys/rump/dev/lib/libusb/locators.h
cvs rdiff -u -r1.5 -r1.6 src/sys/rump/librump/rumpdev/autoconf.c
cvs rdiff -u -r1.17 -r1.18 src/sys/rump/librump/rumpdev/rump_dev.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/rump/dev/files.rump
diff -u src/sys/rump/dev/files.rump:1.1 src/sys/rump/dev/files.rump:1.2
--- src/sys/rump/dev/files.rump:1.1	Fri Feb 12 04:20:51 2010
+++ src/sys/rump/dev/files.rump	Mon Mar  8 10:24:37 2010
@@ -1,24 +1,8 @@
-#	$NetBSD: files.rump,v 1.1 2010/02/12 04:20:51 pooka Exp $
+#	$NetBSD: files.rump,v 1.2 2010/03/08 10:24:37 pooka Exp $
 #
 
 device mainbus { }
 attach mainbus at root
+
 device ugenhc: usbus, usbroothub
 attach ugenhc at mainbus
-
-# ugen0 - ugen3
-mainbus0 at root
-ugenhc0 at mainbus0
-ugenhc1 at mainbus0
-ugenhc2 at mainbus0
-ugenhc3 at mainbus0
-
-# USB bus support
-usb*    at ugenhc?
-
-# USB ROOT Hub
-#
-# Do *NOT* configure uhub @ uhub.
-# That is not compatible with ugen.
-#
-uhub*   at usb?

Index: src/sys/rump/dev/lib/libucom/UCOM.ioconf
diff -u src/sys/rump/dev/lib/libucom/UCOM.ioconf:1.3 src/sys/rump/dev/lib/libucom/UCOM.ioconf:1.4
--- src/sys/rump/dev/lib/libucom/UCOM.ioconf:1.3	Mon Mar  1 11:34:27 2010
+++ src/sys/rump/dev/lib/libucom/UCOM.ioconf	Mon Mar  8 10:24:37 2010
@@ -1,4 +1,4 @@
-#	$NetBSD: UCOM.ioconf,v 1.3 2010/03/01 11:34:27 pooka Exp $
+#	$NetBSD: UCOM.ioconf,v 1.4 2010/03/08 10:24:37 pooka Exp $
 #
 
 ioconf ucom
@@ -7,6 +7,8 @@
 include "dev/usb/files.usb"
 include "rump/dev/files.rump"
 
+pseudo-root uhub*
+
 # I/O DATA USB-RSAQ2 serial adapter
 uplcom*	at uhub?
 ucom*	at uplcom? portno ?

Index: src/sys/rump/dev/lib/libucom/ucom_at_usb.c
diff -u src/sys/rump/dev/lib/libucom/ucom_at_usb.c:1.4 src/sys/rump/dev/lib/libucom/ucom_at_usb.c:1.5
--- src/sys/rump/dev/lib/libucom/ucom_at_usb.c:1.4	Sun Mar  7 17:44:40 2010
+++ src/sys/rump/dev/lib/libucom/ucom_at_usb.c	Mon Mar  8 10:24:37 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: ucom_at_usb.c,v 1.4 2010/03/07 17:44:40 pooka Exp $	*/
+/*	$NetBSD: ucom_at_usb.c,v 1.5 2010/03/08 10:24:37 pooka Exp $	*/
 
 #include <sys/param.h>
 #include <sys/types.h>
@@ -29,15 +29,6 @@
 
 	FLAWLESSCALL(config_cfdata_attach(cfdata_ucom, 0));
 
-	FLAWLESSCALL(config_cfdriver_attach(&mainbus_cd));
-	FLAWLESSCALL(config_cfattach_attach("mainbus", &mainbus_ca));
-
-	FLAWLESSCALL(config_cfdriver_attach(&ugenhc_cd));
-	FLAWLESSCALL(config_cfattach_attach("ugenhc", &ugenhc_ca));
-
-	FLAWLESSCALL(config_cfdriver_attach(&usb_cd));
-	FLAWLESSCALL(config_cfattach_attach("usb", &usb_ca));
-
 	FLAWLESSCALL(config_cfdriver_attach(&uplcom_cd));
 	FLAWLESSCALL(config_cfattach_attach("uplcom", &uplcom_ca));
 
@@ -50,9 +41,6 @@
 	FLAWLESSCALL(config_cfdriver_attach(&ucom_cd));
 	FLAWLESSCALL(config_cfattach_attach("ucom", &ucom_ca));
 
-	FLAWLESSCALL(config_cfdriver_attach(&uhub_cd));
-	FLAWLESSCALL(config_cfattach_attach("uhub", &uroothub_ca));
-
 	bmaj = cmaj = -1;
 	FLAWLESSCALL(devsw_attach("ucom", NULL, &bmaj, &ucom_cdevsw, &cmaj));
 

Index: src/sys/rump/dev/lib/libugenhc/Makefile
diff -u src/sys/rump/dev/lib/libugenhc/Makefile:1.1 src/sys/rump/dev/lib/libugenhc/Makefile:1.2
--- src/sys/rump/dev/lib/libugenhc/Makefile:1.1	Thu Feb 11 02:22:09 2010
+++ src/sys/rump/dev/lib/libugenhc/Makefile	Mon Mar  8 10:24:37 2010
@@ -1,9 +1,10 @@
-#	$NetBSD: Makefile,v 1.1 2010/02/11 02:22:09 pooka Exp $
+#	$NetBSD: Makefile,v 1.2 2010/03/08 10:24:37 pooka Exp $
 #
 
 LIB=	rumpdev_ugenhc
+IOCONF= UGENHC.ioconf
 
-SRCS=	ugenhc.c
+SRCS=	ugenhc.c ugenhc_at_mainbus.c
 
 CPPFLAGS+=	-I${RUMPTOP}/librump/rumpkern
 

Index: src/sys/rump/dev/lib/libumass/UMASS.ioconf
diff -u src/sys/rump/dev/lib/libumass/UMASS.ioconf:1.2 src/sys/rump/dev/lib/libumass/UMASS.ioconf:1.3
--- src/sys/rump/dev/lib/libumass/UMASS.ioconf:1.2	Fri Feb 12 04:20:51 2010
+++ src/sys/rump/dev/lib/libumass/UMASS.ioconf	Mon Mar  8 10:24:37 2010
@@ -1,4 +1,4 @@
-#	$NetBSD: UMASS.ioconf,v 1.2 2010/02/12 04:20:51 pooka Exp $
+#	$NetBSD: UMASS.ioconf,v 1.3 2010/03/08 10:24:37 pooka Exp $
 #
 
 #
@@ -15,6 +15,8 @@
 include "dev/scsipi/files.scsipi"
 include "rump/dev/files.rump"
 
+pseudo-root uhub*
+
 # USB Mass Storage
 umass*	at uhub? port ? configuration ? interface ?
 
Index: src/sys/rump/dev/lib/libumass/sd_at_scsibus_at_umass.c
diff -u src/sys/rump/dev/lib/libumass/sd_at_scsibus_at_umass.c:1.2 src/sys/rump/dev/lib/libumass/sd_at_scsibus_at_umass.c:1.3
--- src/sys/rump/dev/lib/libumass/sd_at_scsibus_at_umass.c:1.2	Mon Mar  1 13:12:20 2010
+++ src/sys/rump/dev/lib/libumass/sd_at_scsibus_at_umass.c	Mon Mar  8 10:24:37 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: sd_at_scsibus_at_umass.c,v 1.2 2010/03/01 13:12:20 pooka Exp $	*/
+/*	$NetBSD: sd_at_scsibus_at_umass.c,v 1.3 2010/03/08 10:24:37 pooka Exp $	*/
 
 #include <sys/param.h>
 #include <sys/conf.h>
@@ -21,8 +21,7 @@
 
 RUMP_COMPONENT(RUMP_COMPONENT_DEV)
 {
-	extern struct cfattach ugenhc_ca;
-	extern struct cfattach usb_ca, uhub_ca, uroothub_ca, umass_ca;
+	extern struct cfattach umass_ca;
 	extern struct cfattach scsibus_ca, atapibus_ca, sd_ca, cd_ca;
 	extern struct bdevsw sd_bdevsw, cd_bdevsw;
 	extern struct cdevsw sd_cdevsw, cd_cdevsw;
@@ -30,18 +29,6 @@
 
 	FLAWLESSCALL(config_cfdata_attach(cfdata_umass, 0));
 
-	FLAWLESSCALL(config_cfdriver_attach(&mainbus_cd));
-	FLAWLESSCALL(config_cfattach_attach("mainbus", &mainbus_ca));
-
-	FLAWLESSCALL(config_cfdriver_attach(&ugenhc_cd));
-	FLAWLESSCALL(config_cfattach_attach("ugenhc", &ugenhc_ca));
-
-	FLAWLESSCALL(config_cfdriver_attach(&usb_cd));
-	FLAWLESSCALL(config_cfattach_attach("usb", &usb_ca));
-
-	FLAWLESSCALL(config_cfdriver_attach(&uhub_cd));
-	FLAWLESSCALL(config_cfattach_attach("uhub", &uhub_ca));
-
 	FLAWLESSCALL(config_cfdriver_attach(&umass_cd));
 	FLAWLESSCALL(config_cfattach_attach("umass", &umass_ca));
 
@@ -57,8 +44,6 @@
 	FLAWLESSCALL(config_cfdriver_attach(&cd_cd));
 	FLAWLESSCALL(config_cfattach_attach("cd", &cd_ca));
 
-	FLAWLESSCALL(config_cfattach_attach("uhub", &uroothub_ca));
-
 	bmaj = cmaj = -1;
 	FLAWLESSCALL(devsw_attach("sd", &sd_bdevsw, &bmaj, &sd_cdevsw, &cmaj));
 

Index: src/sys/rump/dev/lib/libusb/Makefile
diff -u src/sys/rump/dev/lib/libusb/Makefile:1.3 src/sys/rump/dev/lib/libusb/Makefile:1.4
--- src/sys/rump/dev/lib/libusb/Makefile:1.3	Tue Feb 16 20:42:45 2010
+++ src/sys/rump/dev/lib/libusb/Makefile	Mon Mar  8 10:24:37 2010
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile,v 1.3 2010/02/16 20:42:45 pooka Exp $
+#	$NetBSD: Makefile,v 1.4 2010/03/08 10:24:37 pooka Exp $
 #
 
 .PATH:	${.CURDIR}/../../../../dev/usb
@@ -6,8 +6,11 @@
 LIB=	rumpdev_usb
 
 .if ${MACHINE} == "i386"
+IOCONF= USB.ioconf
+
 SRCS=	usb.c usbdi.c usbdi_util.c usb_mem.c usb_subr.c usb_quirks.c	\
 	uhub.c usbroothub_subr.c
+SRCS+=	usb_at_ugenhc.c
 .else
 SRCS=	dummy.c
 .endif

Index: src/sys/rump/librump/rumpdev/autoconf.c
diff -u src/sys/rump/librump/rumpdev/autoconf.c:1.5 src/sys/rump/librump/rumpdev/autoconf.c:1.6
--- src/sys/rump/librump/rumpdev/autoconf.c:1.5	Wed Feb  3 21:35:22 2010
+++ src/sys/rump/librump/rumpdev/autoconf.c	Mon Mar  8 10:24:37 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: autoconf.c,v 1.5 2010/02/03 21:35:22 pooka Exp $	*/
+/*	$NetBSD: autoconf.c,v 1.6 2010/03/08 10:24:37 pooka Exp $	*/
 
 /*
  * Copyright (c) 2009 Antti Kantee.  All Rights Reserved.
@@ -26,7 +26,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: autoconf.c,v 1.5 2010/02/03 21:35:22 pooka Exp $");
+__KERNEL_RCSID(0, "$NetBSD: autoconf.c,v 1.6 2010/03/08 10:24:37 pooka Exp $");
 
 #include <sys/param.h>
 #include <sys/device.h>
@@ -55,6 +55,17 @@
 	NULL
 };
 
+static const struct cfiattrdata mainbuscf_iattrdata = {
+	"mainbus", 0, {
+		{ NULL, NULL, 0 },
+	}
+};
+static const struct cfiattrdata * const mainbus_attrs[] = {
+	&mainbuscf_iattrdata,
+	NULL
+};
+CFDRIVER_DECL(mainbus, DV_DULL, mainbus_attrs);
+
 CFATTACH_DECL_NEW(mainbus, sizeof(struct mainbus_softc),
 	mainbus_match, mainbus_attach, NULL, NULL);
 

Index: src/sys/rump/librump/rumpdev/rump_dev.c
diff -u src/sys/rump/librump/rumpdev/rump_dev.c:1.17 src/sys/rump/librump/rumpdev/rump_dev.c:1.18
--- src/sys/rump/librump/rumpdev/rump_dev.c:1.17	Sun Mar  7 16:55:44 2010
+++ src/sys/rump/librump/rumpdev/rump_dev.c	Mon Mar  8 10:24:37 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: rump_dev.c,v 1.17 2010/03/07 16:55:44 pooka Exp $	*/
+/*	$NetBSD: rump_dev.c,v 1.18 2010/03/08 10:24:37 pooka Exp $	*/
 
 /*
  * Copyright (c) 2009 Antti Kantee.  All Rights Reserved.
@@ -26,7 +26,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: rump_dev.c,v 1.17 2010/03/07 16:55:44 pooka Exp $");
+__KERNEL_RCSID(0, "$NetBSD: rump_dev.c,v 1.18 2010/03/08 10:24:37 pooka Exp $");
 
 #include <sys/param.h>
 #include <sys/device.h>
@@ -59,6 +59,13 @@
 
 	cold = 0;
 	if (rump_component_count(RUMP_COMPONENT_DEV) > 0) {
+		extern struct cfdriver mainbus_cd;
+		extern struct cfattach mainbus_ca;
+		extern struct cfdata cfdata[];
+
+		config_cfdata_attach(cfdata, 0);
+		config_cfdriver_attach(&mainbus_cd);
+		config_cfattach_attach("mainbus", &mainbus_ca);
 		if (config_rootfound("mainbus", NULL) == NULL)
 			panic("no mainbus");
 

Added files:

Index: src/sys/rump/dev/lib/libugenhc/UGENHC.ioconf
diff -u /dev/null src/sys/rump/dev/lib/libugenhc/UGENHC.ioconf:1.1
--- /dev/null	Mon Mar  8 10:24:38 2010
+++ src/sys/rump/dev/lib/libugenhc/UGENHC.ioconf	Mon Mar  8 10:24:37 2010
@@ -0,0 +1,15 @@
+#	$NetBSD: UGENHC.ioconf,v 1.1 2010/03/08 10:24:37 pooka Exp $
+#
+
+ioconf ugenhc
+
+include "conf/files"
+include "dev/usb/files.usb"
+include "rump/dev/files.rump"
+
+pseudo-root mainbus*
+
+ugenhc0 at mainbus?
+ugenhc1 at mainbus?
+ugenhc2 at mainbus?
+ugenhc3 at mainbus?
Index: src/sys/rump/dev/lib/libugenhc/ugenhc_at_mainbus.c
diff -u /dev/null src/sys/rump/dev/lib/libugenhc/ugenhc_at_mainbus.c:1.1
--- /dev/null	Mon Mar  8 10:24:38 2010
+++ src/sys/rump/dev/lib/libugenhc/ugenhc_at_mainbus.c	Mon Mar  8 10:24:37 2010
@@ -0,0 +1,31 @@
+/*	$NetBSD: ugenhc_at_mainbus.c,v 1.1 2010/03/08 10:24:37 pooka Exp $	*/
+
+#include <sys/param.h>
+#include <sys/types.h>
+#include <sys/conf.h>
+#include <sys/device.h>
+#include <sys/kmem.h>
+#include <sys/stat.h>
+
+#include "ioconf.c"
+
+#include "rump_private.h"
+#include "rump_dev_private.h"
+
+#define FLAWLESSCALL(call)						\
+do {									\
+	int att_error;							\
+	if ((att_error = call) != 0)					\
+		panic("\"%s\" failed", #call);				\
+} while (/*CONSTCOND*/0)
+
+void tty_init(void);
+
+RUMP_COMPONENT(RUMP_COMPONENT_DEV)
+{
+
+	FLAWLESSCALL(config_cfdata_attach(cfdata_ugenhc, 0));
+
+	FLAWLESSCALL(config_cfdriver_attach(&ugenhc_cd));
+	FLAWLESSCALL(config_cfattach_attach("ugenhc", &ugenhc_ca));
+}

Index: src/sys/rump/dev/lib/libusb/USB.ioconf
diff -u /dev/null src/sys/rump/dev/lib/libusb/USB.ioconf:1.1
--- /dev/null	Mon Mar  8 10:24:38 2010
+++ src/sys/rump/dev/lib/libusb/USB.ioconf	Mon Mar  8 10:24:37 2010
@@ -0,0 +1,20 @@
+#	$NetBSD: USB.ioconf,v 1.1 2010/03/08 10:24:37 pooka Exp $
+#
+
+ioconf usb
+
+include "conf/files"
+include "dev/usb/files.usb"
+include "rump/dev/files.rump"
+
+pseudo-root ugenhc*
+
+# USB bus support
+usb*    at ugenhc?
+
+# USB ROOT Hub
+#
+# Do *NOT* configure uhub @ uhub.
+# That is not compatible with ugen.
+#
+uhub*   at usb?
Index: src/sys/rump/dev/lib/libusb/usb_at_ugenhc.c
diff -u /dev/null src/sys/rump/dev/lib/libusb/usb_at_ugenhc.c:1.1
--- /dev/null	Mon Mar  8 10:24:38 2010
+++ src/sys/rump/dev/lib/libusb/usb_at_ugenhc.c	Mon Mar  8 10:24:37 2010
@@ -0,0 +1,34 @@
+/*	$NetBSD: usb_at_ugenhc.c,v 1.1 2010/03/08 10:24:37 pooka Exp $	*/
+
+#include <sys/param.h>
+#include <sys/types.h>
+#include <sys/conf.h>
+#include <sys/device.h>
+#include <sys/kmem.h>
+#include <sys/stat.h>
+
+#include "ioconf.c"
+
+#include "rump_private.h"
+#include "rump_dev_private.h"
+
+#define FLAWLESSCALL(call)						\
+do {									\
+	int att_error;							\
+	if ((att_error = call) != 0)					\
+		panic("\"%s\" failed", #call);				\
+} while (/*CONSTCOND*/0)
+
+void tty_init(void);
+
+RUMP_COMPONENT(RUMP_COMPONENT_DEV)
+{
+
+	FLAWLESSCALL(config_cfdata_attach(cfdata_usb, 0));
+
+	FLAWLESSCALL(config_cfdriver_attach(&usb_cd));
+	FLAWLESSCALL(config_cfattach_attach("usb", &usb_ca));
+
+	FLAWLESSCALL(config_cfdriver_attach(&uhub_cd));
+	FLAWLESSCALL(config_cfattach_attach("uhub", &uroothub_ca));
+}

Reply via email to