[APPLIED] Re: [PATCH] hid: Add a hid quirk for input sync override
Leann Ogasawara
leann.ogasawara at canonical.com
Tue Aug 24 17:30:04 UTC 2010
Applied to Maverick linux master.
Thanks,
Leann
On Tue, 2010-08-24 at 16:19 +0200, Henrik Rydberg wrote:
> As of lately, HID devices which send per-frame data split over several
> HID reports have started to emerge. This patch adds a quirk which
> allows the HID driver to take over the input layer synchronization,
> and hence the control of the frame boundary.
>
> Signed-off-by: Henrik Rydberg <rydberg at euromail.se>
> ---
> Ten days ago, there were reports on linux-input about broken
> Multitouch HID drivers (egalax, 3m-pct) for new devices, including the
> Joojoo. It turns out these are due to a new HID extension, pushed by a
> large software company, which sends per-frame data in sequence.
>
> I propose carrying the above patch for Maverick, to enable the process
> of analyzing and fixing those drivers using dkms during the beta
> cycle. I do not yet know what will happen upstream.
>
> Henrik
>
> drivers/hid/hid-input.c | 3 +++
> include/linux/hid.h | 1 +
> 2 files changed, 4 insertions(+), 0 deletions(-)
>
> diff --git a/drivers/hid/hid-input.c b/drivers/hid/hid-input.c
> index 69d152e..9d97934 100644
> --- a/drivers/hid/hid-input.c
> +++ b/drivers/hid/hid-input.c
> @@ -656,6 +656,9 @@ void hidinput_report_event(struct hid_device *hid, struct hid_report *report)
> {
> struct hid_input *hidinput;
>
> + if (hid->quirks & HID_QUIRK_NO_INPUT_SYNC)
> + return;
> +
> list_for_each_entry(hidinput, &hid->inputs, list)
> input_sync(hidinput->input);
> }
> diff --git a/include/linux/hid.h b/include/linux/hid.h
> index 895001f..8029883 100644
> --- a/include/linux/hid.h
> +++ b/include/linux/hid.h
> @@ -315,6 +315,7 @@ struct hid_item {
> #define HID_QUIRK_FULLSPEED_INTERVAL 0x10000000
> #define HID_QUIRK_NO_INIT_REPORTS 0x20000000
> #define HID_QUIRK_NO_IGNORE 0x40000000
> +#define HID_QUIRK_NO_INPUT_SYNC 0x80000000
>
> /*
> * This is the global environment of the parser. This information is
> --
> 1.7.1
>
>
More information about the kernel-team
mailing list