Lines Matching refs:hdev
342 static __u8 *lg_report_fixup(struct hid_device *hdev, __u8 *rdesc, in lg_report_fixup() argument
345 struct lg_drv_data *drv_data = hid_get_drvdata(hdev); in lg_report_fixup()
351 hid_info(hdev, in lg_report_fixup()
359 hid_info(hdev, in lg_report_fixup()
364 switch (hdev->product) { in lg_report_fixup()
368 udesc = &(hid_to_usb_dev(hdev)->descriptor); in lg_report_fixup()
370 hid_err(hdev, "NULL USB device descriptor\n"); in lg_report_fixup()
380 hid_info(hdev, in lg_report_fixup()
389 hid_info(hdev, in lg_report_fixup()
398 hid_info(hdev, in lg_report_fixup()
407 hid_info(hdev, in lg_report_fixup()
416 hid_info(hdev, in lg_report_fixup()
426 hid_info(hdev, "fixing up Logitech Speed Force Wireless report descriptor\n"); in lg_report_fixup()
551 static int lg_input_mapping(struct hid_device *hdev, struct hid_input *hi, in lg_input_mapping() argument
567 struct lg_drv_data *drv_data = hid_get_drvdata(hdev); in lg_input_mapping()
570 if (hdev->product == USB_DEVICE_ID_LOGITECH_RECEIVER && in lg_input_mapping()
574 if (hdev->product == USB_DEVICE_ID_DINOVO_MINI && in lg_input_mapping()
604 static int lg_input_mapped(struct hid_device *hdev, struct hid_input *hi, in lg_input_mapped() argument
608 struct lg_drv_data *drv_data = hid_get_drvdata(hdev); in lg_input_mapped()
622 switch (hdev->product) { in lg_input_mapped()
643 static int lg_event(struct hid_device *hdev, struct hid_field *field, in lg_event() argument
646 struct lg_drv_data *drv_data = hid_get_drvdata(hdev); in lg_event()
654 return lg4ff_adjust_input_event(hdev, field, usage, value, drv_data); in lg_event()
660 static int lg_probe(struct hid_device *hdev, const struct hid_device_id *id) in lg_probe() argument
662 struct usb_interface *iface = to_usb_interface(hdev->dev.parent); in lg_probe()
669 if ((hdev->product == USB_DEVICE_ID_LOGITECH_G29_WHEEL) && in lg_probe()
677 hid_err(hdev, "Insufficient memory, cannot allocate driver data\n"); in lg_probe()
682 hid_set_drvdata(hdev, (void *)drv_data); in lg_probe()
685 hdev->quirks |= HID_QUIRK_NOGET; in lg_probe()
687 ret = hid_parse(hdev); in lg_probe()
689 hid_err(hdev, "parse failed\n"); in lg_probe()
696 ret = hid_hw_start(hdev, connect_mask); in lg_probe()
698 hid_err(hdev, "hw start failed\n"); in lg_probe()
703 if (hdev->product == USB_DEVICE_ID_LOGITECH_WII_WHEEL) { in lg_probe()
706 ret = hid_hw_raw_request(hdev, buf[0], buf, sizeof(buf), in lg_probe()
720 ret = hid_hw_raw_request(hdev, buf[0], buf, sizeof(buf), in lg_probe()
726 ret = lgff_init(hdev); in lg_probe()
728 ret = lg2ff_init(hdev); in lg_probe()
730 ret = lg3ff_init(hdev); in lg_probe()
732 ret = lg4ff_init(hdev); in lg_probe()
743 static void lg_remove(struct hid_device *hdev) in lg_remove() argument
745 struct lg_drv_data *drv_data = hid_get_drvdata(hdev); in lg_remove()
747 lg4ff_deinit(hdev); in lg_remove()
749 hid_hw_stop(hdev); in lg_remove()