Lines Matching refs:hid

131 	struct hid_device	*hid;	/* pointer to corresponding HID dev */  member
415 hid_input_report(ihid->hid, HID_INPUT_REPORT, ihid->inbuf + 2, in i2c_hid_get_input()
442 struct hid_device *hid = report->device; in i2c_hid_init_report() local
443 struct i2c_client *client = hid->driver_data; in i2c_hid_init_report()
466 hid_report_raw_event(hid, report->type, buffer + 2, size - 2, 1); in i2c_hid_init_report()
472 static void i2c_hid_init_reports(struct hid_device *hid) in i2c_hid_init_reports() argument
475 struct i2c_client *client = hid->driver_data; in i2c_hid_init_reports()
491 &hid->report_enum[HID_FEATURE_REPORT].report_list, list) in i2c_hid_init_reports()
502 static void i2c_hid_find_max_report(struct hid_device *hid, unsigned int type, in i2c_hid_find_max_report() argument
510 list_for_each_entry(report, &hid->report_enum[type].report_list, list) { in i2c_hid_find_max_report()
554 static int i2c_hid_get_raw_report(struct hid_device *hid, in i2c_hid_get_raw_report() argument
558 struct i2c_client *client = hid->driver_data; in i2c_hid_get_raw_report()
590 static int i2c_hid_output_raw_report(struct hid_device *hid, __u8 *buf, in i2c_hid_output_raw_report() argument
593 struct i2c_client *client = hid->driver_data; in i2c_hid_output_raw_report()
615 static int i2c_hid_output_report(struct hid_device *hid, __u8 *buf, in i2c_hid_output_report() argument
618 return i2c_hid_output_raw_report(hid, buf, count, HID_OUTPUT_REPORT, in i2c_hid_output_report()
622 static int i2c_hid_raw_request(struct hid_device *hid, unsigned char reportnum, in i2c_hid_raw_request() argument
628 return i2c_hid_get_raw_report(hid, reportnum, buf, len, rtype); in i2c_hid_raw_request()
632 return i2c_hid_output_raw_report(hid, buf, len, rtype, true); in i2c_hid_raw_request()
638 static int i2c_hid_parse(struct hid_device *hid) in i2c_hid_parse() argument
640 struct i2c_client *client = hid->driver_data; in i2c_hid_parse()
676 hid_err(hid, "reading report descriptor failed\n"); in i2c_hid_parse()
683 ret = hid_parse_report(hid, rdesc, rsize); in i2c_hid_parse()
693 static int i2c_hid_start(struct hid_device *hid) in i2c_hid_start() argument
695 struct i2c_client *client = hid->driver_data; in i2c_hid_start()
700 i2c_hid_find_max_report(hid, HID_INPUT_REPORT, &bufsize); in i2c_hid_start()
701 i2c_hid_find_max_report(hid, HID_OUTPUT_REPORT, &bufsize); in i2c_hid_start()
702 i2c_hid_find_max_report(hid, HID_FEATURE_REPORT, &bufsize); in i2c_hid_start()
713 if (!(hid->quirks & HID_QUIRK_NO_INIT_REPORTS)) in i2c_hid_start()
714 i2c_hid_init_reports(hid); in i2c_hid_start()
719 static void i2c_hid_stop(struct hid_device *hid) in i2c_hid_stop() argument
721 hid->claimed = 0; in i2c_hid_stop()
724 static int i2c_hid_open(struct hid_device *hid) in i2c_hid_open() argument
726 struct i2c_client *client = hid->driver_data; in i2c_hid_open()
731 if (!hid->open++) { in i2c_hid_open()
734 hid->open--; in i2c_hid_open()
744 static void i2c_hid_close(struct hid_device *hid) in i2c_hid_close() argument
746 struct i2c_client *client = hid->driver_data; in i2c_hid_close()
754 if (!--hid->open) { in i2c_hid_close()
763 static int i2c_hid_power(struct hid_device *hid, int lvl) in i2c_hid_power() argument
765 struct i2c_client *client = hid->driver_data; in i2c_hid_power()
947 struct hid_device *hid; in i2c_hid_probe() local
1017 hid = hid_allocate_device(); in i2c_hid_probe()
1018 if (IS_ERR(hid)) { in i2c_hid_probe()
1019 ret = PTR_ERR(hid); in i2c_hid_probe()
1023 ihid->hid = hid; in i2c_hid_probe()
1025 hid->driver_data = client; in i2c_hid_probe()
1026 hid->ll_driver = &i2c_hid_ll_driver; in i2c_hid_probe()
1027 hid->dev.parent = &client->dev; in i2c_hid_probe()
1028 hid->bus = BUS_I2C; in i2c_hid_probe()
1029 hid->version = le16_to_cpu(ihid->hdesc.bcdVersion); in i2c_hid_probe()
1030 hid->vendor = le16_to_cpu(ihid->hdesc.wVendorID); in i2c_hid_probe()
1031 hid->product = le16_to_cpu(ihid->hdesc.wProductID); in i2c_hid_probe()
1033 snprintf(hid->name, sizeof(hid->name), "%s %04hX:%04hX", in i2c_hid_probe()
1034 client->name, hid->vendor, hid->product); in i2c_hid_probe()
1035 strlcpy(hid->phys, dev_name(&client->dev), sizeof(hid->phys)); in i2c_hid_probe()
1037 ret = hid_add_device(hid); in i2c_hid_probe()
1048 hid_destroy_device(hid); in i2c_hid_probe()
1069 struct hid_device *hid; in i2c_hid_remove() local
1076 hid = ihid->hid; in i2c_hid_remove()
1077 hid_destroy_device(hid); in i2c_hid_remove()
1099 struct hid_device *hid = ihid->hid; in i2c_hid_suspend() local
1103 if (hid->driver && hid->driver->suspend) in i2c_hid_suspend()
1104 ret = hid->driver->suspend(hid, PMSG_SUSPEND); in i2c_hid_suspend()
1112 hid_warn(hid, "Failed to enable irq wake: %d\n", in i2c_hid_suspend()
1127 struct hid_device *hid = ihid->hid; in i2c_hid_resume() local
1140 hid_warn(hid, "Failed to disable irq wake: %d\n", in i2c_hid_resume()
1144 if (hid->driver && hid->driver->reset_resume) { in i2c_hid_resume()
1145 ret = hid->driver->reset_resume(hid); in i2c_hid_resume()