This patch exposes Bluetooth HID peripherals to userspace
through the hidraw API, in addition to the input subsystem.
This improves consistency between hidp and usbhid.
--- linux-2.6.24.2/net/bluetooth/hidp/core.c.orig 2008-02-13 13:28:26.000000000 +0100
+++ linux-2.6.24.2/net/bluetooth/hidp/core.c 2008-02-13 14:19:29.000000000 +0100
@@ -40,6 +40,7 @@
#include <linux/input.h>
#include <linux/hid.h>
+#include <linux/hidraw.h>
#include <net/bluetooth/bluetooth.h>
#include <net/bluetooth/hci_core.h>
@@ -589,6 +590,8 @@ static int hidp_session(void *arg)
if (session->hid) {
if (session->hid->claimed & HID_CLAIMED_INPUT)
hidinput_disconnect(session->hid);
+ if (session->hid->claimed & HID_CLAIMED_HIDRAW)
+ hidraw_disconnect(session->hid);
hid_free_device(session->hid);
}
@@ -741,6 +744,8 @@ static inline void hidp_setup_hid(struct
if (hidinput_connect(hid) == 0)
hid->claimed |= HID_CLAIMED_INPUT;
+ if (hidraw_connect(hid) == 0)
+ hid->claimed |= HID_CLAIMED_HIDRAW;
}
int hidp_add_connection(struct hidp_connadd_req *req, struct socket *ctrl_sock, struct socket *intr_sock)
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
lmpx.com only provides a reader for public news (NNTP) servers. It is not
affiliated with the servers or forums shown here and is not responsible for
the content of articles, which is written by their respective authors.