Re: [PATCH] input: Add userspace HID support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Petri,

On Mon, May 05, 2014, Petri Gynther wrote:
> Enable HID protocol handling in userspace when UserspaceHID=true in input.conf.
> 
> Benefits of userspace HID:
> 1. Persistent HID/input pipeline
>    For a Bluetooth HID device, the corresponding kernel HID/input devices are
>    created only once when the Bluetooth HID device is used the first time.
>    The HID/input pipeline is not destroyed and recreated every time when
>    the Bluetooth HID device disconnects and reconnects.
> 
> 2. HID vs HoG parity
>    Enables HID and HoG devices to operate the same way in BlueZ stack, using
>    uHID kernel module (/dev/uhid) to pass HID report data between bluetoothd
>    and kernel HID subsystem.
> 
> 3. Debugging
>    It is easier to debug HID protocol in userspace than in HIDP kernel module.
> ---
>  Makefile.plugins           |   3 +-
>  profiles/input/device.c    | 674 +++++++++++++++++++++++++++++++++++++++++++--
>  profiles/input/device.h    |   1 +
>  profiles/input/hidp_defs.h |  79 ++++++
>  profiles/input/input.conf  |   4 +
>  profiles/input/manager.c   |  10 +
>  6 files changed, 754 insertions(+), 17 deletions(-)
>  create mode 100644 profiles/input/hidp_defs.h

Considering that we're using uhid also for the Android HID solution
(see android/hidhost.c) is there an opportunity here to avoid code
duplication by sharing some code? I'm not saying that this must be done
before we apply your patch, but if code sharing is possible it'd be good
to try to refactor common parts into src/shared/hid.c or similar.

Johan
--
To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux