Lines Matching refs:iforce

91 	struct iforce *iforce = input_get_drvdata(dev);  in iforce_playback()  local
92 struct iforce_core_effect *core_effect = &iforce->core_effects[effect_id]; in iforce_playback()
99 iforce_control_playback(iforce, effect_id, value); in iforce_playback()
105 struct iforce *iforce = input_get_drvdata(dev); in iforce_set_gain() local
109 iforce_send_packet(iforce, FF_CMD_GAIN, data); in iforce_set_gain()
114 struct iforce *iforce = input_get_drvdata(dev); in iforce_set_autocenter() local
119 iforce_send_packet(iforce, FF_CMD_AUTOCENTER, data); in iforce_set_autocenter()
123 iforce_send_packet(iforce, FF_CMD_AUTOCENTER, data); in iforce_set_autocenter()
132 struct iforce *iforce = input_get_drvdata(dev); in iforce_upload_effect() local
133 struct iforce_core_effect *core_effect = &iforce->core_effects[effect->id]; in iforce_upload_effect()
148 ret = iforce_upload_periodic(iforce, effect, old); in iforce_upload_effect()
152 ret = iforce_upload_constant(iforce, effect, old); in iforce_upload_effect()
157 ret = iforce_upload_condition(iforce, effect, old); in iforce_upload_effect()
179 struct iforce *iforce = input_get_drvdata(dev); in iforce_erase_effect() local
180 struct iforce_core_effect *core_effect = &iforce->core_effects[effect_id]; in iforce_erase_effect()
197 struct iforce *iforce = input_get_drvdata(dev); in iforce_open() local
199 switch (iforce->bus) { in iforce_open()
202 iforce->irq->dev = iforce->usbdev; in iforce_open()
203 if (usb_submit_urb(iforce->irq, GFP_KERNEL)) in iforce_open()
211 iforce_send_packet(iforce, FF_CMD_ENABLE, "\004"); in iforce_open()
219 struct iforce *iforce = input_get_drvdata(dev); in iforce_close() local
225 if (test_bit(FF_CORE_IS_USED, iforce->core_effects[i].flags)) { in iforce_close()
234 iforce_send_packet(iforce, FF_CMD_ENABLE, "\001"); in iforce_close()
236 wait_event_interruptible(iforce->wait, in iforce_close()
237 !test_bit(IFORCE_XMIT_RUNNING, iforce->xmit_flags)); in iforce_close()
240 switch (iforce->bus) { in iforce_close()
243 usb_kill_urb(iforce->irq); in iforce_close()
244 usb_kill_urb(iforce->out); in iforce_close()
245 usb_kill_urb(iforce->ctrl); in iforce_close()
256 int iforce_init_device(struct iforce *iforce) in iforce_init_device() argument
268 init_waitqueue_head(&iforce->wait); in iforce_init_device()
269 spin_lock_init(&iforce->xmit_lock); in iforce_init_device()
270 mutex_init(&iforce->mem_mutex); in iforce_init_device()
271 iforce->xmit.buf = iforce->xmit_data; in iforce_init_device()
272 iforce->dev = input_dev; in iforce_init_device()
278 switch (iforce->bus) { in iforce_init_device()
282 input_dev->dev.parent = &iforce->usbdev->dev; in iforce_init_device()
288 input_dev->dev.parent = &iforce->serio->dev; in iforce_init_device()
293 input_set_drvdata(input_dev, iforce); in iforce_init_device()
303 iforce->device_memory.name = "I-Force device effect memory"; in iforce_init_device()
304 iforce->device_memory.start = 0; in iforce_init_device()
305 iforce->device_memory.end = 200; in iforce_init_device()
306 iforce->device_memory.flags = IORESOURCE_MEM; in iforce_init_device()
307 iforce->device_memory.parent = NULL; in iforce_init_device()
308 iforce->device_memory.child = NULL; in iforce_init_device()
309 iforce->device_memory.sibling = NULL; in iforce_init_device()
316 if (!iforce_get_id_packet(iforce, "O")) in iforce_init_device()
330 if (!iforce_get_id_packet(iforce, "M")) in iforce_init_device()
331 input_dev->id.vendor = (iforce->edata[2] << 8) | iforce->edata[1]; in iforce_init_device()
333 dev_warn(&iforce->dev->dev, "Device does not respond to id packet M\n"); in iforce_init_device()
335 if (!iforce_get_id_packet(iforce, "P")) in iforce_init_device()
336 input_dev->id.product = (iforce->edata[2] << 8) | iforce->edata[1]; in iforce_init_device()
338 dev_warn(&iforce->dev->dev, "Device does not respond to id packet P\n"); in iforce_init_device()
340 if (!iforce_get_id_packet(iforce, "B")) in iforce_init_device()
341 iforce->device_memory.end = (iforce->edata[2] << 8) | iforce->edata[1]; in iforce_init_device()
343 dev_warn(&iforce->dev->dev, "Device does not respond to id packet B\n"); in iforce_init_device()
345 if (!iforce_get_id_packet(iforce, "N")) in iforce_init_device()
346 ff_effects = iforce->edata[1]; in iforce_init_device()
348 dev_warn(&iforce->dev->dev, "Device does not respond to id packet N\n"); in iforce_init_device()
352 dev_warn(&iforce->dev->dev, "Limiting number of effects to %d (device reports %d)\n", in iforce_init_device()
362 if (!iforce_get_id_packet(iforce, c + i)) in iforce_init_device()
363 iforce_dump_packet("info", iforce->ecmd, iforce->edata); in iforce_init_device()
379 iforce->type = iforce_device + i; in iforce_init_device()
380 input_dev->name = iforce->type->name; in iforce_init_device()
389 for (i = 0; iforce->type->btn[i] >= 0; i++) in iforce_init_device()
390 set_bit(iforce->type->btn[i], input_dev->keybit); in iforce_init_device()
393 for (i = 0; iforce->type->abs[i] >= 0; i++) { in iforce_init_device()
395 signed short t = iforce->type->abs[i]; in iforce_init_device()
431 for (i = 0; iforce->type->ff[i] >= 0; i++) in iforce_init_device()
432 set_bit(iforce->type->ff[i], input_dev->ffbit); in iforce_init_device()
449 error = input_register_device(iforce->dev); in iforce_init_device()