diff options
Diffstat (limited to 'drivers/hid/hid-kye.c')
-rw-r--r-- | drivers/hid/hid-kye.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/drivers/hid/hid-kye.c b/drivers/hid/hid-kye.c index 73845120295e..ecb5ca669e97 100644 --- a/drivers/hid/hid-kye.c +++ b/drivers/hid/hid-kye.c | |||
@@ -341,6 +341,9 @@ static __u8 *kye_report_fixup(struct hid_device *hdev, __u8 *rdesc, | |||
341 | case USB_DEVICE_ID_GENIUS_GX_IMPERATOR: | 341 | case USB_DEVICE_ID_GENIUS_GX_IMPERATOR: |
342 | rdesc = kye_consumer_control_fixup(hdev, rdesc, rsize, 83, | 342 | rdesc = kye_consumer_control_fixup(hdev, rdesc, rsize, 83, |
343 | "Genius Gx Imperator Keyboard"); | 343 | "Genius Gx Imperator Keyboard"); |
344 | case USB_DEVICE_ID_GENIUS_MANTICORE: | ||
345 | rdesc = kye_consumer_control_fixup(hdev, rdesc, rsize, 104, | ||
346 | "Genius Manticore Keyboard"); | ||
344 | break; | 347 | break; |
345 | } | 348 | } |
346 | return rdesc; | 349 | return rdesc; |
@@ -418,6 +421,14 @@ static int kye_probe(struct hid_device *hdev, const struct hid_device_id *id) | |||
418 | goto enabling_err; | 421 | goto enabling_err; |
419 | } | 422 | } |
420 | break; | 423 | break; |
424 | case USB_DEVICE_ID_GENIUS_MANTICORE: | ||
425 | /* | ||
426 | * The manticore keyboard needs to have all the interfaces | ||
427 | * opened at least once to be fully functional. | ||
428 | */ | ||
429 | if (hid_hw_open(hdev)) | ||
430 | hid_hw_close(hdev); | ||
431 | break; | ||
421 | } | 432 | } |
422 | 433 | ||
423 | return 0; | 434 | return 0; |
@@ -439,6 +450,8 @@ static const struct hid_device_id kye_devices[] = { | |||
439 | USB_DEVICE_ID_GENIUS_GILA_GAMING_MOUSE) }, | 450 | USB_DEVICE_ID_GENIUS_GILA_GAMING_MOUSE) }, |
440 | { HID_USB_DEVICE(USB_VENDOR_ID_KYE, | 451 | { HID_USB_DEVICE(USB_VENDOR_ID_KYE, |
441 | USB_DEVICE_ID_GENIUS_GX_IMPERATOR) }, | 452 | USB_DEVICE_ID_GENIUS_GX_IMPERATOR) }, |
453 | { HID_USB_DEVICE(USB_VENDOR_ID_KYE, | ||
454 | USB_DEVICE_ID_GENIUS_MANTICORE) }, | ||
442 | { } | 455 | { } |
443 | }; | 456 | }; |
444 | MODULE_DEVICE_TABLE(hid, kye_devices); | 457 | MODULE_DEVICE_TABLE(hid, kye_devices); |