Module Name: src
Committed By: pooka
Date: Thu Oct 1 15:21:38 UTC 2009
Modified Files:
src/sys/rump/librump/rumpdev: autoconf.c
Log Message:
children of mainbus, attach (well, one child, iff it happens to be around)
To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 src/sys/rump/librump/rumpdev/autoconf.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/librump/rumpdev/autoconf.c
diff -u src/sys/rump/librump/rumpdev/autoconf.c:1.2 src/sys/rump/librump/rumpdev/autoconf.c:1.3
--- src/sys/rump/librump/rumpdev/autoconf.c:1.2 Sun Sep 20 23:16:09 2009
+++ src/sys/rump/librump/rumpdev/autoconf.c Thu Oct 1 15:21:38 2009
@@ -1,4 +1,4 @@
-/* $NetBSD: autoconf.c,v 1.2 2009/09/20 23:16:09 pooka Exp $ */
+/* $NetBSD: autoconf.c,v 1.3 2009/10/01 15:21:38 pooka Exp $ */
/*
* Copyright (c) 2009 Antti Kantee. All Rights Reserved.
@@ -26,20 +26,32 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: autoconf.c,v 1.2 2009/09/20 23:16:09 pooka Exp $");
+__KERNEL_RCSID(0, "$NetBSD: autoconf.c,v 1.3 2009/10/01 15:21:38 pooka Exp $");
#include <sys/param.h>
#include <sys/device.h>
#include <sys/kernel.h>
-int mainbus_match(struct device *, struct cfdata *, void *);
-void mainbus_attach(struct device *, struct device *, void *);
+static int mainbus_match(struct device *, struct cfdata *, void *);
+static void mainbus_attach(struct device *, struct device *, void *);
+static int mainbus_search(struct device *, struct cfdata *,
+ const int *, void *);
struct mainbus_softc {
int mb_nada;
};
-CFDRIVER_DECL(mainbus, DV_DULL, NULL);
+static const struct cfiattrdata mainbus_iattrdata = {
+ "mainbus", 0, {
+ { NULL, NULL, 0 },
+ }
+};
+static const struct cfiattrdata * const mainbus_attrs[] = {
+ &mainbus_iattrdata,
+ NULL,
+};
+
+CFDRIVER_DECL(mainbus, DV_DULL, mainbus_attrs);
CFATTACH_DECL_NEW(mainbus, sizeof(struct mainbus_softc),
mainbus_match, mainbus_attach, NULL, NULL);
@@ -106,4 +118,16 @@
{
aprint_normal("\n");
+ config_search_ia(mainbus_search, self, "mainbus", NULL);
+}
+
+static int
+mainbus_search(struct device *parent, struct cfdata *cf,
+ const int *ldesc, void *aux)
+{
+
+ if (config_match(parent, cf, NULL) > 0)
+ config_attach(parent, cf, NULL, NULL);
+
+ return 0;
}