Home
last modified time | relevance | path

Searched refs:iforce (Results 1 – 15 of 15) sorted by relevance

/linux-3.4.99/drivers/input/joystick/iforce/
Diforce-serio.c30 void iforce_serial_xmit(struct iforce *iforce) in iforce_serial_xmit() argument
36 if (test_and_set_bit(IFORCE_XMIT_RUNNING, iforce->xmit_flags)) { in iforce_serial_xmit()
37 set_bit(IFORCE_XMIT_AGAIN, iforce->xmit_flags); in iforce_serial_xmit()
41 spin_lock_irqsave(&iforce->xmit_lock, flags); in iforce_serial_xmit()
44 if (iforce->xmit.head == iforce->xmit.tail) { in iforce_serial_xmit()
45 clear_bit(IFORCE_XMIT_RUNNING, iforce->xmit_flags); in iforce_serial_xmit()
46 spin_unlock_irqrestore(&iforce->xmit_lock, flags); in iforce_serial_xmit()
52 serio_write(iforce->serio, 0x2b); in iforce_serial_xmit()
54 serio_write(iforce->serio, iforce->xmit.buf[iforce->xmit.tail]); in iforce_serial_xmit()
55 cs ^= iforce->xmit.buf[iforce->xmit.tail]; in iforce_serial_xmit()
[all …]
Diforce-usb.c30 void iforce_usb_xmit(struct iforce *iforce) in iforce_usb_xmit() argument
35 spin_lock_irqsave(&iforce->xmit_lock, flags); in iforce_usb_xmit()
37 if (iforce->xmit.head == iforce->xmit.tail) { in iforce_usb_xmit()
38 clear_bit(IFORCE_XMIT_RUNNING, iforce->xmit_flags); in iforce_usb_xmit()
39 spin_unlock_irqrestore(&iforce->xmit_lock, flags); in iforce_usb_xmit()
43 ((char *)iforce->out->transfer_buffer)[0] = iforce->xmit.buf[iforce->xmit.tail]; in iforce_usb_xmit()
44 XMIT_INC(iforce->xmit.tail, 1); in iforce_usb_xmit()
45 n = iforce->xmit.buf[iforce->xmit.tail]; in iforce_usb_xmit()
46 XMIT_INC(iforce->xmit.tail, 1); in iforce_usb_xmit()
48 iforce->out->transfer_buffer_length = n + 1; in iforce_usb_xmit()
[all …]
Diforce-packets.c49 int iforce_send_packet(struct iforce *iforce, u16 cmd, unsigned char* data) in iforce_send_packet() argument
61 spin_lock_irqsave(&iforce->xmit_lock, flags); in iforce_send_packet()
63 head = iforce->xmit.head; in iforce_send_packet()
64 tail = iforce->xmit.tail; in iforce_send_packet()
68 dev_warn(&iforce->dev->dev, in iforce_send_packet()
70 spin_unlock_irqrestore(&iforce->xmit_lock, flags); in iforce_send_packet()
75 XMIT_INC(iforce->xmit.head, n+2); in iforce_send_packet()
80 iforce->xmit.buf[head] = HI(cmd); in iforce_send_packet()
82 iforce->xmit.buf[head] = LO(cmd); in iforce_send_packet()
88 memcpy(&iforce->xmit.buf[head], in iforce_send_packet()
[all …]
Diforce-main.c91 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()
[all …]
Diforce-ff.c37 static int make_magnitude_modifier(struct iforce* iforce, in make_magnitude_modifier() argument
43 mutex_lock(&iforce->mem_mutex); in make_magnitude_modifier()
44 if (allocate_resource(&(iforce->device_memory), mod_chunk, 2, in make_magnitude_modifier()
45 iforce->device_memory.start, iforce->device_memory.end, 2L, in make_magnitude_modifier()
47 mutex_unlock(&iforce->mem_mutex); in make_magnitude_modifier()
50 mutex_unlock(&iforce->mem_mutex); in make_magnitude_modifier()
57 iforce_send_packet(iforce, FF_CMD_MAGNITUDE, data); in make_magnitude_modifier()
67 static int make_period_modifier(struct iforce* iforce, in make_period_modifier() argument
76 mutex_lock(&iforce->mem_mutex); in make_period_modifier()
77 if (allocate_resource(&(iforce->device_memory), mod_chunk, 0x0c, in make_period_modifier()
[all …]
Diforce.h101 struct iforce { struct
149 void iforce_serial_xmit(struct iforce *iforce);
152 void iforce_usb_xmit(struct iforce *iforce);
155 int iforce_init_device(struct iforce *iforce);
158 int iforce_control_playback(struct iforce*, u16 id, unsigned int);
159 void iforce_process_packet(struct iforce *iforce, u16 cmd, unsigned char *data);
160 int iforce_send_packet(struct iforce *iforce, u16 cmd, unsigned char* data);
162 int iforce_get_id_packet(struct iforce *iforce, char *packet);
165 int iforce_upload_periodic(struct iforce *, struct ff_effect *, struct ff_effect *);
166 int iforce_upload_constant(struct iforce *, struct ff_effect *, struct ff_effect *);
[all …]
DMakefile7 obj-$(CONFIG_JOYSTICK_IFORCE) += iforce.o
9 iforce-y := iforce-ff.o iforce-main.o iforce-packets.o
10 iforce-$(CONFIG_JOYSTICK_IFORCE_232) += iforce-serio.o
11 iforce-$(CONFIG_JOYSTICK_IFORCE_USB) += iforce-usb.o
DKconfig13 module will be called iforce.
/linux-3.4.99/drivers/input/joystick/
DMakefile19 obj-$(CONFIG_JOYSTICK_IFORCE) += iforce/
DKconfig133 source "drivers/input/joystick/iforce/Kconfig"
/linux-3.4.99/Documentation/input/
Dff.txt33 If you have a serial iforce device, you need to start inputattach. See
189 the direction of an effect cannot be updated with iforce devices. In this
217 NOTE: Status feedback is only supported by iforce driver. If you have
Dxpad.txt143 His useful info and both the usb-skeleton as well as the iforce input driver
Djoystick.txt504 All I-Force devices are supported by the iforce module. This includes:
517 inputattach --iforce /dev/tts/x &
Dinput.txt147 3.1.5 iforce
/linux-3.4.99/arch/sparc/include/asm/
Dleon_amba.h97 u32 iforce; member