|
@@ -50,6 +50,7 @@
|
|
|
#define MOTION_CONTROLLER_BT BIT(8)
|
|
|
#define NAVIGATION_CONTROLLER_USB BIT(9)
|
|
|
#define NAVIGATION_CONTROLLER_BT BIT(10)
|
|
|
+#define SINO_LITE_CONTROLLER BIT(11)
|
|
|
|
|
|
#define SIXAXIS_CONTROLLER (SIXAXIS_CONTROLLER_USB | SIXAXIS_CONTROLLER_BT)
|
|
|
#define MOTION_CONTROLLER (MOTION_CONTROLLER_USB | MOTION_CONTROLLER_BT)
|
|
@@ -1118,6 +1119,9 @@ static __u8 *sony_report_fixup(struct hid_device *hdev, __u8 *rdesc,
|
|
|
{
|
|
|
struct sony_sc *sc = hid_get_drvdata(hdev);
|
|
|
|
|
|
+ if (sc->quirks & SINO_LITE_CONTROLLER)
|
|
|
+ return rdesc;
|
|
|
+
|
|
|
/*
|
|
|
* Some Sony RF receivers wrongly declare the mouse pointer as a
|
|
|
* a constant non-data variable.
|
|
@@ -2523,6 +2527,9 @@ static const struct hid_device_id sony_devices[] = {
|
|
|
.driver_data = DUALSHOCK4_CONTROLLER_USB },
|
|
|
{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_SONY, USB_DEVICE_ID_SONY_PS4_CONTROLLER),
|
|
|
.driver_data = DUALSHOCK4_CONTROLLER_BT },
|
|
|
+ /* Nyko Core Controller for PS3 */
|
|
|
+ { HID_USB_DEVICE(USB_VENDOR_ID_SINO_LITE, USB_DEVICE_ID_SINO_LITE_CONTROLLER),
|
|
|
+ .driver_data = SIXAXIS_CONTROLLER_USB | SINO_LITE_CONTROLLER },
|
|
|
{ }
|
|
|
};
|
|
|
MODULE_DEVICE_TABLE(hid, sony_devices);
|