HID: kye: Sort kye devices
authorDavid Yang <mmyangfl@gmail.com>
Tue, 7 Feb 2023 04:33:16 +0000 (12:33 +0800)
committerJiri Kosina <jkosina@suse.cz>
Fri, 10 Mar 2023 14:05:24 +0000 (15:05 +0100)
Sort kye devices by their Produce IDs.

Signed-off-by: David Yang <mmyangfl@gmail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
drivers/hid/hid-ids.h
drivers/hid/hid-kye.c
drivers/hid/hid-quirks.c

index 63545cd..c6e14d1 100644 (file)
 #define USB_DEVICE_ID_KYE_GPEN_560     0x5003
 #define USB_DEVICE_ID_KYE_EASYPEN_I405X        0x5010
 #define USB_DEVICE_ID_KYE_MOUSEPEN_I608X       0x5011
-#define USB_DEVICE_ID_KYE_MOUSEPEN_I608X_V2    0x501a
 #define USB_DEVICE_ID_KYE_EASYPEN_M610X        0x5013
 #define USB_DEVICE_ID_KYE_PENSKETCH_M912       0x5015
 #define USB_DEVICE_ID_KYE_EASYPEN_M406XE       0x5019
+#define USB_DEVICE_ID_KYE_MOUSEPEN_I608X_V2    0x501A
 
 #define USB_VENDOR_ID_LABTEC           0x1020
 #define USB_DEVICE_ID_LABTEC_WIRELESS_KEYBOARD 0x0006
index 03a9ad9..47f5aa5 100644 (file)
@@ -329,25 +329,25 @@ static __u8 *kye_report_fixup(struct hid_device *hdev, __u8 *rdesc,
                        rdesc[74] = 0x08;
                }
                break;
-       case USB_DEVICE_ID_KYE_EASYPEN_I405X:
-       case USB_DEVICE_ID_KYE_MOUSEPEN_I608X:
-       case USB_DEVICE_ID_KYE_MOUSEPEN_I608X_V2:
-       case USB_DEVICE_ID_KYE_EASYPEN_M610X:
-       case USB_DEVICE_ID_KYE_EASYPEN_M406XE:
-       case USB_DEVICE_ID_KYE_PENSKETCH_M912:
-               rdesc = kye_tablet_fixup(hdev, rdesc, rsize);
-               break;
        case USB_DEVICE_ID_GENIUS_GILA_GAMING_MOUSE:
                rdesc = kye_consumer_control_fixup(hdev, rdesc, rsize, 104,
                                        "Genius Gila Gaming Mouse");
                break;
+       case USB_DEVICE_ID_GENIUS_MANTICORE:
+               rdesc = kye_consumer_control_fixup(hdev, rdesc, rsize, 104,
+                                       "Genius Manticore Keyboard");
+               break;
        case USB_DEVICE_ID_GENIUS_GX_IMPERATOR:
                rdesc = kye_consumer_control_fixup(hdev, rdesc, rsize, 83,
                                        "Genius Gx Imperator Keyboard");
                break;
-       case USB_DEVICE_ID_GENIUS_MANTICORE:
-               rdesc = kye_consumer_control_fixup(hdev, rdesc, rsize, 104,
-                                       "Genius Manticore Keyboard");
+       case USB_DEVICE_ID_KYE_EASYPEN_I405X:
+       case USB_DEVICE_ID_KYE_MOUSEPEN_I608X:
+       case USB_DEVICE_ID_KYE_MOUSEPEN_I608X_V2:
+       case USB_DEVICE_ID_KYE_EASYPEN_M610X:
+       case USB_DEVICE_ID_KYE_EASYPEN_M406XE:
+       case USB_DEVICE_ID_KYE_PENSKETCH_M912:
+               rdesc = kye_tablet_fixup(hdev, rdesc, rsize);
                break;
        }
        return rdesc;
@@ -417,26 +417,26 @@ static int kye_probe(struct hid_device *hdev, const struct hid_device_id *id)
        }
 
        switch (id->product) {
+       case USB_DEVICE_ID_GENIUS_MANTICORE:
+               /*
+                * The manticore keyboard needs to have all the interfaces
+                * opened at least once to be fully functional.
+                */
+               if (hid_hw_open(hdev))
+                       hid_hw_close(hdev);
+               break;
        case USB_DEVICE_ID_KYE_EASYPEN_I405X:
        case USB_DEVICE_ID_KYE_MOUSEPEN_I608X:
-       case USB_DEVICE_ID_KYE_MOUSEPEN_I608X_V2:
        case USB_DEVICE_ID_KYE_EASYPEN_M610X:
-       case USB_DEVICE_ID_KYE_EASYPEN_M406XE:
        case USB_DEVICE_ID_KYE_PENSKETCH_M912:
+       case USB_DEVICE_ID_KYE_EASYPEN_M406XE:
+       case USB_DEVICE_ID_KYE_MOUSEPEN_I608X_V2:
                ret = kye_tablet_enable(hdev);
                if (ret) {
                        hid_err(hdev, "tablet enabling failed\n");
                        goto enabling_err;
                }
                break;
-       case USB_DEVICE_ID_GENIUS_MANTICORE:
-               /*
-                * The manticore keyboard needs to have all the interfaces
-                * opened at least once to be fully functional.
-                */
-               if (hid_hw_open(hdev))
-                       hid_hw_close(hdev);
-               break;
        }
 
        return 0;
@@ -449,23 +449,23 @@ err:
 static const struct hid_device_id kye_devices[] = {
        { HID_USB_DEVICE(USB_VENDOR_ID_KYE, USB_DEVICE_ID_KYE_ERGO_525V) },
        { HID_USB_DEVICE(USB_VENDOR_ID_KYE,
-                               USB_DEVICE_ID_KYE_EASYPEN_I405X) },
+                               USB_DEVICE_ID_GENIUS_GILA_GAMING_MOUSE) },
        { HID_USB_DEVICE(USB_VENDOR_ID_KYE,
-                               USB_DEVICE_ID_KYE_MOUSEPEN_I608X) },
+                               USB_DEVICE_ID_GENIUS_MANTICORE) },
        { HID_USB_DEVICE(USB_VENDOR_ID_KYE,
-                               USB_DEVICE_ID_KYE_MOUSEPEN_I608X_V2) },
+                               USB_DEVICE_ID_GENIUS_GX_IMPERATOR) },
        { HID_USB_DEVICE(USB_VENDOR_ID_KYE,
-                               USB_DEVICE_ID_KYE_EASYPEN_M610X) },
+                               USB_DEVICE_ID_KYE_EASYPEN_I405X) },
        { HID_USB_DEVICE(USB_VENDOR_ID_KYE,
-                               USB_DEVICE_ID_KYE_EASYPEN_M406XE) },
+                               USB_DEVICE_ID_KYE_MOUSEPEN_I608X) },
        { HID_USB_DEVICE(USB_VENDOR_ID_KYE,
-                               USB_DEVICE_ID_GENIUS_GILA_GAMING_MOUSE) },
+                               USB_DEVICE_ID_KYE_EASYPEN_M610X) },
        { HID_USB_DEVICE(USB_VENDOR_ID_KYE,
-                               USB_DEVICE_ID_GENIUS_GX_IMPERATOR) },
+                               USB_DEVICE_ID_KYE_PENSKETCH_M912) },
        { HID_USB_DEVICE(USB_VENDOR_ID_KYE,
-                               USB_DEVICE_ID_GENIUS_MANTICORE) },
+                               USB_DEVICE_ID_KYE_EASYPEN_M406XE) },
        { HID_USB_DEVICE(USB_VENDOR_ID_KYE,
-                               USB_DEVICE_ID_KYE_PENSKETCH_M912) },
+                               USB_DEVICE_ID_KYE_MOUSEPEN_I608X_V2) },
        { }
 };
 MODULE_DEVICE_TABLE(hid, kye_devices);
index 66e6435..121c8f0 100644 (file)
@@ -104,12 +104,12 @@ static const struct hid_device_id hid_quirks[] = {
        { HID_USB_DEVICE(USB_VENDOR_ID_HP, USB_PRODUCT_ID_HP_PIXART_OEM_USB_OPTICAL_MOUSE_1f4a), HID_QUIRK_ALWAYS_POLL },
        { HID_USB_DEVICE(USB_VENDOR_ID_IDEACOM, USB_DEVICE_ID_IDEACOM_IDC6680), HID_QUIRK_MULTI_INPUT },
        { HID_USB_DEVICE(USB_VENDOR_ID_INNOMEDIA, USB_DEVICE_ID_INNEX_GENESIS_ATARI), HID_QUIRK_MULTI_INPUT },
-       { HID_USB_DEVICE(USB_VENDOR_ID_KYE, USB_DEVICE_ID_KYE_EASYPEN_M610X), HID_QUIRK_MULTI_INPUT },
+       { HID_USB_DEVICE(USB_VENDOR_ID_KYE, USB_DEVICE_ID_PIXART_USB_OPTICAL_MOUSE_ID2), HID_QUIRK_ALWAYS_POLL },
        { HID_USB_DEVICE(USB_VENDOR_ID_KYE, USB_DEVICE_ID_KYE_MOUSEPEN_I608X), HID_QUIRK_MULTI_INPUT },
-       { HID_USB_DEVICE(USB_VENDOR_ID_KYE, USB_DEVICE_ID_KYE_MOUSEPEN_I608X_V2), HID_QUIRK_MULTI_INPUT },
+       { HID_USB_DEVICE(USB_VENDOR_ID_KYE, USB_DEVICE_ID_KYE_EASYPEN_M610X), HID_QUIRK_MULTI_INPUT },
        { HID_USB_DEVICE(USB_VENDOR_ID_KYE, USB_DEVICE_ID_KYE_PENSKETCH_M912), HID_QUIRK_MULTI_INPUT },
        { HID_USB_DEVICE(USB_VENDOR_ID_KYE, USB_DEVICE_ID_KYE_EASYPEN_M406XE), HID_QUIRK_MULTI_INPUT },
-       { HID_USB_DEVICE(USB_VENDOR_ID_KYE, USB_DEVICE_ID_PIXART_USB_OPTICAL_MOUSE_ID2), HID_QUIRK_ALWAYS_POLL },
+       { HID_USB_DEVICE(USB_VENDOR_ID_KYE, USB_DEVICE_ID_KYE_MOUSEPEN_I608X_V2), HID_QUIRK_MULTI_INPUT },
        { HID_USB_DEVICE(USB_VENDOR_ID_LENOVO, USB_DEVICE_ID_LENOVO_OPTICAL_USB_MOUSE_600E), HID_QUIRK_ALWAYS_POLL },
        { HID_USB_DEVICE(USB_VENDOR_ID_LENOVO, USB_DEVICE_ID_LENOVO_PIXART_USB_MOUSE_608D), HID_QUIRK_ALWAYS_POLL },
        { HID_USB_DEVICE(USB_VENDOR_ID_LENOVO, USB_DEVICE_ID_LENOVO_PIXART_USB_MOUSE_6019), HID_QUIRK_ALWAYS_POLL },