Re: [PATCH] hid: Add a hid quirk for input sync override

From: Jiri Kosina
Date: Wed Sep 01 2010 - 06:54:10 EST


On Tue, 24 Aug 2010, Henrik Rydberg wrote:

> From: Henrik Rydberg <rydberg@thabit.(none)>
>
> 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@xxxxxxxxxxx>
> ---
> Jiri, Dmitry, Stephane,
>
> No doubt, this is not a final solution, but it serves the purpose of
> being able to make existing drivers functional while a satisfactory
> solution is being worked out.

Hi Henrik,

I obviously don't have any major objections to the patch, as it was my
initial idea :)

I'd like to merge it together with driver which actually uses it though.

Thanks.

>
> Cheers,
> 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
>

--
Jiri Kosina
SUSE Labs, Novell Inc.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/