Lines Matching refs:hid
131 struct hid_device *hid; /* pointer to corresponding HID dev */ member
413 hid_input_report(ihid->hid, HID_INPUT_REPORT, ihid->inbuf + 2, in i2c_hid_get_input()
440 struct hid_device *hid = report->device; in i2c_hid_init_report() local
441 struct i2c_client *client = hid->driver_data; in i2c_hid_init_report()
464 hid_report_raw_event(hid, report->type, buffer + 2, size - 2, 1); in i2c_hid_init_report()
470 static void i2c_hid_init_reports(struct hid_device *hid) in i2c_hid_init_reports() argument
473 struct i2c_client *client = hid->driver_data; in i2c_hid_init_reports()
489 &hid->report_enum[HID_FEATURE_REPORT].report_list, list) in i2c_hid_init_reports()
500 static void i2c_hid_find_max_report(struct hid_device *hid, unsigned int type, in i2c_hid_find_max_report() argument
508 list_for_each_entry(report, &hid->report_enum[type].report_list, list) { in i2c_hid_find_max_report()
552 static int i2c_hid_get_raw_report(struct hid_device *hid, in i2c_hid_get_raw_report() argument
556 struct i2c_client *client = hid->driver_data; in i2c_hid_get_raw_report()
588 static int i2c_hid_output_raw_report(struct hid_device *hid, __u8 *buf, in i2c_hid_output_raw_report() argument
591 struct i2c_client *client = hid->driver_data; in i2c_hid_output_raw_report()
613 static int i2c_hid_output_report(struct hid_device *hid, __u8 *buf, in i2c_hid_output_report() argument
616 return i2c_hid_output_raw_report(hid, buf, count, HID_OUTPUT_REPORT, in i2c_hid_output_report()
620 static int i2c_hid_raw_request(struct hid_device *hid, unsigned char reportnum, in i2c_hid_raw_request() argument
626 return i2c_hid_get_raw_report(hid, reportnum, buf, len, rtype); in i2c_hid_raw_request()
630 return i2c_hid_output_raw_report(hid, buf, len, rtype, true); in i2c_hid_raw_request()
636 static int i2c_hid_parse(struct hid_device *hid) in i2c_hid_parse() argument
638 struct i2c_client *client = hid->driver_data; in i2c_hid_parse()
674 hid_err(hid, "reading report descriptor failed\n"); in i2c_hid_parse()
681 ret = hid_parse_report(hid, rdesc, rsize); in i2c_hid_parse()
691 static int i2c_hid_start(struct hid_device *hid) in i2c_hid_start() argument
693 struct i2c_client *client = hid->driver_data; in i2c_hid_start()
698 i2c_hid_find_max_report(hid, HID_INPUT_REPORT, &bufsize); in i2c_hid_start()
699 i2c_hid_find_max_report(hid, HID_OUTPUT_REPORT, &bufsize); in i2c_hid_start()
700 i2c_hid_find_max_report(hid, HID_FEATURE_REPORT, &bufsize); in i2c_hid_start()
711 if (!(hid->quirks & HID_QUIRK_NO_INIT_REPORTS)) in i2c_hid_start()
712 i2c_hid_init_reports(hid); in i2c_hid_start()
717 static void i2c_hid_stop(struct hid_device *hid) in i2c_hid_stop() argument
719 hid->claimed = 0; in i2c_hid_stop()
722 static int i2c_hid_open(struct hid_device *hid) in i2c_hid_open() argument
724 struct i2c_client *client = hid->driver_data; in i2c_hid_open()
729 if (!hid->open++) { in i2c_hid_open()
732 hid->open--; in i2c_hid_open()
742 static void i2c_hid_close(struct hid_device *hid) in i2c_hid_close() argument
744 struct i2c_client *client = hid->driver_data; in i2c_hid_close()
752 if (!--hid->open) { in i2c_hid_close()
761 static int i2c_hid_power(struct hid_device *hid, int lvl) in i2c_hid_power() argument
763 struct i2c_client *client = hid->driver_data; in i2c_hid_power()
945 struct hid_device *hid; in i2c_hid_probe() local
1015 hid = hid_allocate_device(); in i2c_hid_probe()
1016 if (IS_ERR(hid)) { in i2c_hid_probe()
1017 ret = PTR_ERR(hid); in i2c_hid_probe()
1021 ihid->hid = hid; in i2c_hid_probe()
1023 hid->driver_data = client; in i2c_hid_probe()
1024 hid->ll_driver = &i2c_hid_ll_driver; in i2c_hid_probe()
1025 hid->dev.parent = &client->dev; in i2c_hid_probe()
1026 ACPI_COMPANION_SET(&hid->dev, ACPI_COMPANION(&client->dev)); in i2c_hid_probe()
1027 hid->bus = BUS_I2C; in i2c_hid_probe()
1028 hid->version = le16_to_cpu(ihid->hdesc.bcdVersion); in i2c_hid_probe()
1029 hid->vendor = le16_to_cpu(ihid->hdesc.wVendorID); in i2c_hid_probe()
1030 hid->product = le16_to_cpu(ihid->hdesc.wProductID); in i2c_hid_probe()
1032 snprintf(hid->name, sizeof(hid->name), "%s %04hX:%04hX", in i2c_hid_probe()
1033 client->name, hid->vendor, hid->product); in i2c_hid_probe()
1035 ret = hid_add_device(hid); in i2c_hid_probe()
1046 hid_destroy_device(hid); in i2c_hid_probe()
1067 struct hid_device *hid; in i2c_hid_remove() local
1074 hid = ihid->hid; in i2c_hid_remove()
1075 hid_destroy_device(hid); in i2c_hid_remove()
1097 struct hid_device *hid = ihid->hid; in i2c_hid_suspend() local
1104 if (hid->driver && hid->driver->suspend) in i2c_hid_suspend()
1105 ret = hid->driver->suspend(hid, PMSG_SUSPEND); in i2c_hid_suspend()
1118 struct hid_device *hid = ihid->hid; in i2c_hid_resume() local
1128 if (hid->driver && hid->driver->reset_resume) { in i2c_hid_resume()
1129 ret = hid->driver->reset_resume(hid); in i2c_hid_resume()