Skip to content

Commit 1bcaa05

Browse files
10ne1Jiri Kosina
authored andcommitted
Revert "HID: dragonrise: fix HID Descriptor for 0x0006 PID"
This reverts commit 18339f5 ("HID: dragonrise: fix HID...") because it breaks certain dragonrise 0079:0006 gamepads. While it may fix a breakage caused by commit 79346d6 ("HID: input: force generic axis to be mapped to their user space axis"), it is probable that the manufacturer released different hardware with the same PID so this fix works for only a subset and breaks the other gamepads sharing the PID. What is needed is another more generic solution which fixes 79346d6 ("HID: input: force generic axis ...") breakage for this controller: we need to add an exception for this driver to make it keep the old behaviour previous to the initial breakage (this is done in patch 2 of this series). Signed-off-by: Ioan-Adrian Ratiu <adi@adirat.com> Reviewed-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
1 parent e159440 commit 1bcaa05

File tree

1 file changed

+0
-58
lines changed

1 file changed

+0
-58
lines changed

drivers/hid/hid-dr.c

Lines changed: 0 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -234,58 +234,6 @@ static __u8 pid0011_rdesc_fixed[] = {
234234
0xC0 /* End Collection */
235235
};
236236

237-
static __u8 pid0006_rdesc_fixed[] = {
238-
0x05, 0x01, /* Usage Page (Generic Desktop) */
239-
0x09, 0x04, /* Usage (Joystick) */
240-
0xA1, 0x01, /* Collection (Application) */
241-
0xA1, 0x02, /* Collection (Logical) */
242-
0x75, 0x08, /* Report Size (8) */
243-
0x95, 0x05, /* Report Count (5) */
244-
0x15, 0x00, /* Logical Minimum (0) */
245-
0x26, 0xFF, 0x00, /* Logical Maximum (255) */
246-
0x35, 0x00, /* Physical Minimum (0) */
247-
0x46, 0xFF, 0x00, /* Physical Maximum (255) */
248-
0x09, 0x30, /* Usage (X) */
249-
0x09, 0x33, /* Usage (Ry) */
250-
0x09, 0x32, /* Usage (Z) */
251-
0x09, 0x31, /* Usage (Y) */
252-
0x09, 0x34, /* Usage (Ry) */
253-
0x81, 0x02, /* Input (Variable) */
254-
0x75, 0x04, /* Report Size (4) */
255-
0x95, 0x01, /* Report Count (1) */
256-
0x25, 0x07, /* Logical Maximum (7) */
257-
0x46, 0x3B, 0x01, /* Physical Maximum (315) */
258-
0x65, 0x14, /* Unit (Centimeter) */
259-
0x09, 0x39, /* Usage (Hat switch) */
260-
0x81, 0x42, /* Input (Variable) */
261-
0x65, 0x00, /* Unit (None) */
262-
0x75, 0x01, /* Report Size (1) */
263-
0x95, 0x0C, /* Report Count (12) */
264-
0x25, 0x01, /* Logical Maximum (1) */
265-
0x45, 0x01, /* Physical Maximum (1) */
266-
0x05, 0x09, /* Usage Page (Button) */
267-
0x19, 0x01, /* Usage Minimum (0x01) */
268-
0x29, 0x0C, /* Usage Maximum (0x0C) */
269-
0x81, 0x02, /* Input (Variable) */
270-
0x06, 0x00, 0xFF, /* Usage Page (Vendor Defined) */
271-
0x75, 0x01, /* Report Size (1) */
272-
0x95, 0x08, /* Report Count (8) */
273-
0x25, 0x01, /* Logical Maximum (1) */
274-
0x45, 0x01, /* Physical Maximum (1) */
275-
0x09, 0x01, /* Usage (0x01) */
276-
0x81, 0x02, /* Input (Variable) */
277-
0xC0, /* End Collection */
278-
0xA1, 0x02, /* Collection (Logical) */
279-
0x75, 0x08, /* Report Size (8) */
280-
0x95, 0x07, /* Report Count (7) */
281-
0x46, 0xFF, 0x00, /* Physical Maximum (255) */
282-
0x26, 0xFF, 0x00, /* Logical Maximum (255) */
283-
0x09, 0x02, /* Usage (0x02) */
284-
0x91, 0x02, /* Output (Variable) */
285-
0xC0, /* End Collection */
286-
0xC0 /* End Collection */
287-
};
288-
289237
static __u8 *dr_report_fixup(struct hid_device *hdev, __u8 *rdesc,
290238
unsigned int *rsize)
291239
{
@@ -296,12 +244,6 @@ static __u8 *dr_report_fixup(struct hid_device *hdev, __u8 *rdesc,
296244
*rsize = sizeof(pid0011_rdesc_fixed);
297245
}
298246
break;
299-
case 0x0006:
300-
if (*rsize == sizeof(pid0006_rdesc_fixed)) {
301-
rdesc = pid0006_rdesc_fixed;
302-
*rsize = sizeof(pid0006_rdesc_fixed);
303-
}
304-
break;
305247
}
306248
return rdesc;
307249
}

0 commit comments

Comments
 (0)