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

1 // SPDX-License-Identifier: GPL-2.0-or-later
3 * Force feedback support for SmartJoy PLUS PS2->USB adapter
7 * Based of hid-pl.c and hid-gaff.c
21 #include "hid-ids.h"
26 struct hid_report *report; member
36 left = effect->u.rumble.strong_magnitude; in hid_sjoyff_play()
37 right = effect->u.rumble.weak_magnitude; in hid_sjoyff_play()
38 dev_dbg(&dev->dev, "called with 0x%08x 0x%08x\n", left, right); in hid_sjoyff_play()
43 sjoyff->report->field[0]->value[1] = right; in hid_sjoyff_play()
44 sjoyff->report->field[0]->value[2] = left; in hid_sjoyff_play()
45 dev_dbg(&dev->dev, "running with 0x%02x 0x%02x\n", left, right); in hid_sjoyff_play()
46 hid_hw_request(hid, sjoyff->report, HID_REQ_SET_REPORT); in hid_sjoyff_play()
54 struct hid_report *report; in sjoyff_init() local
57 &hid->report_enum[HID_OUTPUT_REPORT].report_list; in sjoyff_init()
60 int error; in sjoyff_init() local
64 return -ENODEV; in sjoyff_init()
67 list_for_each_entry(hidinput, &hid->inputs, list) { in sjoyff_init()
68 report_ptr = report_ptr->next; in sjoyff_init()
71 hid_err(hid, "required output report is missing\n"); in sjoyff_init()
72 return -ENODEV; in sjoyff_init()
75 report = list_entry(report_ptr, struct hid_report, list); in sjoyff_init()
76 if (report->maxfield < 1) { in sjoyff_init()
77 hid_err(hid, "no fields in the report\n"); in sjoyff_init()
78 return -ENODEV; in sjoyff_init()
81 if (report->field[0]->report_count < 3) { in sjoyff_init()
83 return -ENODEV; in sjoyff_init()
88 return -ENOMEM; in sjoyff_init()
90 dev = hidinput->input; in sjoyff_init()
92 set_bit(FF_RUMBLE, dev->ffbit); in sjoyff_init()
94 error = input_ff_create_memless(dev, sjoyff, hid_sjoyff_play); in sjoyff_init()
95 if (error) { in sjoyff_init()
97 return error; in sjoyff_init()
100 sjoyff->report = report; in sjoyff_init()
101 sjoyff->report->field[0]->value[0] = 0x01; in sjoyff_init()
102 sjoyff->report->field[0]->value[1] = 0x00; in sjoyff_init()
103 sjoyff->report->field[0]->value[2] = 0x00; in sjoyff_init()
104 hid_hw_request(hid, sjoyff->report, HID_REQ_SET_REPORT); in sjoyff_init()
122 hdev->quirks |= id->driver_data; in sjoy_probe()