Lines Matching refs:hid

73 static void lg4ff_set_range_dfp(struct hid_device *hid, u16 range);
74 static void lg4ff_set_range_g25(struct hid_device *hid, u16 range);
91 void (*set_range)(struct hid_device *hid, u16 range);
111 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()
414 struct hid_device *hid = input_get_drvdata(dev); in lg4ff_play() local
421 drv_data = hid_get_drvdata(hid); in lg4ff_play()
423 hid_err(hid, "Private driver data not found!\n"); in lg4ff_play()
429 hid_err(hid, "Device properties not found!\n"); in lg4ff_play()
452 hid_hw_request(hid, entry->report, HID_REQ_SET_REPORT); in lg4ff_play()
465 hid_hw_request(hid, entry->report, HID_REQ_SET_REPORT); in lg4ff_play()
476 struct hid_device *hid = input_get_drvdata(dev); in lg4ff_set_autocenter_default() local
483 drv_data = hid_get_drvdata(hid); in lg4ff_set_autocenter_default()
485 hid_err(hid, "Private driver data not found!\n"); in lg4ff_set_autocenter_default()
491 hid_err(hid, "Device properties not found!\n"); in lg4ff_set_autocenter_default()
507 hid_hw_request(hid, entry->report, HID_REQ_SET_REPORT); in lg4ff_set_autocenter_default()
538 hid_hw_request(hid, entry->report, HID_REQ_SET_REPORT); in lg4ff_set_autocenter_default()
549 hid_hw_request(hid, entry->report, HID_REQ_SET_REPORT); in lg4ff_set_autocenter_default()
556 struct hid_device *hid = input_get_drvdata(dev); in lg4ff_set_autocenter_ffex() local
563 drv_data = hid_get_drvdata(hid); in lg4ff_set_autocenter_ffex()
565 hid_err(hid, "Private driver data not found!\n"); in lg4ff_set_autocenter_ffex()
571 hid_err(hid, "Device properties not found!\n"); in lg4ff_set_autocenter_ffex()
585 hid_hw_request(hid, entry->report, HID_REQ_SET_REPORT); in lg4ff_set_autocenter_ffex()
590 static void lg4ff_set_range_g25(struct hid_device *hid, u16 range) in lg4ff_set_range_g25() argument
597 drv_data = hid_get_drvdata(hid); in lg4ff_set_range_g25()
599 hid_err(hid, "Private driver data not found!\n"); in lg4ff_set_range_g25()
605 hid_err(hid, "Device properties not found!\n"); in lg4ff_set_range_g25()
620 hid_hw_request(hid, entry->report, HID_REQ_SET_REPORT); in lg4ff_set_range_g25()
625 static void lg4ff_set_range_dfp(struct hid_device *hid, u16 range) in lg4ff_set_range_dfp() argument
633 drv_data = hid_get_drvdata(hid); in lg4ff_set_range_dfp()
635 hid_err(hid, "Private driver data not found!\n"); in lg4ff_set_range_dfp()
641 hid_err(hid, "Device properties not found!\n"); in lg4ff_set_range_dfp()
664 hid_hw_request(hid, entry->report, HID_REQ_SET_REPORT); in lg4ff_set_range_dfp()
676 hid_hw_request(hid, entry->report, HID_REQ_SET_REPORT); in lg4ff_set_range_dfp()
691 hid_hw_request(hid, entry->report, HID_REQ_SET_REPORT); in lg4ff_set_range_dfp()
769 static int lg4ff_switch_compatibility_mode(struct hid_device *hid, const struct lg4ff_compat_mode_s… in lg4ff_switch_compatibility_mode() argument
777 drv_data = hid_get_drvdata(hid); in lg4ff_switch_compatibility_mode()
779 hid_err(hid, "Private driver data not found!\n"); in lg4ff_switch_compatibility_mode()
785 hid_err(hid, "Device properties not found!\n"); in lg4ff_switch_compatibility_mode()
797 hid_hw_request(hid, entry->report, HID_REQ_SET_REPORT); in lg4ff_switch_compatibility_mode()
800 hid_hw_wait(hid); in lg4ff_switch_compatibility_mode()
806 struct hid_device *hid = to_hid_device(dev); in lg4ff_alternate_modes_show() local
812 drv_data = hid_get_drvdata(hid); in lg4ff_alternate_modes_show()
814 hid_err(hid, "Private driver data not found!\n"); in lg4ff_alternate_modes_show()
820 hid_err(hid, "Device properties not found!\n"); in lg4ff_alternate_modes_show()
825 hid_err(hid, "NULL pointer to string\n"); in lg4ff_alternate_modes_show()
855 struct hid_device *hid = to_hid_device(dev); in lg4ff_alternate_modes_store() local
863 drv_data = hid_get_drvdata(hid); in lg4ff_alternate_modes_store()
865 hid_err(hid, "Private driver data not found!\n"); in lg4ff_alternate_modes_store()
871 hid_err(hid, "Device properties not found!\n"); in lg4ff_alternate_modes_store()
905 hid_info(hid, "Requested mode \"%s\" is not supported by the device\n", lbuf); in lg4ff_alternate_modes_store()
916 …hid_info(hid, "\"%s\" cannot be switched to \"DF-EX\" mode. Load the \"hid_logitech\" module with … in lg4ff_alternate_modes_store()
924 …hid_info(hid, "\"%s\" cannot be switched back into \"%s\" mode\n", entry->wdata.real_name, lg4ff_a… in lg4ff_alternate_modes_store()
930 hid_err(hid, "Invalid target product ID %X\n", target_product_id); in lg4ff_alternate_modes_store()
934 ret = lg4ff_switch_compatibility_mode(hid, s); in lg4ff_alternate_modes_store()
942 struct hid_device *hid = to_hid_device(dev); in lg4ff_combine_show() local
947 drv_data = hid_get_drvdata(hid); in lg4ff_combine_show()
949 hid_err(hid, "Private driver data not found!\n"); in lg4ff_combine_show()
955 hid_err(hid, "Device properties not found!\n"); in lg4ff_combine_show()
966 struct hid_device *hid = to_hid_device(dev); in lg4ff_combine_store() local
971 drv_data = hid_get_drvdata(hid); in lg4ff_combine_store()
973 hid_err(hid, "Private driver data not found!\n"); in lg4ff_combine_store()
979 hid_err(hid, "Device properties not found!\n"); in lg4ff_combine_store()
995 struct hid_device *hid = to_hid_device(dev); in lg4ff_range_show() local
1000 drv_data = hid_get_drvdata(hid); in lg4ff_range_show()
1002 hid_err(hid, "Private driver data not found!\n"); in lg4ff_range_show()
1008 hid_err(hid, "Device properties not found!\n"); in lg4ff_range_show()
1021 struct hid_device *hid = to_hid_device(dev); in lg4ff_range_store() local
1026 drv_data = hid_get_drvdata(hid); in lg4ff_range_store()
1028 hid_err(hid, "Private driver data not found!\n"); in lg4ff_range_store()
1034 hid_err(hid, "Device properties not found!\n"); in lg4ff_range_store()
1044 entry->wdata.set_range(hid, range); in lg4ff_range_store()
1054 struct hid_device *hid = to_hid_device(dev); in lg4ff_real_id_show() local
1059 drv_data = hid_get_drvdata(hid); in lg4ff_real_id_show()
1061 hid_err(hid, "Private driver data not found!\n"); in lg4ff_real_id_show()
1067 hid_err(hid, "Device properties not found!\n"); in lg4ff_real_id_show()
1072 hid_err(hid, "NULL pointer to string\n"); in lg4ff_real_id_show()
1088 static void lg4ff_set_leds(struct hid_device *hid, u8 leds) in lg4ff_set_leds() argument
1095 drv_data = hid_get_drvdata(hid); in lg4ff_set_leds()
1097 hid_err(hid, "Private driver data not found!\n"); in lg4ff_set_leds()
1103 hid_err(hid, "Device properties not found!\n"); in lg4ff_set_leds()
1116 hid_hw_request(hid, entry->report, HID_REQ_SET_REPORT); in lg4ff_set_leds()
1124 struct hid_device *hid = to_hid_device(dev); in lg4ff_led_set_brightness() local
1125 struct lg_drv_data *drv_data = hid_get_drvdata(hid); in lg4ff_led_set_brightness()
1130 hid_err(hid, "Device data not found."); in lg4ff_led_set_brightness()
1137 hid_err(hid, "Device properties not found."); in lg4ff_led_set_brightness()
1147 lg4ff_set_leds(hid, entry->wdata.led_state); in lg4ff_led_set_brightness()
1150 lg4ff_set_leds(hid, entry->wdata.led_state); in lg4ff_led_set_brightness()
1159 struct hid_device *hid = to_hid_device(dev); in lg4ff_led_get_brightness() local
1160 struct lg_drv_data *drv_data = hid_get_drvdata(hid); in lg4ff_led_get_brightness()
1165 hid_err(hid, "Device data not found."); in lg4ff_led_get_brightness()
1172 hid_err(hid, "Device properties not found."); in lg4ff_led_get_brightness()
1186 static u16 lg4ff_identify_multimode_wheel(struct hid_device *hid, const u16 reported_product_id, co… in lg4ff_identify_multimode_wheel() argument
1221 static int lg4ff_handle_multimode_wheel(struct hid_device *hid, u16 *real_product_id, const u16 bcd… in lg4ff_handle_multimode_wheel() argument
1223 const u16 reported_product_id = hid->product; in lg4ff_handle_multimode_wheel()
1226 *real_product_id = lg4ff_identify_multimode_wheel(hid, reported_product_id, bcdDevice); in lg4ff_handle_multimode_wheel()
1242 hid_err(hid, "Invalid product id %X\n", *real_product_id); in lg4ff_handle_multimode_wheel()
1246 ret = lg4ff_switch_compatibility_mode(hid, s); in lg4ff_handle_multimode_wheel()
1250 hid_err(hid, "Unable to switch wheel mode, errno %d\n", ret); in lg4ff_handle_multimode_wheel()
1260 int lg4ff_init(struct hid_device *hid) in lg4ff_init() argument
1262 struct hid_input *hidinput = list_entry(hid->inputs.next, struct hid_input, list); in lg4ff_init()
1264 struct list_head *report_list = &hid->report_enum[HID_OUTPUT_REPORT].report_list; in lg4ff_init()
1266 const struct usb_device_descriptor *udesc = &(hid_to_usb_dev(hid)->descriptor); in lg4ff_init()
1276 if (!hid_validate_values(hid, HID_OUTPUT_REPORT, 0, 0, 7)) in lg4ff_init()
1279 drv_data = hid_get_drvdata(hid); in lg4ff_init()
1281 hid_err(hid, "Cannot add device, private driver data not allocated\n"); in lg4ff_init()
1293 mmode_ret = lg4ff_handle_multimode_wheel(hid, &real_product_id, bcdDevice); in lg4ff_init()
1301 hid_err(hid, "Unable to switch device mode during initialization, errno %d\n", mmode_ret); in lg4ff_init()
1308 if (hid->product == lg4ff_devices[i].product_id) { in lg4ff_init()
1315 …hid_err(hid, "This device is flagged to be handled by the lg4ff module but this module does not kn… in lg4ff_init()
1329 hid_err(hid, "Device product ID %X is not listed as a multimode wheel", real_product_id); in lg4ff_init()
1365 error = device_create_file(&hid->dev, &dev_attr_combine_pedals); in lg4ff_init()
1367 hid_warn(hid, "Unable to create sysfs interface for \"combine\", errno %d\n", error); in lg4ff_init()
1368 error = device_create_file(&hid->dev, &dev_attr_range); in lg4ff_init()
1370 hid_warn(hid, "Unable to create sysfs interface for \"range\", errno %d\n", error); in lg4ff_init()
1372 error = device_create_file(&hid->dev, &dev_attr_real_id); in lg4ff_init()
1374 hid_warn(hid, "Unable to create sysfs interface for \"real_id\", errno %d\n", error); in lg4ff_init()
1375 error = device_create_file(&hid->dev, &dev_attr_alternate_modes); in lg4ff_init()
1377 hid_warn(hid, "Unable to create sysfs interface for \"alternate_modes\", errno %d\n", error); in lg4ff_init()
1384 entry->wdata.set_range(hid, entry->wdata.range); in lg4ff_init()
1398 lg4ff_set_leds(hid, 0); in lg4ff_init()
1400 name_sz = strlen(dev_name(&hid->dev)) + 8; in lg4ff_init()
1405 hid_err(hid, "can't allocate memory for LED %d\n", j); in lg4ff_init()
1410 snprintf(name, name_sz, "%s::RPM%d", dev_name(&hid->dev), j+1); in lg4ff_init()
1418 error = led_classdev_register(&hid->dev, led); in lg4ff_init()
1421 hid_err(hid, "failed to register LED %d. Aborting.\n", j); in lg4ff_init()
1438 hid_info(hid, "Force feedback support for Logitech Gaming Wheels\n"); in lg4ff_init()
1447 int lg4ff_deinit(struct hid_device *hid) in lg4ff_deinit() argument
1452 drv_data = hid_get_drvdata(hid); in lg4ff_deinit()
1454 hid_err(hid, "Error while deinitializing device, no private driver data.\n"); in lg4ff_deinit()
1463 device_remove_file(&hid->dev, &dev_attr_real_id); in lg4ff_deinit()
1464 device_remove_file(&hid->dev, &dev_attr_alternate_modes); in lg4ff_deinit()
1467 device_remove_file(&hid->dev, &dev_attr_combine_pedals); in lg4ff_deinit()
1468 device_remove_file(&hid->dev, &dev_attr_range); in lg4ff_deinit()
1486 hid_hw_stop(hid); in lg4ff_deinit()