[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20110608094714.9291d5e8.ospite@studenti.unina.it>
Date: Wed, 8 Jun 2011 09:47:14 +0200
From: Antonio Ospite <ospite@...denti.unina.it>
To: Simon Wood <simon@...gewell.org>
Cc: linux-input@...r.kernel.org, linux-kernel@...r.kernel.org,
Jiri Kosina <jkosina@...e.cz>,
Michael Bauer <michael@...auer.org>,
Marcin Tolysz <tolysz@...il.com>
Subject: Re: [PATCHv4 3/3] sony_ff_bluetooth
On Sat, 4 Jun 2011 02:32:37 -0700
Simon Wood <simon@...gewell.org> wrote:
> Add support for patching the HID descriptor when Sixaxis is connect
> via Bluetooth. In this mode the desciptor contains a trailing '0x00'.
>
> Patch suggested by Antonio
>
Simon I think this one can be split and the first hunk can be merged
with 1/2 and the second hunk with 2/2.
Also the short commit messages still need to be fixed for all the
patches to be more descriptive, if you don't want to spend any more
time on that just tell and I'll do it :)
Thanks,
Antonio
> Signed-off-by: Antonio Ospite <ospite@...denti.unina.it>
> Signed-off-by: Simon Wood <simon@...gewell.org>
> ---
> drivers/hid/hid-sony.c | 9 ++++++---
> 1 files changed, 6 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/hid/hid-sony.c b/drivers/hid/hid-sony.c
> index f219746..5d37f97 100644
> --- a/drivers/hid/hid-sony.c
> +++ b/drivers/hid/hid-sony.c
> @@ -49,8 +49,11 @@ static __u8 *sony_report_fixup(struct hid_device *hdev, __u8 *rdesc,
> hid_info(hdev, "Fixing up Sony Vaio VGX report descriptor\n");
> rdesc[55] = 0x06;
> }
> - if ((sc->quirks & SIXAXIS_CONTROLLER_USB) &&
> - *rsize == 148 && rdesc[83] == 0x75) {
> +
> + /* The HID descriptor exposed over BT has a trailing zero byte */
> + if ((((sc->quirks & SIXAXIS_CONTROLLER_USB) && *rsize == 148) ||
> + ((sc->quirks & SIXAXIS_CONTROLLER_BT) && *rsize == 149 )) &&
> + rdesc[83] == 0x75) {
> hid_info(hdev, "Fixing up Sony Sixaxis report descriptor\n");
> memcpy((void *)&rdesc[83], (void *) &sixaxis_rdesc_fixup, sizeof(sixaxis_rdesc_fixup));
> }
> @@ -64,7 +67,7 @@ static int sony_raw_event(struct hid_device *hdev, struct hid_report *report, __
> {
> struct sony_sc *sc = hid_get_drvdata(hdev);
>
> - if ((sc->quirks & SIXAXIS_CONTROLLER_USB) &&
> + if ((sc->quirks & (SIXAXIS_CONTROLLER_USB | SIXAXIS_CONTROLLER_BT)) &&
> rd[0] == 0x01 && size == 49) {
> swap(rd[41], rd[42]);
> swap(rd[43], rd[44]);
> --
--
Antonio Ospite
http://ao2.it
PGP public key ID: 0x4553B001
A: Because it messes up the order in which people normally read text.
See http://en.wikipedia.org/wiki/Posting_style
Q: Why is top-posting such a bad thing?
Content of type "application/pgp-signature" skipped
Powered by blists - more mailing lists