Support rum@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
This commit is contained in:
parent
3e8421a27d
commit
4712dfb73d
|
@ -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>
|
|
@ -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));
|
||||
}
|
|
@ -0,0 +1,4 @@
|
|||
# $NetBSD: shlib_version,v 1.1 2009/10/04 10:43:03 pooka Exp $
|
||||
#
|
||||
major=0
|
||||
minor=0
|
Loading…
Reference in New Issue