Lines Matching +full:motor +full:- +full:driver
1 // SPDX-License-Identifier: GPL-2.0-or-later
19 #include "hid-ids.h"
32 * (the difference between 04 and 06 isn't known; win driver
42 * bits 0-3: effect id:
54 * c-f: nothing
55 * bit 6: right (weak) motor enabled
56 * bit 7: left (strong) motor enabled
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()
160 /* initialize the same way as win driver does */ in holtekff_init()