Lines Matching refs:hid
61 static void lg4ff_set_range_dfp(struct hid_device *hid, u16 range);
62 static void lg4ff_set_range_g25(struct hid_device *hid, u16 range);
79 void (*set_range)(struct hid_device *hid, u16 range);
103 void (*set_range)(struct hid_device *hid, u16 range);
300 int lg4ff_adjust_input_event(struct hid_device *hid, struct hid_field *field, in lg4ff_adjust_input_event() argument
307 hid_err(hid, "Device properties not found"); in lg4ff_adjust_input_event()
408 struct hid_device *hid = input_get_drvdata(dev); in lg4ff_play() local
415 drv_data = hid_get_drvdata(hid); in lg4ff_play()
417 hid_err(hid, "Private driver data not found!\n"); in lg4ff_play()
423 hid_err(hid, "Device properties not found!\n"); in lg4ff_play()
446 hid_hw_request(hid, entry->report, HID_REQ_SET_REPORT); in lg4ff_play()
459 hid_hw_request(hid, entry->report, HID_REQ_SET_REPORT); in lg4ff_play()
470 struct hid_device *hid = input_get_drvdata(dev); in lg4ff_set_autocenter_default() local
477 drv_data = hid_get_drvdata(hid); in lg4ff_set_autocenter_default()
479 hid_err(hid, "Private driver data not found!\n"); in lg4ff_set_autocenter_default()
485 hid_err(hid, "Device properties not found!\n"); in lg4ff_set_autocenter_default()
501 hid_hw_request(hid, entry->report, HID_REQ_SET_REPORT); in lg4ff_set_autocenter_default()
532 hid_hw_request(hid, entry->report, HID_REQ_SET_REPORT); in lg4ff_set_autocenter_default()
543 hid_hw_request(hid, entry->report, HID_REQ_SET_REPORT); in lg4ff_set_autocenter_default()
550 struct hid_device *hid = input_get_drvdata(dev); in lg4ff_set_autocenter_ffex() local
557 drv_data = hid_get_drvdata(hid); in lg4ff_set_autocenter_ffex()
559 hid_err(hid, "Private driver data not found!\n"); in lg4ff_set_autocenter_ffex()
565 hid_err(hid, "Device properties not found!\n"); in lg4ff_set_autocenter_ffex()
579 hid_hw_request(hid, entry->report, HID_REQ_SET_REPORT); in lg4ff_set_autocenter_ffex()
584 static void lg4ff_set_range_g25(struct hid_device *hid, u16 range) in lg4ff_set_range_g25() argument
591 drv_data = hid_get_drvdata(hid); in lg4ff_set_range_g25()
593 hid_err(hid, "Private driver data not found!\n"); in lg4ff_set_range_g25()
599 hid_err(hid, "Device properties not found!\n"); in lg4ff_set_range_g25()
614 hid_hw_request(hid, entry->report, HID_REQ_SET_REPORT); in lg4ff_set_range_g25()
619 static void lg4ff_set_range_dfp(struct hid_device *hid, u16 range) in lg4ff_set_range_dfp() argument
627 drv_data = hid_get_drvdata(hid); in lg4ff_set_range_dfp()
629 hid_err(hid, "Private driver data not found!\n"); in lg4ff_set_range_dfp()
635 hid_err(hid, "Device properties not found!\n"); in lg4ff_set_range_dfp()
658 hid_hw_request(hid, entry->report, HID_REQ_SET_REPORT); in lg4ff_set_range_dfp()
670 hid_hw_request(hid, entry->report, HID_REQ_SET_REPORT); in lg4ff_set_range_dfp()
685 hid_hw_request(hid, entry->report, HID_REQ_SET_REPORT); in lg4ff_set_range_dfp()
763 static int lg4ff_switch_compatibility_mode(struct hid_device *hid, const struct lg4ff_compat_mode_s… in lg4ff_switch_compatibility_mode() argument
771 drv_data = hid_get_drvdata(hid); in lg4ff_switch_compatibility_mode()
773 hid_err(hid, "Private driver data not found!\n"); in lg4ff_switch_compatibility_mode()
779 hid_err(hid, "Device properties not found!\n"); in lg4ff_switch_compatibility_mode()
791 hid_hw_request(hid, entry->report, HID_REQ_SET_REPORT); in lg4ff_switch_compatibility_mode()
794 hid_hw_wait(hid); in lg4ff_switch_compatibility_mode()
800 struct hid_device *hid = to_hid_device(dev); in lg4ff_alternate_modes_show() local
806 drv_data = hid_get_drvdata(hid); in lg4ff_alternate_modes_show()
808 hid_err(hid, "Private driver data not found!\n"); in lg4ff_alternate_modes_show()
814 hid_err(hid, "Device properties not found!\n"); in lg4ff_alternate_modes_show()
819 hid_err(hid, "NULL pointer to string\n"); in lg4ff_alternate_modes_show()
849 struct hid_device *hid = to_hid_device(dev); in lg4ff_alternate_modes_store() local
857 drv_data = hid_get_drvdata(hid); in lg4ff_alternate_modes_store()
859 hid_err(hid, "Private driver data not found!\n"); in lg4ff_alternate_modes_store()
865 hid_err(hid, "Device properties not found!\n"); in lg4ff_alternate_modes_store()
899 hid_info(hid, "Requested mode \"%s\" is not supported by the device\n", lbuf); in lg4ff_alternate_modes_store()
910 …hid_info(hid, "\"%s\" cannot be switched to \"DF-EX\" mode. Load the \"hid_logitech\" module with … in lg4ff_alternate_modes_store()
918 …hid_info(hid, "\"%s\" cannot be switched back into \"%s\" mode\n", entry->wdata.real_name, lg4ff_a… in lg4ff_alternate_modes_store()
924 hid_err(hid, "Invalid target product ID %X\n", target_product_id); in lg4ff_alternate_modes_store()
928 ret = lg4ff_switch_compatibility_mode(hid, s); in lg4ff_alternate_modes_store()
936 struct hid_device *hid = to_hid_device(dev); in lg4ff_combine_show() local
941 drv_data = hid_get_drvdata(hid); in lg4ff_combine_show()
943 hid_err(hid, "Private driver data not found!\n"); in lg4ff_combine_show()
949 hid_err(hid, "Device properties not found!\n"); in lg4ff_combine_show()
960 struct hid_device *hid = to_hid_device(dev); in lg4ff_combine_store() local
965 drv_data = hid_get_drvdata(hid); in lg4ff_combine_store()
967 hid_err(hid, "Private driver data not found!\n"); in lg4ff_combine_store()
973 hid_err(hid, "Device properties not found!\n"); in lg4ff_combine_store()
989 struct hid_device *hid = to_hid_device(dev); in lg4ff_range_show() local
994 drv_data = hid_get_drvdata(hid); in lg4ff_range_show()
996 hid_err(hid, "Private driver data not found!\n"); in lg4ff_range_show()
1002 hid_err(hid, "Device properties not found!\n"); in lg4ff_range_show()
1015 struct hid_device *hid = to_hid_device(dev); in lg4ff_range_store() local
1020 drv_data = hid_get_drvdata(hid); in lg4ff_range_store()
1022 hid_err(hid, "Private driver data not found!\n"); in lg4ff_range_store()
1028 hid_err(hid, "Device properties not found!\n"); in lg4ff_range_store()
1038 entry->wdata.set_range(hid, range); in lg4ff_range_store()
1048 struct hid_device *hid = to_hid_device(dev); in lg4ff_real_id_show() local
1053 drv_data = hid_get_drvdata(hid); in lg4ff_real_id_show()
1055 hid_err(hid, "Private driver data not found!\n"); in lg4ff_real_id_show()
1061 hid_err(hid, "Device properties not found!\n"); in lg4ff_real_id_show()
1066 hid_err(hid, "NULL pointer to string\n"); in lg4ff_real_id_show()
1082 static void lg4ff_set_leds(struct hid_device *hid, u8 leds) in lg4ff_set_leds() argument
1089 drv_data = hid_get_drvdata(hid); in lg4ff_set_leds()
1091 hid_err(hid, "Private driver data not found!\n"); in lg4ff_set_leds()
1097 hid_err(hid, "Device properties not found!\n"); in lg4ff_set_leds()
1110 hid_hw_request(hid, entry->report, HID_REQ_SET_REPORT); in lg4ff_set_leds()
1118 struct hid_device *hid = to_hid_device(dev); in lg4ff_led_set_brightness() local
1119 struct lg_drv_data *drv_data = hid_get_drvdata(hid); in lg4ff_led_set_brightness()
1124 hid_err(hid, "Device data not found."); in lg4ff_led_set_brightness()
1131 hid_err(hid, "Device properties not found."); in lg4ff_led_set_brightness()
1141 lg4ff_set_leds(hid, entry->wdata.led_state); in lg4ff_led_set_brightness()
1144 lg4ff_set_leds(hid, entry->wdata.led_state); in lg4ff_led_set_brightness()
1153 struct hid_device *hid = to_hid_device(dev); in lg4ff_led_get_brightness() local
1154 struct lg_drv_data *drv_data = hid_get_drvdata(hid); in lg4ff_led_get_brightness()
1159 hid_err(hid, "Device data not found."); in lg4ff_led_get_brightness()
1166 hid_err(hid, "Device properties not found."); in lg4ff_led_get_brightness()
1180 static u16 lg4ff_identify_multimode_wheel(struct hid_device *hid, const u16 reported_product_id, co… in lg4ff_identify_multimode_wheel() argument
1215 static int lg4ff_handle_multimode_wheel(struct hid_device *hid, u16 *real_product_id, const u16 bcd… in lg4ff_handle_multimode_wheel() argument
1217 const u16 reported_product_id = hid->product; in lg4ff_handle_multimode_wheel()
1220 *real_product_id = lg4ff_identify_multimode_wheel(hid, reported_product_id, bcdDevice); in lg4ff_handle_multimode_wheel()
1236 hid_err(hid, "Invalid product id %X\n", *real_product_id); in lg4ff_handle_multimode_wheel()
1240 ret = lg4ff_switch_compatibility_mode(hid, s); in lg4ff_handle_multimode_wheel()
1244 hid_err(hid, "Unable to switch wheel mode, errno %d\n", ret); in lg4ff_handle_multimode_wheel()
1254 int lg4ff_init(struct hid_device *hid) in lg4ff_init() argument
1258 struct list_head *report_list = &hid->report_enum[HID_OUTPUT_REPORT].report_list; in lg4ff_init()
1260 const struct usb_device_descriptor *udesc = &(hid_to_usb_dev(hid)->descriptor); in lg4ff_init()
1269 if (list_empty(&hid->inputs)) { in lg4ff_init()
1270 hid_err(hid, "no inputs found\n"); in lg4ff_init()
1273 hidinput = list_entry(hid->inputs.next, struct hid_input, list); in lg4ff_init()
1277 if (!hid_validate_values(hid, HID_OUTPUT_REPORT, 0, 0, 7)) in lg4ff_init()
1280 drv_data = hid_get_drvdata(hid); in lg4ff_init()
1282 hid_err(hid, "Cannot add device, private driver data not allocated\n"); in lg4ff_init()
1294 mmode_ret = lg4ff_handle_multimode_wheel(hid, &real_product_id, bcdDevice); in lg4ff_init()
1302 hid_err(hid, "Unable to switch device mode during initialization, errno %d\n", mmode_ret); in lg4ff_init()
1309 if (hid->product == lg4ff_devices[i].product_id) { in lg4ff_init()
1316 …hid_err(hid, "This device is flagged to be handled by the lg4ff module but this module does not kn… in lg4ff_init()
1330 hid_err(hid, "Device product ID %X is not listed as a multimode wheel", real_product_id); in lg4ff_init()
1366 error = device_create_file(&hid->dev, &dev_attr_combine_pedals); in lg4ff_init()
1368 hid_warn(hid, "Unable to create sysfs interface for \"combine\", errno %d\n", error); in lg4ff_init()
1369 error = device_create_file(&hid->dev, &dev_attr_range); in lg4ff_init()
1371 hid_warn(hid, "Unable to create sysfs interface for \"range\", errno %d\n", error); in lg4ff_init()
1373 error = device_create_file(&hid->dev, &dev_attr_real_id); in lg4ff_init()
1375 hid_warn(hid, "Unable to create sysfs interface for \"real_id\", errno %d\n", error); in lg4ff_init()
1376 error = device_create_file(&hid->dev, &dev_attr_alternate_modes); in lg4ff_init()
1378 hid_warn(hid, "Unable to create sysfs interface for \"alternate_modes\", errno %d\n", error); in lg4ff_init()
1385 entry->wdata.set_range(hid, entry->wdata.range); in lg4ff_init()
1399 lg4ff_set_leds(hid, 0); in lg4ff_init()
1401 name_sz = strlen(dev_name(&hid->dev)) + 8; in lg4ff_init()
1406 hid_err(hid, "can't allocate memory for LED %d\n", j); in lg4ff_init()
1411 snprintf(name, name_sz, "%s::RPM%d", dev_name(&hid->dev), j+1); in lg4ff_init()
1419 error = led_classdev_register(&hid->dev, led); in lg4ff_init()
1422 hid_err(hid, "failed to register LED %d. Aborting.\n", j); in lg4ff_init()
1439 hid_info(hid, "Force feedback support for Logitech Gaming Wheels\n"); in lg4ff_init()
1448 int lg4ff_deinit(struct hid_device *hid) in lg4ff_deinit() argument
1453 drv_data = hid_get_drvdata(hid); in lg4ff_deinit()
1455 hid_err(hid, "Error while deinitializing device, no private driver data.\n"); in lg4ff_deinit()
1464 device_remove_file(&hid->dev, &dev_attr_real_id); in lg4ff_deinit()
1465 device_remove_file(&hid->dev, &dev_attr_alternate_modes); in lg4ff_deinit()
1468 device_remove_file(&hid->dev, &dev_attr_combine_pedals); in lg4ff_deinit()
1469 device_remove_file(&hid->dev, &dev_attr_range); in lg4ff_deinit()