diff mbox

[1/2] sony_ff_hid_descriptor

Message ID 1306145999-15643-1-git-send-email-simon@mungewell.org (mailing list archive)
State New, archived
Delegated to: Jiri Kosina
Headers show

Commit Message

simon@mungewell.org May 23, 2011, 10:19 a.m. UTC
This patch modifies the HID descriptor to allow the reporting of
the accelerometers and gyro via a joystick axis.
---
 drivers/hid/hid-sony.c |   11 +++++++++++
 1 files changed, 11 insertions(+), 0 deletions(-)

Comments

Antonio Ospite June 1, 2011, 7:49 p.m. UTC | #1
On Mon, 23 May 2011 03:19:58 -0700
Simon Wood <simon@mungewell.org> wrote:

> This patch modifies the HID descriptor to allow the reporting of
> the accelerometers and gyro via a joystick axis.

I am going to test it tomorrow, but for now I notice that the
Signed-off-by is missing. Wait for the test before resending tho.

Plus, the short commit message can be improved a little bit, and the
long commit message could use the classic imperative form used in kernel
commit messages: "Modify the HID descriptor to...", but these are just
suggestions.

Same comments for patch 2/2.

Thanks,
   Antonio

> ---
>  drivers/hid/hid-sony.c |   11 +++++++++++
>  1 files changed, 11 insertions(+), 0 deletions(-)
> 
> diff --git a/drivers/hid/hid-sony.c b/drivers/hid/hid-sony.c
> index 936c911..5c930dc 100644
> --- a/drivers/hid/hid-sony.c
> +++ b/drivers/hid/hid-sony.c
> @@ -28,6 +28,12 @@
>  #define SIXAXIS_CONTROLLER_USB  (1 << 1)
>  #define SIXAXIS_CONTROLLER_BT   (1 << 2)
>  
> +static const u8 sixaxis_rdesc_fixup[] = {
> +	0x95, 0x13, 0x09, 0x01, 0x81, 0x02, 0x95, 0x0C,
> +	0x81, 0x01, 0x75, 0x10, 0x95, 0x04, 0x26, 0xFF, 
> +	0x03, 0x46, 0xFF, 0x03, 0x09, 0x01, 0x81, 0x02
> +	};
> +
>  struct sony_sc {
>  	unsigned long quirks;
>  };
> @@ -43,6 +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) {
> +		hid_info(hdev, "Fixing up Sony Sixaxis report descriptor\n");
> +		memcpy((void *)&rdesc[83], (void *) &sixaxis_rdesc_fixup, sizeof(sixaxis_rdesc_fixup));
> +	}
>  	return rdesc;
>  }
>  
> -- 
> 1.7.4.1
> 
>
Jiri Kosina June 7, 2011, 1:32 p.m. UTC | #2
On Wed, 1 Jun 2011, Antonio Ospite wrote:

> On Mon, 23 May 2011 03:19:58 -0700
> Simon Wood <simon@mungewell.org> wrote:
> 
> > This patch modifies the HID descriptor to allow the reporting of
> > the accelerometers and gyro via a joystick axis.
> 
> I am going to test it tomorrow, but for now I notice that the
> Signed-off-by is missing. Wait for the test before resending tho.
> 
> Plus, the short commit message can be improved a little bit, and the
> long commit message could use the classic imperative form used in kernel
> commit messages: "Modify the HID descriptor to...", but these are just
> suggestions.
> 
> Same comments for patch 2/2.

Antonio,

thanks for the (valid) comments.

What was the result of your testing of the patches, please?

Simon, would you please, once Antionio adds his Tested-by:, to resend with 
proper authorship and Signed-off-by? 

Thanks,
Jiri Kosina June 7, 2011, 1:32 p.m. UTC | #3
On Tue, 7 Jun 2011, Jiri Kosina wrote:

> Simon, would you please, once Antionio adds his Tested-by:, to resend with 
> proper authorship and Signed-off-by? 

Ah, I see you already did, in a separate thread.

So I'd just like to wait for Tested-by: from Antonion, and will then 
apply.

thanks,
Antonio Ospite June 7, 2011, 2:12 p.m. UTC | #4
On Tue, 7 Jun 2011 15:32:15 +0200 (CEST)
Jiri Kosina <jkosina@suse.cz> wrote:

> On Wed, 1 Jun 2011, Antonio Ospite wrote:
> 
> > On Mon, 23 May 2011 03:19:58 -0700
> > Simon Wood <simon@mungewell.org> wrote:
> > 
> > > This patch modifies the HID descriptor to allow the reporting of
> > > the accelerometers and gyro via a joystick axis.
> > 
> > I am going to test it tomorrow, but for now I notice that the
> > Signed-off-by is missing. Wait for the test before resending tho.
> > 
> > Plus, the short commit message can be improved a little bit, and the
> > long commit message could use the classic imperative form used in kernel
> > commit messages: "Modify the HID descriptor to...", but these are just
> > suggestions.
[...]

> What was the result of your testing of the patches, please?
> 

There has been an off-list discussion and I think Simon is going to send
the patches once again in a form which amends the HID descriptor even
when the Sixaxis is connected via Bluetooth.

I will retest and add the Tested-by on those.

Regards,
   Antonio
simon@mungewell.org June 7, 2011, 3:53 p.m. UTC | #5
>
> What was the result of your testing of the patches, please?
>
> Simon, would you please, once Antionio adds his Tested-by:, to resend with
> proper authorship and Signed-off-by?

Jiri: I think that we have a plan... I'll resend a patch (V4) in the next
couple of days.

Antionio: Do I just add 'tested-by' on your behalf?

Simon

--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Antonio Ospite June 7, 2011, 7:40 p.m. UTC | #6
On Tue, 7 Jun 2011 11:53:08 -0400
simon@mungewell.org wrote:

> 
> >
> > What was the result of your testing of the patches, please?
> >
> > Simon, would you please, once Antonio adds his Tested-by:, to resend with
> > proper authorship and Signed-off-by?
> 
> Jiri: I think that we have a plan... I'll resend a patch (V4) in the next
> couple of days.
> 
> Antonio: Do I just add 'tested-by' on your behalf?
> 

I am going to test (and use) the patches anyways, so I think I can send
the tested-by mails, no problem. :)

Thanks,
   Antonio
diff mbox

Patch

diff --git a/drivers/hid/hid-sony.c b/drivers/hid/hid-sony.c
index 936c911..5c930dc 100644
--- a/drivers/hid/hid-sony.c
+++ b/drivers/hid/hid-sony.c
@@ -28,6 +28,12 @@ 
 #define SIXAXIS_CONTROLLER_USB  (1 << 1)
 #define SIXAXIS_CONTROLLER_BT   (1 << 2)
 
+static const u8 sixaxis_rdesc_fixup[] = {
+	0x95, 0x13, 0x09, 0x01, 0x81, 0x02, 0x95, 0x0C,
+	0x81, 0x01, 0x75, 0x10, 0x95, 0x04, 0x26, 0xFF, 
+	0x03, 0x46, 0xFF, 0x03, 0x09, 0x01, 0x81, 0x02
+	};
+
 struct sony_sc {
 	unsigned long quirks;
 };
@@ -43,6 +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) {
+		hid_info(hdev, "Fixing up Sony Sixaxis report descriptor\n");
+		memcpy((void *)&rdesc[83], (void *) &sixaxis_rdesc_fixup, sizeof(sixaxis_rdesc_fixup));
+	}
 	return rdesc;
 }