Module Name:    src
Committed By:   pooka
Date:           Sun Oct  4 10:43:03 UTC 2009

Added Files:
        src/sys/rump/dev/wip/libusbrum: Makefile rum_at_usb.c shlib_version

Log Message:
Support r...@usb.  Currently manages to configure and attach:

pain-rustique:66:~> ./rumpusbprobe
mainbus0 (root)
rumpusbhc2 at mainbus0
usb0 at rumpusbhc2: USB revision 2.0
uhub0 at usb0: vendor 0x0000 product 0x0000, class 9/0, rev 0.00/0.00, addr 1
rum0 at uhub0 port 1
rum0: D-Link DWA-111, rev 2.00/0.01, addr 2
rum0: MAC/BBP RT2573 (rev 0x2573a), RF RT2528, address 00:24:01:31:98:9a
rum0: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps
rum0: 11g rates: 1Mbps 2Mbps 5.5Mbps 11Mbps 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 
36Mbps 48Mbps 54Mbps


To generate a diff of this commit:
cvs rdiff -u -r0 -r1.1 src/sys/rump/dev/wip/libusbrum/Makefile \
    src/sys/rump/dev/wip/libusbrum/rum_at_usb.c \
    src/sys/rump/dev/wip/libusbrum/shlib_version

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

Added files:

Index: src/sys/rump/dev/wip/libusbrum/Makefile
diff -u /dev/null src/sys/rump/dev/wip/libusbrum/Makefile:1.1
--- /dev/null	Sun Oct  4 10:43:03 2009
+++ src/sys/rump/dev/wip/libusbrum/Makefile	Sun Oct  4 10:43:03 2009
@@ -0,0 +1,16 @@
+#	$NetBSD: Makefile,v 1.1 2009/10/04 10:43:03 pooka Exp $
+#
+
+.PATH:	${.CURDIR}/../../../../dev/usb
+
+LIB=	rumpdev_usbrum
+
+SRCS=   if_rum.c
+
+SRCS+=	rum_at_usb.c
+
+CFLAGS+=	-Wno-pointer-sign
+CPPFLAGS+=	-I${.CURDIR}/opt -I${RUMPTOP}/librump/rumpnet/opt
+
+.include <bsd.lib.mk>
+.include <bsd.klinks.mk>
Index: src/sys/rump/dev/wip/libusbrum/rum_at_usb.c
diff -u /dev/null src/sys/rump/dev/wip/libusbrum/rum_at_usb.c:1.1
--- /dev/null	Sun Oct  4 10:43:03 2009
+++ src/sys/rump/dev/wip/libusbrum/rum_at_usb.c	Sun Oct  4 10:43:03 2009
@@ -0,0 +1,108 @@
+/*	$NetBSD: rum_at_usb.c,v 1.1 2009/10/04 10:43:03 pooka Exp $	*/
+
+#include <sys/param.h>
+#include <sys/types.h>
+#include <sys/conf.h>
+#include <sys/device.h>
+#include <sys/kmem.h>
+
+/*
+ * rum @ usb
+ *
+ * handwritten device configuration.... 'nuf said
+ */
+
+static const struct cfiattrdata uroothub_iattrdata = {
+	"usbroothubif", 0, {
+		{ NULL, NULL, 0 },
+	}
+};
+static const struct cfiattrdata *const usb_attrs[] = {
+	&uroothub_iattrdata,
+	NULL,
+};
+CFDRIVER_DECL(usb, DV_DULL, usb_attrs);
+
+static const struct cfiattrdata usbdevif_iattrdata = {
+	"usbdevif", 0, {
+		{ NULL, NULL, 0 },
+	}
+};
+static const struct cfiattrdata usbifif_iattrdata = {
+	"usbifif", 0, {
+		{ NULL, NULL, 0 },
+	}
+};
+static const struct cfiattrdata *const uhub_attrs[] = {
+	&usbdevif_iattrdata,
+	&usbifif_iattrdata,
+	NULL,
+};
+CFDRIVER_DECL(uhub, DV_DULL, uhub_attrs);
+
+CFDRIVER_DECL(rum, DV_IFNET, NULL);
+
+struct cfparent rumpusbhc_pspec = {
+	"usbus",
+	"rumpusbhc",
+	DVUNIT_ANY
+};
+
+struct cfdata usb_cfdata[] = {
+	{ "usb", "usb", 0, FSTATE_STAR, NULL, 0, &rumpusbhc_pspec },
+};
+
+struct cfparent usb_pspec = {
+	"usbroothubif",
+	"usb",
+	DVUNIT_ANY
+};
+
+struct cfdata uhub_cfdata[] = {
+	{ "uhub", "uroothub", 0, FSTATE_STAR, NULL, 0, &usb_pspec },
+};
+
+struct cfparent usbifif_pspec = {
+	"usbifif",
+	"uhub",
+	DVUNIT_ANY
+};
+
+struct cfparent usbdevif_pspec = {
+	"usbdevif",
+	"uhub",
+	DVUNIT_ANY
+};
+
+struct cfdata rum_cfdata[] = {
+	{ "rum", "rum", 0, FSTATE_STAR, NULL, 0, &usbdevif_pspec },
+};
+
+#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
+rump_device_configuration(void)
+{
+	extern struct cfattach usb_ca, uhub_ca, uroothub_ca, rum_ca;
+
+	FLAWLESSCALL(config_cfdriver_attach(&usb_cd));
+	FLAWLESSCALL(config_cfattach_attach("usb", &usb_ca));
+	FLAWLESSCALL(config_cfdata_attach(usb_cfdata, 0));
+
+	FLAWLESSCALL(config_cfdriver_attach(&uhub_cd));
+	FLAWLESSCALL(config_cfattach_attach("uhub", &uhub_ca));
+	FLAWLESSCALL(config_cfdata_attach(uhub_cfdata, 0));
+
+	FLAWLESSCALL(config_cfdriver_attach(&rum_cd));
+	FLAWLESSCALL(config_cfattach_attach("rum", &rum_ca));
+	FLAWLESSCALL(config_cfdata_attach(rum_cfdata, 0));
+
+	FLAWLESSCALL(config_cfattach_attach("uhub", &uroothub_ca));
+}
Index: src/sys/rump/dev/wip/libusbrum/shlib_version
diff -u /dev/null src/sys/rump/dev/wip/libusbrum/shlib_version:1.1
--- /dev/null	Sun Oct  4 10:43:03 2009
+++ src/sys/rump/dev/wip/libusbrum/shlib_version	Sun Oct  4 10:43:03 2009
@@ -0,0 +1,4 @@
+#	$NetBSD: shlib_version,v 1.1 2009/10/04 10:43:03 pooka Exp $
+#
+major=0
+minor=0

Reply via email to