Documentation/hid/hid-sensor.txt
Documentation/hid/hid-sensor.txt
+3
drivers/hid/hid-ids.h
+3
drivers/hid/hid-ids.h
···
306
306
#define USB_VENDOR_ID_EZKEY 0x0518
307
307
#define USB_DEVICE_ID_BTC_8193 0x0002
308
308
309
+
#define USB_VENDOR_ID_FORMOSA 0x147a
310
+
#define USB_DEVICE_ID_FORMOSA_IR_RECEIVER 0xe03e
311
+
309
312
#define USB_VENDOR_ID_FREESCALE 0x15A2
310
313
#define USB_DEVICE_ID_FREESCALE_MX28 0x004F
311
314
+12
-1
drivers/hid/i2c-hid/i2c-hid.c
+12
-1
drivers/hid/i2c-hid/i2c-hid.c
···
540
540
{
541
541
struct i2c_client *client = hid->driver_data;
542
542
int report_id = buf[0];
543
+
int ret;
543
544
544
545
if (report_type == HID_INPUT_REPORT)
545
546
return -EINVAL;
546
547
547
-
return i2c_hid_set_report(client,
548
+
if (report_id) {
549
+
buf++;
550
+
count--;
551
+
}
552
+
553
+
ret = i2c_hid_set_report(client,
548
554
report_type == HID_FEATURE_REPORT ? 0x03 : 0x02,
549
555
report_id, buf, count);
556
+
557
+
if (report_id && ret >= 0)
558
+
ret++; /* add report_id to the number of transfered bytes */
559
+
560
+
return ret;
550
561
}
551
562
552
563
static int i2c_hid_parse(struct hid_device *hid)
+1
drivers/hid/usbhid/hid-quirks.c
+1
drivers/hid/usbhid/hid-quirks.c
···
70
70
{ USB_VENDOR_ID_CH, USB_DEVICE_ID_CH_AXIS_295, HID_QUIRK_NOGET },
71
71
{ USB_VENDOR_ID_DMI, USB_DEVICE_ID_DMI_ENC, HID_QUIRK_NOGET },
72
72
{ USB_VENDOR_ID_ELO, USB_DEVICE_ID_ELO_TS2700, HID_QUIRK_NOGET },
73
+
{ USB_VENDOR_ID_FORMOSA, USB_DEVICE_ID_FORMOSA_IR_RECEIVER, HID_QUIRK_NO_INIT_REPORTS },
73
74
{ USB_VENDOR_ID_FREESCALE, USB_DEVICE_ID_FREESCALE_MX28, HID_QUIRK_NOGET },
74
75
{ USB_VENDOR_ID_MGE, USB_DEVICE_ID_MGE_UPS, HID_QUIRK_NOGET },
75
76
{ USB_VENDOR_ID_NOVATEK, USB_DEVICE_ID_NOVATEK_MOUSE, HID_QUIRK_NO_INIT_REPORTS },