Lines Matching refs:iforce

80 	struct iforce *iforce = input_get_drvdata(dev);  in iforce_playback()  local
81 struct iforce_core_effect *core_effect = &iforce->core_effects[effect_id]; in iforce_playback()
88 iforce_control_playback(iforce, effect_id, value); in iforce_playback()
94 struct iforce *iforce = input_get_drvdata(dev); in iforce_set_gain() local
98 iforce_send_packet(iforce, FF_CMD_GAIN, data); in iforce_set_gain()
103 struct iforce *iforce = input_get_drvdata(dev); in iforce_set_autocenter() local
108 iforce_send_packet(iforce, FF_CMD_AUTOCENTER, data); in iforce_set_autocenter()
112 iforce_send_packet(iforce, FF_CMD_AUTOCENTER, data); in iforce_set_autocenter()
121 struct iforce *iforce = input_get_drvdata(dev); in iforce_upload_effect() local
122 struct iforce_core_effect *core_effect = &iforce->core_effects[effect->id]; in iforce_upload_effect()
137 ret = iforce_upload_periodic(iforce, effect, old); in iforce_upload_effect()
141 ret = iforce_upload_constant(iforce, effect, old); in iforce_upload_effect()
146 ret = iforce_upload_condition(iforce, effect, old); in iforce_upload_effect()
168 struct iforce *iforce = input_get_drvdata(dev); in iforce_erase_effect() local
169 struct iforce_core_effect *core_effect = &iforce->core_effects[effect_id]; in iforce_erase_effect()
186 struct iforce *iforce = input_get_drvdata(dev); in iforce_open() local
188 switch (iforce->bus) { in iforce_open()
191 iforce->irq->dev = iforce->usbdev; in iforce_open()
192 if (usb_submit_urb(iforce->irq, GFP_KERNEL)) in iforce_open()
200 iforce_send_packet(iforce, FF_CMD_ENABLE, "\004"); in iforce_open()
208 struct iforce *iforce = input_get_drvdata(dev); in iforce_close() local
214 if (test_bit(FF_CORE_IS_USED, iforce->core_effects[i].flags)) { in iforce_close()
223 iforce_send_packet(iforce, FF_CMD_ENABLE, "\001"); in iforce_close()
225 wait_event_interruptible(iforce->wait, in iforce_close()
226 !test_bit(IFORCE_XMIT_RUNNING, iforce->xmit_flags)); in iforce_close()
229 switch (iforce->bus) { in iforce_close()
232 usb_kill_urb(iforce->irq); in iforce_close()
233 usb_kill_urb(iforce->out); in iforce_close()
234 usb_kill_urb(iforce->ctrl); in iforce_close()
245 int iforce_init_device(struct iforce *iforce) in iforce_init_device() argument
257 init_waitqueue_head(&iforce->wait); in iforce_init_device()
258 spin_lock_init(&iforce->xmit_lock); in iforce_init_device()
259 mutex_init(&iforce->mem_mutex); in iforce_init_device()
260 iforce->xmit.buf = iforce->xmit_data; in iforce_init_device()
261 iforce->dev = input_dev; in iforce_init_device()
267 switch (iforce->bus) { in iforce_init_device()
271 input_dev->dev.parent = &iforce->usbdev->dev; in iforce_init_device()
277 input_dev->dev.parent = &iforce->serio->dev; in iforce_init_device()
282 input_set_drvdata(input_dev, iforce); in iforce_init_device()
292 iforce->device_memory.name = "I-Force device effect memory"; in iforce_init_device()
293 iforce->device_memory.start = 0; in iforce_init_device()
294 iforce->device_memory.end = 200; in iforce_init_device()
295 iforce->device_memory.flags = IORESOURCE_MEM; in iforce_init_device()
296 iforce->device_memory.parent = NULL; in iforce_init_device()
297 iforce->device_memory.child = NULL; in iforce_init_device()
298 iforce->device_memory.sibling = NULL; in iforce_init_device()
305 if (!iforce_get_id_packet(iforce, "O")) in iforce_init_device()
319 if (!iforce_get_id_packet(iforce, "M")) in iforce_init_device()
320 input_dev->id.vendor = (iforce->edata[2] << 8) | iforce->edata[1]; in iforce_init_device()
322 dev_warn(&iforce->dev->dev, "Device does not respond to id packet M\n"); in iforce_init_device()
324 if (!iforce_get_id_packet(iforce, "P")) in iforce_init_device()
325 input_dev->id.product = (iforce->edata[2] << 8) | iforce->edata[1]; in iforce_init_device()
327 dev_warn(&iforce->dev->dev, "Device does not respond to id packet P\n"); in iforce_init_device()
329 if (!iforce_get_id_packet(iforce, "B")) in iforce_init_device()
330 iforce->device_memory.end = (iforce->edata[2] << 8) | iforce->edata[1]; in iforce_init_device()
332 dev_warn(&iforce->dev->dev, "Device does not respond to id packet B\n"); in iforce_init_device()
334 if (!iforce_get_id_packet(iforce, "N")) in iforce_init_device()
335 ff_effects = iforce->edata[1]; in iforce_init_device()
337 dev_warn(&iforce->dev->dev, "Device does not respond to id packet N\n"); in iforce_init_device()
341 dev_warn(&iforce->dev->dev, "Limiting number of effects to %d (device reports %d)\n", in iforce_init_device()
351 if (!iforce_get_id_packet(iforce, c + i)) in iforce_init_device()
352 iforce_dump_packet(iforce, "info", iforce->ecmd, iforce->edata); in iforce_init_device()
368 iforce->type = iforce_device + i; in iforce_init_device()
369 input_dev->name = iforce->type->name; in iforce_init_device()
378 for (i = 0; iforce->type->btn[i] >= 0; i++) in iforce_init_device()
379 set_bit(iforce->type->btn[i], input_dev->keybit); in iforce_init_device()
381 for (i = 0; iforce->type->abs[i] >= 0; i++) { in iforce_init_device()
383 signed short t = iforce->type->abs[i]; in iforce_init_device()
419 for (i = 0; iforce->type->ff[i] >= 0; i++) in iforce_init_device()
420 set_bit(iforce->type->ff[i], input_dev->ffbit); in iforce_init_device()
437 error = input_register_device(iforce->dev); in iforce_init_device()