[PATCH v2] HID: sony: Fix up nyko core controller

Subsystems: hid core layer, the rest

STALE3158d

2 messages, 2 authors, 2017-12-19 · open the first message on its own page

[PATCH v2] HID: sony: Fix up nyko core controller

From: Scott Moreau <hidden>
Date: 2017-12-13 02:22:03

This fixes missing d-pad axis broken since e19a267b99. The axis mapping for
the nyko controller has the d-pad as axis 0x39 instead of d-pad as buttons.
This is handled by the default hid mapping so we return 0 in sony_mapping.
This controller also has no accelerometer so avoid initializing it with
a condition in sony_input_configured() to setup these controllers.
---
 drivers/hid/hid-sony.c | 7 +++++++
 1 file changed, 7 insertions(+)
diff --git a/drivers/hid/hid-sony.c b/drivers/hid/hid-sony.c
index b9dc3ac..1be0a35 100644
--- a/drivers/hid/hid-sony.c
+++ b/drivers/hid/hid-sony.c
@@ -1225,6 +1225,9 @@ static int sony_mapping(struct hid_device *hdev, struct hid_input *hi,
 	if (sc->quirks & NAVIGATION_CONTROLLER)
 		return navigation_mapping(hdev, hi, field, usage, bit, max);
 
+	if (sc->quirks & SINO_LITE_CONTROLLER)
+		return 0;
+
 	if (sc->quirks & SIXAXIS_CONTROLLER)
 		return sixaxis_mapping(hdev, hi, field, usage, bit, max);
 
@@ -2566,6 +2569,10 @@ static int sony_input_configured(struct hid_device *hdev,
 		}
 
 		sony_init_output_report(sc, sixaxis_send_output_report);
+	} else if (sc->quirks & SINO_LITE_CONTROLLER) {
+		hdev->quirks |= HID_QUIRK_SKIP_OUTPUT_REPORT_ID;
+
+		sony_init_output_report(sc, sixaxis_send_output_report);
 	} else if (sc->quirks & SIXAXIS_CONTROLLER_USB) {
 		/*
 		 * The Sony Sixaxis does not handle HID Output Reports on the
-- 
2.7.4

Re: [PATCH v2] HID: sony: Fix up nyko core controller

From: Roderick Colenbrander <hidden>
Date: 2017-12-19 19:07:13

(From personal email as work email, doesn't do plain text well..)

Acked-by: Roderick Colenbrander <roderick.colenbrander@sony.com>

On Tue, Dec 12, 2017 at 6:21 PM, Scott Moreau [off-list ref] wrote:
quoted hunk
This fixes missing d-pad axis broken since e19a267b99. The axis mapping for
the nyko controller has the d-pad as axis 0x39 instead of d-pad as buttons.
This is handled by the default hid mapping so we return 0 in sony_mapping.
This controller also has no accelerometer so avoid initializing it with
a condition in sony_input_configured() to setup these controllers.
---
 drivers/hid/hid-sony.c | 7 +++++++
 1 file changed, 7 insertions(+)
diff --git a/drivers/hid/hid-sony.c b/drivers/hid/hid-sony.c
index b9dc3ac..1be0a35 100644
--- a/drivers/hid/hid-sony.c
+++ b/drivers/hid/hid-sony.c
@@ -1225,6 +1225,9 @@ static int sony_mapping(struct hid_device *hdev, struct hid_input *hi,
        if (sc->quirks & NAVIGATION_CONTROLLER)
                return navigation_mapping(hdev, hi, field, usage, bit, max);

+       if (sc->quirks & SINO_LITE_CONTROLLER)
+               return 0;
+
        if (sc->quirks & SIXAXIS_CONTROLLER)
                return sixaxis_mapping(hdev, hi, field, usage, bit, max);
@@ -2566,6 +2569,10 @@ static int sony_input_configured(struct hid_device *hdev,
                }

                sony_init_output_report(sc, sixaxis_send_output_report);
+       } else if (sc->quirks & SINO_LITE_CONTROLLER) {
+               hdev->quirks |= HID_QUIRK_SKIP_OUTPUT_REPORT_ID;
+
+               sony_init_output_report(sc, sixaxis_send_output_report);
        } else if (sc->quirks & SIXAXIS_CONTROLLER_USB) {
                /*
                 * The Sony Sixaxis does not handle HID Output Reports on the
--
2.7.4

--
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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help