Lines Matching refs:hid
75 static void lg4ff_set_range_dfp(struct hid_device *hid, u16 range);
76 static void lg4ff_set_range_g25(struct hid_device *hid, u16 range);
92 void (*set_range)(struct hid_device *hid, u16 range);
112 void (*set_range)(struct hid_device *hid, u16 range);
307 int lg4ff_adjust_input_event(struct hid_device *hid, struct hid_field *field, in lg4ff_adjust_input_event() argument
314 hid_err(hid, "Device properties not found"); in lg4ff_adjust_input_event()
363 struct hid_device *hid = input_get_drvdata(dev); in lg4ff_play() local
370 drv_data = hid_get_drvdata(hid); in lg4ff_play()
372 hid_err(hid, "Private driver data not found!\n"); in lg4ff_play()
378 hid_err(hid, "Device properties not found!\n"); in lg4ff_play()
401 hid_hw_request(hid, entry->report, HID_REQ_SET_REPORT); in lg4ff_play()
414 hid_hw_request(hid, entry->report, HID_REQ_SET_REPORT); in lg4ff_play()
425 struct hid_device *hid = input_get_drvdata(dev); in lg4ff_set_autocenter_default() local
426 struct list_head *report_list = &hid->report_enum[HID_OUTPUT_REPORT].report_list; in lg4ff_set_autocenter_default()
434 drv_data = hid_get_drvdata(hid); in lg4ff_set_autocenter_default()
436 hid_err(hid, "Private driver data not found!\n"); in lg4ff_set_autocenter_default()
442 hid_err(hid, "Device properties not found!\n"); in lg4ff_set_autocenter_default()
458 hid_hw_request(hid, entry->report, HID_REQ_SET_REPORT); in lg4ff_set_autocenter_default()
489 hid_hw_request(hid, entry->report, HID_REQ_SET_REPORT); in lg4ff_set_autocenter_default()
500 hid_hw_request(hid, entry->report, HID_REQ_SET_REPORT); in lg4ff_set_autocenter_default()
507 struct hid_device *hid = input_get_drvdata(dev); in lg4ff_set_autocenter_ffex() local
514 drv_data = hid_get_drvdata(hid); in lg4ff_set_autocenter_ffex()
516 hid_err(hid, "Private driver data not found!\n"); in lg4ff_set_autocenter_ffex()
522 hid_err(hid, "Device properties not found!\n"); in lg4ff_set_autocenter_ffex()
536 hid_hw_request(hid, entry->report, HID_REQ_SET_REPORT); in lg4ff_set_autocenter_ffex()
541 static void lg4ff_set_range_g25(struct hid_device *hid, u16 range) in lg4ff_set_range_g25() argument
548 drv_data = hid_get_drvdata(hid); in lg4ff_set_range_g25()
550 hid_err(hid, "Private driver data not found!\n"); in lg4ff_set_range_g25()
556 hid_err(hid, "Device properties not found!\n"); in lg4ff_set_range_g25()
571 hid_hw_request(hid, entry->report, HID_REQ_SET_REPORT); in lg4ff_set_range_g25()
576 static void lg4ff_set_range_dfp(struct hid_device *hid, u16 range) in lg4ff_set_range_dfp() argument
584 drv_data = hid_get_drvdata(hid); in lg4ff_set_range_dfp()
586 hid_err(hid, "Private driver data not found!\n"); in lg4ff_set_range_dfp()
592 hid_err(hid, "Device properties not found!\n"); in lg4ff_set_range_dfp()
615 hid_hw_request(hid, entry->report, HID_REQ_SET_REPORT); in lg4ff_set_range_dfp()
627 hid_hw_request(hid, entry->report, HID_REQ_SET_REPORT); in lg4ff_set_range_dfp()
642 hid_hw_request(hid, entry->report, HID_REQ_SET_REPORT); in lg4ff_set_range_dfp()
720 static int lg4ff_switch_compatibility_mode(struct hid_device *hid, const struct lg4ff_compat_mode_s… in lg4ff_switch_compatibility_mode() argument
728 drv_data = hid_get_drvdata(hid); in lg4ff_switch_compatibility_mode()
730 hid_err(hid, "Private driver data not found!\n"); in lg4ff_switch_compatibility_mode()
736 hid_err(hid, "Device properties not found!\n"); in lg4ff_switch_compatibility_mode()
748 hid_hw_request(hid, entry->report, HID_REQ_SET_REPORT); in lg4ff_switch_compatibility_mode()
751 hid_hw_wait(hid); in lg4ff_switch_compatibility_mode()
757 struct hid_device *hid = to_hid_device(dev); in lg4ff_alternate_modes_show() local
763 drv_data = hid_get_drvdata(hid); in lg4ff_alternate_modes_show()
765 hid_err(hid, "Private driver data not found!\n"); in lg4ff_alternate_modes_show()
771 hid_err(hid, "Device properties not found!\n"); in lg4ff_alternate_modes_show()
776 hid_err(hid, "NULL pointer to string\n"); in lg4ff_alternate_modes_show()
806 struct hid_device *hid = to_hid_device(dev); in lg4ff_alternate_modes_store() local
814 drv_data = hid_get_drvdata(hid); in lg4ff_alternate_modes_store()
816 hid_err(hid, "Private driver data not found!\n"); in lg4ff_alternate_modes_store()
822 hid_err(hid, "Device properties not found!\n"); in lg4ff_alternate_modes_store()
856 hid_info(hid, "Requested mode \"%s\" is not supported by the device\n", lbuf); in lg4ff_alternate_modes_store()
867 …hid_info(hid, "\"%s\" cannot be switched to \"DF-EX\" mode. Load the \"hid_logitech\" module with … in lg4ff_alternate_modes_store()
875 …hid_info(hid, "\"%s\" cannot be switched back into \"%s\" mode\n", entry->wdata.real_name, lg4ff_a… in lg4ff_alternate_modes_store()
881 hid_err(hid, "Invalid target product ID %X\n", target_product_id); in lg4ff_alternate_modes_store()
885 ret = lg4ff_switch_compatibility_mode(hid, s); in lg4ff_alternate_modes_store()
894 struct hid_device *hid = to_hid_device(dev); in lg4ff_range_show() local
899 drv_data = hid_get_drvdata(hid); in lg4ff_range_show()
901 hid_err(hid, "Private driver data not found!\n"); in lg4ff_range_show()
907 hid_err(hid, "Device properties not found!\n"); in lg4ff_range_show()
920 struct hid_device *hid = to_hid_device(dev); in lg4ff_range_store() local
925 drv_data = hid_get_drvdata(hid); in lg4ff_range_store()
927 hid_err(hid, "Private driver data not found!\n"); in lg4ff_range_store()
933 hid_err(hid, "Device properties not found!\n"); in lg4ff_range_store()
943 entry->wdata.set_range(hid, range); in lg4ff_range_store()
953 struct hid_device *hid = to_hid_device(dev); in lg4ff_real_id_show() local
958 drv_data = hid_get_drvdata(hid); in lg4ff_real_id_show()
960 hid_err(hid, "Private driver data not found!\n"); in lg4ff_real_id_show()
966 hid_err(hid, "Device properties not found!\n"); in lg4ff_real_id_show()
971 hid_err(hid, "NULL pointer to string\n"); in lg4ff_real_id_show()
987 static void lg4ff_set_leds(struct hid_device *hid, u8 leds) in lg4ff_set_leds() argument
994 drv_data = hid_get_drvdata(hid); in lg4ff_set_leds()
996 hid_err(hid, "Private driver data not found!\n"); in lg4ff_set_leds()
1002 hid_err(hid, "Device properties not found!\n"); in lg4ff_set_leds()
1015 hid_hw_request(hid, entry->report, HID_REQ_SET_REPORT); in lg4ff_set_leds()
1023 struct hid_device *hid = container_of(dev, struct hid_device, dev); in lg4ff_led_set_brightness() local
1024 struct lg_drv_data *drv_data = hid_get_drvdata(hid); in lg4ff_led_set_brightness()
1029 hid_err(hid, "Device data not found."); in lg4ff_led_set_brightness()
1036 hid_err(hid, "Device properties not found."); in lg4ff_led_set_brightness()
1046 lg4ff_set_leds(hid, entry->wdata.led_state); in lg4ff_led_set_brightness()
1049 lg4ff_set_leds(hid, entry->wdata.led_state); in lg4ff_led_set_brightness()
1058 struct hid_device *hid = container_of(dev, struct hid_device, dev); in lg4ff_led_get_brightness() local
1059 struct lg_drv_data *drv_data = hid_get_drvdata(hid); in lg4ff_led_get_brightness()
1064 hid_err(hid, "Device data not found."); in lg4ff_led_get_brightness()
1071 hid_err(hid, "Device properties not found."); in lg4ff_led_get_brightness()
1085 static u16 lg4ff_identify_multimode_wheel(struct hid_device *hid, const u16 reported_product_id, co… in lg4ff_identify_multimode_wheel() argument
1120 static int lg4ff_handle_multimode_wheel(struct hid_device *hid, u16 *real_product_id, const u16 bcd… in lg4ff_handle_multimode_wheel() argument
1122 const u16 reported_product_id = hid->product; in lg4ff_handle_multimode_wheel()
1125 *real_product_id = lg4ff_identify_multimode_wheel(hid, reported_product_id, bcdDevice); in lg4ff_handle_multimode_wheel()
1141 hid_err(hid, "Invalid product id %X\n", *real_product_id); in lg4ff_handle_multimode_wheel()
1145 ret = lg4ff_switch_compatibility_mode(hid, s); in lg4ff_handle_multimode_wheel()
1149 hid_err(hid, "Unable to switch wheel mode, errno %d\n", ret); in lg4ff_handle_multimode_wheel()
1159 int lg4ff_init(struct hid_device *hid) in lg4ff_init() argument
1161 struct hid_input *hidinput = list_entry(hid->inputs.next, struct hid_input, list); in lg4ff_init()
1163 struct list_head *report_list = &hid->report_enum[HID_OUTPUT_REPORT].report_list; in lg4ff_init()
1165 const struct usb_device_descriptor *udesc = &(hid_to_usb_dev(hid)->descriptor); in lg4ff_init()
1175 if (!hid_validate_values(hid, HID_OUTPUT_REPORT, 0, 0, 7)) in lg4ff_init()
1178 drv_data = hid_get_drvdata(hid); in lg4ff_init()
1180 hid_err(hid, "Cannot add device, private driver data not allocated\n"); in lg4ff_init()
1192 mmode_ret = lg4ff_handle_multimode_wheel(hid, &real_product_id, bcdDevice); in lg4ff_init()
1200 hid_err(hid, "Unable to switch device mode during initialization, errno %d\n", mmode_ret); in lg4ff_init()
1207 if (hid->product == lg4ff_devices[i].product_id) { in lg4ff_init()
1214 …hid_err(hid, "This device is flagged to be handled by the lg4ff module but this module does not kn… in lg4ff_init()
1228 hid_err(hid, "Device product ID %X is not listed as a multimode wheel", real_product_id); in lg4ff_init()
1264 error = device_create_file(&hid->dev, &dev_attr_range); in lg4ff_init()
1266 hid_warn(hid, "Unable to create sysfs interface for \"range\", errno %d\n", error); in lg4ff_init()
1268 error = device_create_file(&hid->dev, &dev_attr_real_id); in lg4ff_init()
1270 hid_warn(hid, "Unable to create sysfs interface for \"real_id\", errno %d\n", error); in lg4ff_init()
1271 error = device_create_file(&hid->dev, &dev_attr_alternate_modes); in lg4ff_init()
1273 hid_warn(hid, "Unable to create sysfs interface for \"alternate_modes\", errno %d\n", error); in lg4ff_init()
1280 entry->wdata.set_range(hid, entry->wdata.range); in lg4ff_init()
1294 lg4ff_set_leds(hid, 0); in lg4ff_init()
1296 name_sz = strlen(dev_name(&hid->dev)) + 8; in lg4ff_init()
1301 hid_err(hid, "can't allocate memory for LED %d\n", j); in lg4ff_init()
1306 snprintf(name, name_sz, "%s::RPM%d", dev_name(&hid->dev), j+1); in lg4ff_init()
1314 error = led_classdev_register(&hid->dev, led); in lg4ff_init()
1317 hid_err(hid, "failed to register LED %d. Aborting.\n", j); in lg4ff_init()
1334 hid_info(hid, "Force feedback support for Logitech Gaming Wheels\n"); in lg4ff_init()
1343 int lg4ff_deinit(struct hid_device *hid) in lg4ff_deinit() argument
1348 drv_data = hid_get_drvdata(hid); in lg4ff_deinit()
1350 hid_err(hid, "Error while deinitializing device, no private driver data.\n"); in lg4ff_deinit()
1359 device_remove_file(&hid->dev, &dev_attr_real_id); in lg4ff_deinit()
1360 device_remove_file(&hid->dev, &dev_attr_alternate_modes); in lg4ff_deinit()
1363 device_remove_file(&hid->dev, &dev_attr_range); in lg4ff_deinit()
1381 hid_hw_stop(hid); in lg4ff_deinit()