[PATCH] hidraw support for Bluetooth HID devices

[email protected]
Newsgroups gmane.linux.bluez.devel
Message-ID <[email protected]>
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.