Module Name: src
Committed By: pooka
Date: Mon Mar 22 12:14:51 UTC 2010
Modified Files:
src/sys/rump/dev: Makefile.rumpdev
Added Files:
src/sys/rump/dev/lib/libubt: Makefile UBT.ioconf shlib_version
ubt_at_usb.c
Log Message:
USB bluetooth device rump component.
This is a curious driver in the sense that unlike all other current
device drivers, it does not require vfs. This is because the driver
is controlled via bluetooth, which is controlled via PF_BLUETOOTH
sockets (as opposed to a /dev node).
To generate a diff of this commit:
cvs rdiff -u -r1.9 -r1.10 src/sys/rump/dev/Makefile.rumpdev
cvs rdiff -u -r0 -r1.1 src/sys/rump/dev/lib/libubt/Makefile \
src/sys/rump/dev/lib/libubt/UBT.ioconf \
src/sys/rump/dev/lib/libubt/shlib_version \
src/sys/rump/dev/lib/libubt/ubt_at_usb.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/Makefile.rumpdev
diff -u src/sys/rump/dev/Makefile.rumpdev:1.9 src/sys/rump/dev/Makefile.rumpdev:1.10
--- src/sys/rump/dev/Makefile.rumpdev:1.9 Thu Feb 11 02:22:09 2010
+++ src/sys/rump/dev/Makefile.rumpdev Mon Mar 22 12:14:51 2010
@@ -1,7 +1,7 @@
-# $NetBSD: Makefile.rumpdev,v 1.9 2010/02/11 02:22:09 pooka Exp $
+# $NetBSD: Makefile.rumpdev,v 1.10 2010/03/22 12:14:51 pooka Exp $
#
-RUMPDEVLIST= bpf cgd disk dm netsmb raidframe rnd sysmon ucom \
+RUMPDEVLIST= bpf cgd disk dm netsmb raidframe rnd sysmon ubt ucom \
ugenhc ulpt umass usb wscons
Added files:
Index: src/sys/rump/dev/lib/libubt/Makefile
diff -u /dev/null src/sys/rump/dev/lib/libubt/Makefile:1.1
--- /dev/null Mon Mar 22 12:14:51 2010
+++ src/sys/rump/dev/lib/libubt/Makefile Mon Mar 22 12:14:51 2010
@@ -0,0 +1,16 @@
+# $NetBSD: Makefile,v 1.1 2010/03/22 12:14:51 pooka Exp $
+#
+
+.PATH: ${.CURDIR}/../../../../dev/usb
+
+LIB= rumpdev_ubt
+IOCONF= UBT.ioconf
+
+SRCS= ubt.c
+
+SRCS+= ubt_at_usb.c
+
+CPPFLAGS+= -I${RUMPTOP}/net/lib/libnetbt
+
+.include <bsd.lib.mk>
+.include <bsd.klinks.mk>
Index: src/sys/rump/dev/lib/libubt/UBT.ioconf
diff -u /dev/null src/sys/rump/dev/lib/libubt/UBT.ioconf:1.1
--- /dev/null Mon Mar 22 12:14:51 2010
+++ src/sys/rump/dev/lib/libubt/UBT.ioconf Mon Mar 22 12:14:51 2010
@@ -0,0 +1,14 @@
+# $NetBSD: UBT.ioconf,v 1.1 2010/03/22 12:14:51 pooka Exp $
+#
+
+ioconf ubt
+
+include "conf/files"
+include "dev/usb/files.usb"
+include "rump/dev/files.rump"
+
+pseudo-root uhub*
+
+# Bluetooth USB Controllers
+ubt* at uhub? port ?
+bthub* at ubt?
Index: src/sys/rump/dev/lib/libubt/shlib_version
diff -u /dev/null src/sys/rump/dev/lib/libubt/shlib_version:1.1
--- /dev/null Mon Mar 22 12:14:51 2010
+++ src/sys/rump/dev/lib/libubt/shlib_version Mon Mar 22 12:14:51 2010
@@ -0,0 +1,4 @@
+# $NetBSD: shlib_version,v 1.1 2010/03/22 12:14:51 pooka Exp $
+#
+major=0
+minor=0
Index: src/sys/rump/dev/lib/libubt/ubt_at_usb.c
diff -u /dev/null src/sys/rump/dev/lib/libubt/ubt_at_usb.c:1.1
--- /dev/null Mon Mar 22 12:14:51 2010
+++ src/sys/rump/dev/lib/libubt/ubt_at_usb.c Mon Mar 22 12:14:51 2010
@@ -0,0 +1,28 @@
+/* $NetBSD: ubt_at_usb.c,v 1.1 2010/03/22 12:14:51 pooka Exp $ */
+
+#include <sys/param.h>
+#include <sys/types.h>
+#include <sys/conf.h>
+#include <sys/device.h>
+#include <sys/kmem.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)
+
+RUMP_COMPONENT(RUMP_COMPONENT_DEV)
+{
+
+ FLAWLESSCALL(config_cfdata_attach(cfdata_ubt, 0));
+
+ FLAWLESSCALL(config_cfdriver_attach(&ubt_cd));
+ FLAWLESSCALL(config_cfattach_attach("ubt", &ubt_ca));
+}