Lines Matching +full:line +full:- +full:based
1 // SPDX-License-Identifier: GPL-2.0-or-later
3 * Force feedback support for Holtek On Line Grip based gamepads
6 * which uses vendor ID 0x1241 and identifies as "HOLTEK On Line Grip".
19 #include "hid-ids.h"
42 * bits 0-3: effect id:
54 * c-f: nothing
58 * bytes 2-3: time in milliseconds, big-endian
59 * bytes 5-6: unknown (win driver seems to use at least 10e0 with effect 1
62 * bits 0-3: effect magnitude
82 holtekff->field->value[i] = data[i]; in holtekff_send()
87 hid_hw_request(hid, holtekff->field->report, HID_REQ_SET_REPORT); in holtekff_send()
100 left = effect->u.rumble.strong_magnitude; in holtekff_play()
101 right = effect->u.rumble.weak_magnitude; in holtekff_play()
129 &hid->report_enum[HID_OUTPUT_REPORT].report_list; in holtekff_init()
133 if (list_empty(&hid->inputs)) { in holtekff_init()
135 return -ENODEV; in holtekff_init()
137 hidinput = list_entry(hid->inputs.next, struct hid_input, list); in holtekff_init()
138 dev = hidinput->input; in holtekff_init()
142 return -ENODEV; in holtekff_init()
145 report = list_entry(report_list->next, struct hid_report, list); in holtekff_init()
147 if (report->maxfield < 1 || report->field[0]->report_count != 7) { in holtekff_init()
149 return -ENODEV; in holtekff_init()
154 return -ENOMEM; in holtekff_init()
156 set_bit(FF_RUMBLE, dev->ffbit); in holtekff_init()
158 holtekff->field = report->field[0]; in holtekff_init()
170 …hid_info(hid, "Force feedback for Holtek On Line Grip based devices by Anssi Hannula <anssi.hannul… in holtekff_init()
219 MODULE_DESCRIPTION("Force feedback support for Holtek On Line Grip based devices");