Lines Matching refs:hid

15 #include <linux/hid.h>
39 * holding @devlock, it's still fine to access @hid.
47 struct hid_device *hid;
73 ret = hid_add_device(uhid->hid);
75 hid_err(uhid->hid, "Cannot register HID device: error %d\n", ret);
80 * of using uhid->hid.
81 * Just leave uhid->hid as-is for now, and clean it up when
103 hid_warn(uhid->hid, "Output queue is full\n");
126 static int uhid_hid_start(struct hid_device *hid)
128 struct uhid_device *uhid = hid->driver_data;
138 if (hid->report_enum[HID_FEATURE_REPORT].numbered)
140 if (hid->report_enum[HID_OUTPUT_REPORT].numbered)
142 if (hid->report_enum[HID_INPUT_REPORT].numbered)
152 static void uhid_hid_stop(struct hid_device *hid)
154 struct uhid_device *uhid = hid->driver_data;
156 hid->claimed = 0;
160 static int uhid_hid_open(struct hid_device *hid)
162 struct uhid_device *uhid = hid->driver_data;
167 static void uhid_hid_close(struct hid_device *hid)
169 struct uhid_device *uhid = hid->driver_data;
174 static int uhid_hid_parse(struct hid_device *hid)
176 struct uhid_device *uhid = hid->driver_data;
178 return hid_parse_report(hid, uhid->rd_data, uhid->rd_size);
232 static int uhid_hid_get_report(struct hid_device *hid, unsigned char rnum,
235 struct uhid_device *uhid = hid->driver_data;
275 static int uhid_hid_set_report(struct hid_device *hid, unsigned char rnum,
278 struct uhid_device *uhid = hid->driver_data;
316 static int uhid_hid_raw_request(struct hid_device *hid, unsigned char reportnum,
338 return uhid_hid_get_report(hid, reportnum, buf, len, u_rtype);
340 return uhid_hid_set_report(hid, reportnum, buf, len, u_rtype);
346 static int uhid_hid_output_raw(struct hid_device *hid, __u8 *buf, size_t count,
349 struct uhid_device *uhid = hid->driver_data;
384 static int uhid_hid_output_report(struct hid_device *hid, __u8 *buf,
387 return uhid_hid_output_raw(hid, buf, count, HID_OUTPUT_REPORT);
492 struct hid_device *hid;
497 if (uhid->hid)
511 hid = hid_allocate_device();
512 if (IS_ERR(hid)) {
513 ret = PTR_ERR(hid);
517 BUILD_BUG_ON(sizeof(hid->name) != sizeof(ev->u.create2.name));
518 strscpy(hid->name, ev->u.create2.name, sizeof(hid->name));
519 BUILD_BUG_ON(sizeof(hid->phys) != sizeof(ev->u.create2.phys));
520 strscpy(hid->phys, ev->u.create2.phys, sizeof(hid->phys));
521 BUILD_BUG_ON(sizeof(hid->uniq) != sizeof(ev->u.create2.uniq));
522 strscpy(hid->uniq, ev->u.create2.uniq, sizeof(hid->uniq));
524 hid->ll_driver = &uhid_hid_driver;
525 hid->bus = ev->u.create2.bus;
526 hid->vendor = ev->u.create2.vendor;
527 hid->product = ev->u.create2.product;
528 hid->version = ev->u.create2.version;
529 hid->country = ev->u.create2.country;
530 hid->driver_data = uhid;
531 hid->dev.parent = uhid_misc.this_device;
533 uhid->hid = hid;
578 if (!uhid->hid)
586 hid_destroy_device(uhid->hid);
587 uhid->hid = NULL;
598 hid_input_report(uhid->hid, HID_INPUT_REPORT, ev->u.input.data,
609 hid_input_report(uhid->hid, HID_INPUT_REPORT, ev->u.input2.data,