Lines Matching defs:hdev
362 static __u8 *kye_consumer_control_fixup(struct hid_device *hdev, __u8 *rdesc,
377 hid_info(hdev, "fixing up %s report descriptor\n", device_name);
402 static __u8 *kye_tablet_fixup(struct hid_device *hdev, __u8 *rdesc, unsigned int *rsize)
408 hid_warn(hdev,
414 if (hdev->product == info->product)
419 hid_err(hdev, "tablet unknown, someone forget to add kye_tablet_info entry?\n");
445 hid_err(hdev, "control rdesc unexpectedly large");
456 static __u8 *kye_report_fixup(struct hid_device *hdev, __u8 *rdesc,
459 switch (hdev->product) {
474 hid_info(hdev,
485 rdesc = kye_consumer_control_fixup(hdev, rdesc, rsize, 104,
489 rdesc = kye_consumer_control_fixup(hdev, rdesc, rsize, 104,
493 rdesc = kye_consumer_control_fixup(hdev, rdesc, rsize, 83,
509 rdesc = kye_tablet_fixup(hdev, rdesc, rsize);
515 static int kye_tablet_enable(struct hid_device *hdev)
522 list = &hdev->report_enum[HID_FEATURE_REPORT].report_list;
530 hid_err(hdev, "tablet-enabling feature report not found\n");
535 hid_err(hdev, "invalid tablet-enabling feature report\n");
557 hid_hw_request(hdev, report, HID_REQ_SET_REPORT);
562 static int kye_probe(struct hid_device *hdev, const struct hid_device_id *id)
566 ret = hid_parse(hdev);
568 hid_err(hdev, "parse failed\n");
572 ret = hid_hw_start(hdev, HID_CONNECT_DEFAULT);
574 hid_err(hdev, "hw start failed\n");
584 if (hid_hw_open(hdev))
585 hid_hw_close(hdev);
600 ret = kye_tablet_enable(hdev);
602 hid_err(hdev, "tablet enabling failed\n");
610 hid_hw_stop(hdev);