Symbol: iforce
arch/sparc/include/asm/leon_amba.h
97
u32 iforce;
drivers/input/joystick/iforce/iforce-ff.c
115
iforce_send_packet(iforce, FF_CMD_ENVELOPE, data);
drivers/input/joystick/iforce/iforce-ff.c
124
static int make_condition_modifier(struct iforce* iforce,
drivers/input/joystick/iforce/iforce-ff.c
131
guard(mutex)(&iforce->mem_mutex);
drivers/input/joystick/iforce/iforce-ff.c
133
if (allocate_resource(&(iforce->device_memory), mod_chunk, 8,
drivers/input/joystick/iforce/iforce-ff.c
134
iforce->device_memory.start,
drivers/input/joystick/iforce/iforce-ff.c
135
iforce->device_memory.end,
drivers/input/joystick/iforce/iforce-ff.c
157
iforce_send_packet(iforce, FF_CMD_CONDITION, data);
drivers/input/joystick/iforce/iforce-ff.c
158
iforce_dump_packet(iforce, "condition", FF_CMD_CONDITION, data);
drivers/input/joystick/iforce/iforce-ff.c
163
static unsigned char find_button(struct iforce *iforce, signed short button)
drivers/input/joystick/iforce/iforce-ff.c
167
for (i = 1; iforce->type->btn[i] >= 0; i++)
drivers/input/joystick/iforce/iforce-ff.c
168
if (iforce->type->btn[i] == button)
drivers/input/joystick/iforce/iforce-ff.c
177
static int need_condition_modifier(struct iforce *iforce,
drivers/input/joystick/iforce/iforce-ff.c
18
static int make_magnitude_modifier(struct iforce* iforce,
drivers/input/joystick/iforce/iforce-ff.c
185
dev_warn(&iforce->dev->dev, "bad effect type in %s\n",
drivers/input/joystick/iforce/iforce-ff.c
205
static int need_magnitude_modifier(struct iforce *iforce,
drivers/input/joystick/iforce/iforce-ff.c
210
dev_warn(&iforce->dev->dev, "bad effect type in %s\n",
drivers/input/joystick/iforce/iforce-ff.c
222
static int need_envelope_modifier(struct iforce *iforce, struct ff_effect *old,
drivers/input/joystick/iforce/iforce-ff.c
24
guard(mutex)(&iforce->mem_mutex);
drivers/input/joystick/iforce/iforce-ff.c
243
dev_warn(&iforce->dev->dev, "bad effect type in %s\n",
drivers/input/joystick/iforce/iforce-ff.c
254
static int need_period_modifier(struct iforce *iforce, struct ff_effect *old,
drivers/input/joystick/iforce/iforce-ff.c
258
dev_warn(&iforce->dev->dev, "bad effect type in %s\n",
drivers/input/joystick/iforce/iforce-ff.c
26
if (allocate_resource(&iforce->device_memory, mod_chunk, 2,
drivers/input/joystick/iforce/iforce-ff.c
27
iforce->device_memory.start,
drivers/input/joystick/iforce/iforce-ff.c
28
iforce->device_memory.end,
drivers/input/joystick/iforce/iforce-ff.c
286
static int make_core(struct iforce* iforce, u16 id, u16 mod_id1, u16 mod_id2,
drivers/input/joystick/iforce/iforce-ff.c
298
data[2] = LO(axes) | find_button(iforce, button);
drivers/input/joystick/iforce/iforce-ff.c
319
iforce_send_packet(iforce, FF_CMD_EFFECT, data);
drivers/input/joystick/iforce/iforce-ff.c
322
if (test_bit(FF_CORE_SHOULD_PLAY, iforce->core_effects[id].flags)) {
drivers/input/joystick/iforce/iforce-ff.c
324
iforce_control_playback(iforce, id, 1);
drivers/input/joystick/iforce/iforce-ff.c
334
int iforce_upload_periodic(struct iforce *iforce, struct ff_effect *effect, struct ff_effect *old)
drivers/input/joystick/iforce/iforce-ff.c
338
struct iforce_core_effect* core_effect = iforce->core_effects + core_id;
drivers/input/joystick/iforce/iforce-ff.c
339
struct resource* mod1_chunk = &(iforce->core_effects[core_id].mod1_chunk);
drivers/input/joystick/iforce/iforce-ff.c
340
struct resource* mod2_chunk = &(iforce->core_effects[core_id].mod2_chunk);
drivers/input/joystick/iforce/iforce-ff.c
345
if (!old || need_period_modifier(iforce, old, effect)) {
drivers/input/joystick/iforce/iforce-ff.c
346
param1_err = make_period_modifier(iforce, mod1_chunk,
drivers/input/joystick/iforce/iforce-ff.c
355
if (!old || need_envelope_modifier(iforce, old, effect)) {
drivers/input/joystick/iforce/iforce-ff.c
356
param2_err = make_envelope_modifier(iforce, mod2_chunk,
drivers/input/joystick/iforce/iforce-ff.c
37
iforce_send_packet(iforce, FF_CMD_MAGNITUDE, data);
drivers/input/joystick/iforce/iforce-ff.c
377
core_err = make_core(iforce, effect->id,
drivers/input/joystick/iforce/iforce-ff.c
39
iforce_dump_packet(iforce, "magnitude", FF_CMD_MAGNITUDE, data);
drivers/input/joystick/iforce/iforce-ff.c
405
int iforce_upload_constant(struct iforce *iforce, struct ff_effect *effect, struct ff_effect *old)
drivers/input/joystick/iforce/iforce-ff.c
408
struct iforce_core_effect* core_effect = iforce->core_effects + core_id;
drivers/input/joystick/iforce/iforce-ff.c
409
struct resource* mod1_chunk = &(iforce->core_effects[core_id].mod1_chunk);
drivers/input/joystick/iforce/iforce-ff.c
410
struct resource* mod2_chunk = &(iforce->core_effects[core_id].mod2_chunk);
drivers/input/joystick/iforce/iforce-ff.c
415
if (!old || need_magnitude_modifier(iforce, old, effect)) {
drivers/input/joystick/iforce/iforce-ff.c
416
param1_err = make_magnitude_modifier(iforce, mod1_chunk,
drivers/input/joystick/iforce/iforce-ff.c
424
if (!old || need_envelope_modifier(iforce, old, effect)) {
drivers/input/joystick/iforce/iforce-ff.c
425
param2_err = make_envelope_modifier(iforce, mod2_chunk,
drivers/input/joystick/iforce/iforce-ff.c
437
core_err = make_core(iforce, effect->id,
drivers/input/joystick/iforce/iforce-ff.c
461
int iforce_upload_condition(struct iforce *iforce, struct ff_effect *effect, struct ff_effect *old)
drivers/input/joystick/iforce/iforce-ff.c
464
struct iforce_core_effect* core_effect = iforce->core_effects + core_id;
drivers/input/joystick/iforce/iforce-ff.c
47
static int make_period_modifier(struct iforce* iforce,
drivers/input/joystick/iforce/iforce-ff.c
477
if (!old || need_condition_modifier(iforce, old, effect)) {
drivers/input/joystick/iforce/iforce-ff.c
478
param_err = make_condition_modifier(iforce, mod1_chunk,
drivers/input/joystick/iforce/iforce-ff.c
490
param_err = make_condition_modifier(iforce, mod2_chunk,
drivers/input/joystick/iforce/iforce-ff.c
505
core_err = make_core(iforce, effect->id,
drivers/input/joystick/iforce/iforce-ff.c
56
guard(mutex)(&iforce->mem_mutex);
drivers/input/joystick/iforce/iforce-ff.c
58
if (allocate_resource(&iforce->device_memory, mod_chunk, 0x0c,
drivers/input/joystick/iforce/iforce-ff.c
59
iforce->device_memory.start,
drivers/input/joystick/iforce/iforce-ff.c
60
iforce->device_memory.end,
drivers/input/joystick/iforce/iforce-ff.c
75
iforce_send_packet(iforce, FF_CMD_PERIOD, data);
drivers/input/joystick/iforce/iforce-ff.c
84
static int make_envelope_modifier(struct iforce* iforce,
drivers/input/joystick/iforce/iforce-ff.c
95
guard(mutex)(&iforce->mem_mutex);
drivers/input/joystick/iforce/iforce-ff.c
97
if (allocate_resource(&(iforce->device_memory), mod_chunk, 0x0e,
drivers/input/joystick/iforce/iforce-ff.c
98
iforce->device_memory.start,
drivers/input/joystick/iforce/iforce-ff.c
99
iforce->device_memory.end,
drivers/input/joystick/iforce/iforce-main.c
101
iforce_send_packet(iforce, FF_CMD_AUTOCENTER, data);
drivers/input/joystick/iforce/iforce-main.c
110
struct iforce *iforce = input_get_drvdata(dev);
drivers/input/joystick/iforce/iforce-main.c
111
struct iforce_core_effect *core_effect = &iforce->core_effects[effect->id];
drivers/input/joystick/iforce/iforce-main.c
125
ret = iforce_upload_periodic(iforce, effect, old);
drivers/input/joystick/iforce/iforce-main.c
129
ret = iforce_upload_constant(iforce, effect, old);
drivers/input/joystick/iforce/iforce-main.c
134
ret = iforce_upload_condition(iforce, effect, old);
drivers/input/joystick/iforce/iforce-main.c
156
struct iforce *iforce = input_get_drvdata(dev);
drivers/input/joystick/iforce/iforce-main.c
157
struct iforce_core_effect *core_effect = &iforce->core_effects[effect_id];
drivers/input/joystick/iforce/iforce-main.c
174
struct iforce *iforce = input_get_drvdata(dev);
drivers/input/joystick/iforce/iforce-main.c
176
iforce->xport_ops->start_io(iforce);
drivers/input/joystick/iforce/iforce-main.c
180
iforce_send_packet(iforce, FF_CMD_ENABLE, "\004");
drivers/input/joystick/iforce/iforce-main.c
188
struct iforce *iforce = input_get_drvdata(dev);
drivers/input/joystick/iforce/iforce-main.c
194
if (test_bit(FF_CORE_IS_USED, iforce->core_effects[i].flags)) {
drivers/input/joystick/iforce/iforce-main.c
203
iforce_send_packet(iforce, FF_CMD_ENABLE, "\001");
drivers/input/joystick/iforce/iforce-main.c
205
wait_event_interruptible(iforce->wait,
drivers/input/joystick/iforce/iforce-main.c
206
!test_bit(IFORCE_XMIT_RUNNING, iforce->xmit_flags));
drivers/input/joystick/iforce/iforce-main.c
209
iforce->xport_ops->stop_io(iforce);
drivers/input/joystick/iforce/iforce-main.c
213
struct iforce *iforce)
drivers/input/joystick/iforce/iforce-main.c
227
init_waitqueue_head(&iforce->wait);
drivers/input/joystick/iforce/iforce-main.c
228
spin_lock_init(&iforce->xmit_lock);
drivers/input/joystick/iforce/iforce-main.c
229
mutex_init(&iforce->mem_mutex);
drivers/input/joystick/iforce/iforce-main.c
230
iforce->xmit.buf = iforce->xmit_data;
drivers/input/joystick/iforce/iforce-main.c
231
iforce->dev = input_dev;
drivers/input/joystick/iforce/iforce-main.c
240
input_set_drvdata(input_dev, iforce);
drivers/input/joystick/iforce/iforce-main.c
250
iforce->device_memory.name = "I-Force device effect memory";
drivers/input/joystick/iforce/iforce-main.c
251
iforce->device_memory.start = 0;
drivers/input/joystick/iforce/iforce-main.c
252
iforce->device_memory.end = 200;
drivers/input/joystick/iforce/iforce-main.c
253
iforce->device_memory.flags = IORESOURCE_MEM;
drivers/input/joystick/iforce/iforce-main.c
254
iforce->device_memory.parent = NULL;
drivers/input/joystick/iforce/iforce-main.c
255
iforce->device_memory.child = NULL;
drivers/input/joystick/iforce/iforce-main.c
256
iforce->device_memory.sibling = NULL;
drivers/input/joystick/iforce/iforce-main.c
263
if (!iforce_get_id_packet(iforce, 'O', buf, &len))
drivers/input/joystick/iforce/iforce-main.c
277
if (!iforce_get_id_packet(iforce, 'M', buf, &len) && len >= 3)
drivers/input/joystick/iforce/iforce-main.c
280
dev_warn(&iforce->dev->dev, "Device does not respond to id packet M\n");
drivers/input/joystick/iforce/iforce-main.c
282
if (!iforce_get_id_packet(iforce, 'P', buf, &len) && len >= 3)
drivers/input/joystick/iforce/iforce-main.c
285
dev_warn(&iforce->dev->dev, "Device does not respond to id packet P\n");
drivers/input/joystick/iforce/iforce-main.c
287
if (!iforce_get_id_packet(iforce, 'B', buf, &len) && len >= 3)
drivers/input/joystick/iforce/iforce-main.c
288
iforce->device_memory.end = get_unaligned_le16(buf + 1);
drivers/input/joystick/iforce/iforce-main.c
290
dev_warn(&iforce->dev->dev, "Device does not respond to id packet B\n");
drivers/input/joystick/iforce/iforce-main.c
292
if (!iforce_get_id_packet(iforce, 'N', buf, &len) && len >= 2)
drivers/input/joystick/iforce/iforce-main.c
295
dev_warn(&iforce->dev->dev, "Device does not respond to id packet N\n");
drivers/input/joystick/iforce/iforce-main.c
299
dev_warn(&iforce->dev->dev, "Limiting number of effects to %d (device reports %d)\n",
drivers/input/joystick/iforce/iforce-main.c
309
if (!iforce_get_id_packet(iforce, c[i], buf, &len))
drivers/input/joystick/iforce/iforce-main.c
310
iforce_dump_packet(iforce, "info",
drivers/input/joystick/iforce/iforce-main.c
327
iforce->type = iforce_device + i;
drivers/input/joystick/iforce/iforce-main.c
328
input_dev->name = iforce->type->name;
drivers/input/joystick/iforce/iforce-main.c
337
for (i = 0; iforce->type->btn[i] >= 0; i++)
drivers/input/joystick/iforce/iforce-main.c
338
set_bit(iforce->type->btn[i], input_dev->keybit);
drivers/input/joystick/iforce/iforce-main.c
340
for (i = 0; iforce->type->abs[i] >= 0; i++) {
drivers/input/joystick/iforce/iforce-main.c
342
signed short t = iforce->type->abs[i];
drivers/input/joystick/iforce/iforce-main.c
373
for (i = 0; iforce->type->ff[i] >= 0; i++)
drivers/input/joystick/iforce/iforce-main.c
374
set_bit(iforce->type->ff[i], input_dev->ffbit);
drivers/input/joystick/iforce/iforce-main.c
391
error = input_register_device(iforce->dev);
drivers/input/joystick/iforce/iforce-main.c
69
struct iforce *iforce = input_get_drvdata(dev);
drivers/input/joystick/iforce/iforce-main.c
70
struct iforce_core_effect *core_effect = &iforce->core_effects[effect_id];
drivers/input/joystick/iforce/iforce-main.c
77
iforce_control_playback(iforce, effect_id, value);
drivers/input/joystick/iforce/iforce-main.c
83
struct iforce *iforce = input_get_drvdata(dev);
drivers/input/joystick/iforce/iforce-main.c
87
iforce_send_packet(iforce, FF_CMD_GAIN, data);
drivers/input/joystick/iforce/iforce-main.c
92
struct iforce *iforce = input_get_drvdata(dev);
drivers/input/joystick/iforce/iforce-main.c
97
iforce_send_packet(iforce, FF_CMD_AUTOCENTER, data);
drivers/input/joystick/iforce/iforce-packets.c
101
for (i = 0; i < iforce->dev->ff->max_effects; ++i) {
drivers/input/joystick/iforce/iforce-packets.c
102
if (test_bit(FF_CORE_IS_USED, iforce->core_effects[i].flags) &&
drivers/input/joystick/iforce/iforce-packets.c
103
(iforce->core_effects[i].mod1_chunk.start == addr ||
drivers/input/joystick/iforce/iforce-packets.c
104
iforce->core_effects[i].mod2_chunk.start == addr)) {
drivers/input/joystick/iforce/iforce-packets.c
105
clear_bit(FF_CORE_UPDATE, iforce->core_effects[i].flags);
drivers/input/joystick/iforce/iforce-packets.c
109
dev_warn(&iforce->dev->dev, "unused effect %04x updated !!!\n", addr);
drivers/input/joystick/iforce/iforce-packets.c
113
static void iforce_report_hats_buttons(struct iforce *iforce, u8 *data)
drivers/input/joystick/iforce/iforce-packets.c
115
struct input_dev *dev = iforce->dev;
drivers/input/joystick/iforce/iforce-packets.c
121
for (i = 0; iforce->type->btn[i] >= 0; i++)
drivers/input/joystick/iforce/iforce-packets.c
122
input_report_key(dev, iforce->type->btn[i],
drivers/input/joystick/iforce/iforce-packets.c
149
void iforce_process_packet(struct iforce *iforce,
drivers/input/joystick/iforce/iforce-packets.c
152
struct input_dev *dev = iforce->dev;
drivers/input/joystick/iforce/iforce-packets.c
167
iforce_report_hats_buttons(iforce, data);
drivers/input/joystick/iforce/iforce-packets.c
178
iforce_report_hats_buttons(iforce, data);
drivers/input/joystick/iforce/iforce-packets.c
19
void iforce_dump_packet(struct iforce *iforce, char *msg, u16 cmd, unsigned char *data)
drivers/input/joystick/iforce/iforce-packets.c
190
if (!test_and_set_bit(FF_CORE_IS_PLAYED, iforce->core_effects[i].flags)) {
drivers/input/joystick/iforce/iforce-packets.c
194
} else if (test_and_clear_bit(FF_CORE_IS_PLAYED, iforce->core_effects[i].flags)) {
drivers/input/joystick/iforce/iforce-packets.c
200
mark_core_as_ready(iforce, get_unaligned_le16(data + j));
drivers/input/joystick/iforce/iforce-packets.c
21
dev_dbg(iforce->dev->dev.parent, "%s %s cmd = %04x, data = %*ph\n",
drivers/input/joystick/iforce/iforce-packets.c
28
int iforce_send_packet(struct iforce *iforce, u16 cmd, unsigned char* data)
drivers/input/joystick/iforce/iforce-packets.c
39
scoped_guard(spinlock_irqsave, &iforce->xmit_lock) {
drivers/input/joystick/iforce/iforce-packets.c
40
head = iforce->xmit.head;
drivers/input/joystick/iforce/iforce-packets.c
41
tail = iforce->xmit.tail;
drivers/input/joystick/iforce/iforce-packets.c
44
dev_warn(&iforce->dev->dev,
drivers/input/joystick/iforce/iforce-packets.c
50
XMIT_INC(iforce->xmit.head, n + 2);
drivers/input/joystick/iforce/iforce-packets.c
55
iforce->xmit.buf[head] = HI(cmd);
drivers/input/joystick/iforce/iforce-packets.c
57
iforce->xmit.buf[head] = LO(cmd);
drivers/input/joystick/iforce/iforce-packets.c
64
memcpy(&iforce->xmit.buf[head], data, c);
drivers/input/joystick/iforce/iforce-packets.c
66
memcpy(&iforce->xmit.buf[0], data + c, n - c);
drivers/input/joystick/iforce/iforce-packets.c
75
iforce->xport_ops->xmit(iforce);
drivers/input/joystick/iforce/iforce-packets.c
82
int iforce_control_playback(struct iforce* iforce, u16 id, unsigned int value)
drivers/input/joystick/iforce/iforce-packets.c
89
return iforce_send_packet(iforce, FF_CMD_PLAY, data);
drivers/input/joystick/iforce/iforce-packets.c
94
static int mark_core_as_ready(struct iforce *iforce, unsigned short addr)
drivers/input/joystick/iforce/iforce-packets.c
98
if (!iforce->dev->ff)
drivers/input/joystick/iforce/iforce-serio.c
102
static void iforce_serio_stop_io(struct iforce *iforce)
drivers/input/joystick/iforce/iforce-serio.c
116
struct iforce *iforce = serio_get_drvdata(serio);
drivers/input/joystick/iforce/iforce-serio.c
118
iforce_serio_xmit(iforce);
drivers/input/joystick/iforce/iforce-serio.c
125
struct iforce *iforce = &iforce_serio->iforce;
drivers/input/joystick/iforce/iforce-serio.c
13
struct iforce iforce;
drivers/input/joystick/iforce/iforce-serio.c
166
wake_up_all(&iforce->wait);
drivers/input/joystick/iforce/iforce-serio.c
167
} else if (likely(iforce->type)) {
drivers/input/joystick/iforce/iforce-serio.c
168
iforce_process_packet(iforce, iforce_serio->id,
drivers/input/joystick/iforce/iforce-serio.c
192
iforce_serio->iforce.xport_ops = &iforce_serio_xport_ops;
drivers/input/joystick/iforce/iforce-serio.c
201
err = iforce_init_device(&serio->dev, BUS_RS232, &iforce_serio->iforce);
drivers/input/joystick/iforce/iforce-serio.c
217
input_unregister_device(iforce_serio->iforce.dev);
drivers/input/joystick/iforce/iforce-serio.c
24
static void iforce_serio_xmit(struct iforce *iforce)
drivers/input/joystick/iforce/iforce-serio.c
26
struct iforce_serio *iforce_serio = container_of(iforce,
drivers/input/joystick/iforce/iforce-serio.c
28
iforce);
drivers/input/joystick/iforce/iforce-serio.c
32
if (test_and_set_bit(IFORCE_XMIT_RUNNING, iforce->xmit_flags)) {
drivers/input/joystick/iforce/iforce-serio.c
33
set_bit(IFORCE_XMIT_AGAIN, iforce->xmit_flags);
drivers/input/joystick/iforce/iforce-serio.c
37
guard(spinlock_irqsave)(&iforce->xmit_lock);
drivers/input/joystick/iforce/iforce-serio.c
40
if (iforce->xmit.head == iforce->xmit.tail)
drivers/input/joystick/iforce/iforce-serio.c
48
iforce->xmit.buf[iforce->xmit.tail]);
drivers/input/joystick/iforce/iforce-serio.c
49
cs ^= iforce->xmit.buf[iforce->xmit.tail];
drivers/input/joystick/iforce/iforce-serio.c
50
XMIT_INC(iforce->xmit.tail, 1);
drivers/input/joystick/iforce/iforce-serio.c
52
for (i = iforce->xmit.buf[iforce->xmit.tail]; i >= 0; --i) {
drivers/input/joystick/iforce/iforce-serio.c
54
iforce->xmit.buf[iforce->xmit.tail]);
drivers/input/joystick/iforce/iforce-serio.c
55
cs ^= iforce->xmit.buf[iforce->xmit.tail];
drivers/input/joystick/iforce/iforce-serio.c
56
XMIT_INC(iforce->xmit.tail, 1);
drivers/input/joystick/iforce/iforce-serio.c
61
} while (test_and_clear_bit(IFORCE_XMIT_AGAIN, iforce->xmit_flags));
drivers/input/joystick/iforce/iforce-serio.c
63
iforce_clear_xmit_and_wake(iforce);
drivers/input/joystick/iforce/iforce-serio.c
66
static int iforce_serio_get_id(struct iforce *iforce, u8 id,
drivers/input/joystick/iforce/iforce-serio.c
69
struct iforce_serio *iforce_serio = container_of(iforce,
drivers/input/joystick/iforce/iforce-serio.c
71
iforce);
drivers/input/joystick/iforce/iforce-serio.c
76
iforce_send_packet(iforce, FF_CMD_QUERY, &id);
drivers/input/joystick/iforce/iforce-serio.c
78
wait_event_interruptible_timeout(iforce->wait,
drivers/input/joystick/iforce/iforce-serio.c
96
static int iforce_serio_start_io(struct iforce *iforce)
drivers/input/joystick/iforce/iforce-usb.c
110
static int iforce_usb_start_io(struct iforce *iforce)
drivers/input/joystick/iforce/iforce-usb.c
112
struct iforce_usb *iforce_usb = container_of(iforce, struct iforce_usb,
drivers/input/joystick/iforce/iforce-usb.c
113
iforce);
drivers/input/joystick/iforce/iforce-usb.c
121
static void iforce_usb_stop_io(struct iforce *iforce)
drivers/input/joystick/iforce/iforce-usb.c
123
struct iforce_usb *iforce_usb = container_of(iforce, struct iforce_usb,
drivers/input/joystick/iforce/iforce-usb.c
124
iforce);
drivers/input/joystick/iforce/iforce-usb.c
13
struct iforce iforce;
drivers/input/joystick/iforce/iforce-usb.c
140
struct iforce *iforce = &iforce_usb->iforce;
drivers/input/joystick/iforce/iforce-usb.c
161
iforce_process_packet(iforce, iforce_usb->data_in[0],
drivers/input/joystick/iforce/iforce-usb.c
174
struct iforce *iforce = &iforce_usb->iforce;
drivers/input/joystick/iforce/iforce-usb.c
179
iforce_clear_xmit_and_wake(iforce);
drivers/input/joystick/iforce/iforce-usb.c
183
__iforce_usb_xmit(iforce);
drivers/input/joystick/iforce/iforce-usb.c
185
wake_up_all(&iforce->wait);
drivers/input/joystick/iforce/iforce-usb.c
222
iforce_usb->iforce.xport_ops = &iforce_usb_xport_ops;
drivers/input/joystick/iforce/iforce-usb.c
23
static void __iforce_usb_xmit(struct iforce *iforce)
drivers/input/joystick/iforce/iforce-usb.c
237
err = iforce_init_device(&intf->dev, BUS_USB, &iforce_usb->iforce);
drivers/input/joystick/iforce/iforce-usb.c
25
struct iforce_usb *iforce_usb = container_of(iforce, struct iforce_usb,
drivers/input/joystick/iforce/iforce-usb.c
26
iforce);
drivers/input/joystick/iforce/iforce-usb.c
260
input_unregister_device(iforce_usb->iforce.dev);
drivers/input/joystick/iforce/iforce-usb.c
29
guard(spinlock_irqsave)(&iforce->xmit_lock);
drivers/input/joystick/iforce/iforce-usb.c
31
if (iforce->xmit.head == iforce->xmit.tail) {
drivers/input/joystick/iforce/iforce-usb.c
32
iforce_clear_xmit_and_wake(iforce);
drivers/input/joystick/iforce/iforce-usb.c
36
((char *)iforce_usb->out->transfer_buffer)[0] = iforce->xmit.buf[iforce->xmit.tail];
drivers/input/joystick/iforce/iforce-usb.c
37
XMIT_INC(iforce->xmit.tail, 1);
drivers/input/joystick/iforce/iforce-usb.c
38
n = iforce->xmit.buf[iforce->xmit.tail];
drivers/input/joystick/iforce/iforce-usb.c
39
XMIT_INC(iforce->xmit.tail, 1);
drivers/input/joystick/iforce/iforce-usb.c
45
c = CIRC_CNT_TO_END(iforce->xmit.head, iforce->xmit.tail, XMIT_SIZE);
drivers/input/joystick/iforce/iforce-usb.c
50
&iforce->xmit.buf[iforce->xmit.tail],
drivers/input/joystick/iforce/iforce-usb.c
54
&iforce->xmit.buf[0],
drivers/input/joystick/iforce/iforce-usb.c
57
XMIT_INC(iforce->xmit.tail, n);
drivers/input/joystick/iforce/iforce-usb.c
63
iforce_clear_xmit_and_wake(iforce);
drivers/input/joystick/iforce/iforce-usb.c
71
static void iforce_usb_xmit(struct iforce *iforce)
drivers/input/joystick/iforce/iforce-usb.c
73
if (!test_and_set_bit(IFORCE_XMIT_RUNNING, iforce->xmit_flags))
drivers/input/joystick/iforce/iforce-usb.c
74
__iforce_usb_xmit(iforce);
drivers/input/joystick/iforce/iforce-usb.c
77
static int iforce_usb_get_id(struct iforce *iforce, u8 id,
drivers/input/joystick/iforce/iforce-usb.c
80
struct iforce_usb *iforce_usb = container_of(iforce, struct iforce_usb,
drivers/input/joystick/iforce/iforce-usb.c
81
iforce);
drivers/input/joystick/iforce/iforce.h
115
static inline int iforce_get_id_packet(struct iforce *iforce, u8 id,
drivers/input/joystick/iforce/iforce.h
118
return iforce->xport_ops->get_id(iforce, id,
drivers/input/joystick/iforce/iforce.h
122
static inline void iforce_clear_xmit_and_wake(struct iforce *iforce)
drivers/input/joystick/iforce/iforce.h
124
clear_bit(IFORCE_XMIT_RUNNING, iforce->xmit_flags);
drivers/input/joystick/iforce/iforce.h
125
wake_up_all(&iforce->wait);
drivers/input/joystick/iforce/iforce.h
131
struct iforce *iforce);
drivers/input/joystick/iforce/iforce.h
134
int iforce_control_playback(struct iforce*, u16 id, unsigned int);
drivers/input/joystick/iforce/iforce.h
135
void iforce_process_packet(struct iforce *iforce,
drivers/input/joystick/iforce/iforce.h
137
int iforce_send_packet(struct iforce *iforce, u16 cmd, unsigned char* data);
drivers/input/joystick/iforce/iforce.h
138
void iforce_dump_packet(struct iforce *iforce, char *msg, u16 cmd, unsigned char *data);
drivers/input/joystick/iforce/iforce.h
141
int iforce_upload_periodic(struct iforce *, struct ff_effect *, struct ff_effect *);
drivers/input/joystick/iforce/iforce.h
142
int iforce_upload_constant(struct iforce *, struct ff_effect *, struct ff_effect *);
drivers/input/joystick/iforce/iforce.h
143
int iforce_upload_condition(struct iforce *, struct ff_effect *, struct ff_effect *);
drivers/input/joystick/iforce/iforce.h
75
struct iforce;
drivers/input/joystick/iforce/iforce.h
78
void (*xmit)(struct iforce *iforce);
drivers/input/joystick/iforce/iforce.h
79
int (*get_id)(struct iforce *iforce, u8 id,
drivers/input/joystick/iforce/iforce.h
81
int (*start_io)(struct iforce *iforce);
drivers/input/joystick/iforce/iforce.h
82
void (*stop_io)(struct iforce *iforce);