@@ -1335,6 +1335,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);
@@ -2624,6 +2627,10 @@ static int sony_input_configured(struct hid_device *hdev,
goto err_stop;
}
+ 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) {
/*
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. Signed-off-by: Scott Moreau <oreaus@gmail.com> --- drivers/hid/hid-sony.c | 7 +++++++ 1 file changed, 7 insertions(+)