Lines Matching +full:report +full:- +full:error

1 // SPDX-License-Identifier: GPL-2.0-or-later
16 #include "hid-lg.h"
19 struct hid_report *report; member
29 strong = effect->u.rumble.strong_magnitude; in play_effect()
30 weak = effect->u.rumble.weak_magnitude; in play_effect()
36 lg2ff->report->field[0]->value[0] = 0x51; in play_effect()
37 lg2ff->report->field[0]->value[2] = weak; in play_effect()
38 lg2ff->report->field[0]->value[4] = strong; in play_effect()
40 lg2ff->report->field[0]->value[0] = 0xf3; in play_effect()
41 lg2ff->report->field[0]->value[2] = 0x00; in play_effect()
42 lg2ff->report->field[0]->value[4] = 0x00; in play_effect()
45 hid_hw_request(hid, lg2ff->report, HID_REQ_SET_REPORT); in play_effect()
52 struct hid_report *report; in lg2ff_init() local
55 int error; in lg2ff_init() local
57 if (list_empty(&hid->inputs)) { in lg2ff_init()
59 return -ENODEV; in lg2ff_init()
61 hidinput = list_entry(hid->inputs.next, struct hid_input, list); in lg2ff_init()
62 dev = hidinput->input; in lg2ff_init()
64 /* Check that the report looks ok */ in lg2ff_init()
65 report = hid_validate_values(hid, HID_OUTPUT_REPORT, 0, 0, 7); in lg2ff_init()
66 if (!report) in lg2ff_init()
67 return -ENODEV; in lg2ff_init()
71 return -ENOMEM; in lg2ff_init()
73 set_bit(FF_RUMBLE, dev->ffbit); in lg2ff_init()
75 error = input_ff_create_memless(dev, lg2ff, play_effect); in lg2ff_init()
76 if (error) { in lg2ff_init()
78 return error; in lg2ff_init()
81 lg2ff->report = report; in lg2ff_init()
82 report->field[0]->value[0] = 0xf3; in lg2ff_init()
83 report->field[0]->value[1] = 0x00; in lg2ff_init()
84 report->field[0]->value[2] = 0x00; in lg2ff_init()
85 report->field[0]->value[3] = 0x00; in lg2ff_init()
86 report->field[0]->value[4] = 0x00; in lg2ff_init()
87 report->field[0]->value[5] = 0x00; in lg2ff_init()
88 report->field[0]->value[6] = 0x00; in lg2ff_init()
90 hid_hw_request(hid, report, HID_REQ_SET_REPORT); in lg2ff_init()