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