/Linux-v4.19/drivers/input/joystick/iforce/ |
D | iforce-serio.c | 26 void iforce_serial_xmit(struct iforce *iforce) in iforce_serial_xmit() argument 32 if (test_and_set_bit(IFORCE_XMIT_RUNNING, iforce->xmit_flags)) { in iforce_serial_xmit() 33 set_bit(IFORCE_XMIT_AGAIN, iforce->xmit_flags); in iforce_serial_xmit() 37 spin_lock_irqsave(&iforce->xmit_lock, flags); in iforce_serial_xmit() 40 if (iforce->xmit.head == iforce->xmit.tail) { in iforce_serial_xmit() 41 clear_bit(IFORCE_XMIT_RUNNING, iforce->xmit_flags); in iforce_serial_xmit() 42 spin_unlock_irqrestore(&iforce->xmit_lock, flags); in iforce_serial_xmit() 48 serio_write(iforce->serio, 0x2b); in iforce_serial_xmit() 50 serio_write(iforce->serio, iforce->xmit.buf[iforce->xmit.tail]); in iforce_serial_xmit() 51 cs ^= iforce->xmit.buf[iforce->xmit.tail]; in iforce_serial_xmit() [all …]
|
D | iforce-usb.c | 26 void iforce_usb_xmit(struct iforce *iforce) in iforce_usb_xmit() argument 31 spin_lock_irqsave(&iforce->xmit_lock, flags); in iforce_usb_xmit() 33 if (iforce->xmit.head == iforce->xmit.tail) { in iforce_usb_xmit() 34 clear_bit(IFORCE_XMIT_RUNNING, iforce->xmit_flags); in iforce_usb_xmit() 35 spin_unlock_irqrestore(&iforce->xmit_lock, flags); in iforce_usb_xmit() 39 ((char *)iforce->out->transfer_buffer)[0] = iforce->xmit.buf[iforce->xmit.tail]; in iforce_usb_xmit() 40 XMIT_INC(iforce->xmit.tail, 1); in iforce_usb_xmit() 41 n = iforce->xmit.buf[iforce->xmit.tail]; in iforce_usb_xmit() 42 XMIT_INC(iforce->xmit.tail, 1); in iforce_usb_xmit() 44 iforce->out->transfer_buffer_length = n + 1; in iforce_usb_xmit() [all …]
|
D | iforce-packets.c | 32 void iforce_dump_packet(struct iforce *iforce, char *msg, u16 cmd, unsigned char *data) in iforce_dump_packet() argument 34 dev_dbg(iforce->dev->dev.parent, "%s %s cmd = %04x, data = %*ph\n", in iforce_dump_packet() 41 int iforce_send_packet(struct iforce *iforce, u16 cmd, unsigned char* data) in iforce_send_packet() argument 53 spin_lock_irqsave(&iforce->xmit_lock, flags); in iforce_send_packet() 55 head = iforce->xmit.head; in iforce_send_packet() 56 tail = iforce->xmit.tail; in iforce_send_packet() 60 dev_warn(&iforce->dev->dev, in iforce_send_packet() 62 spin_unlock_irqrestore(&iforce->xmit_lock, flags); in iforce_send_packet() 67 XMIT_INC(iforce->xmit.head, n+2); in iforce_send_packet() 72 iforce->xmit.buf[head] = HI(cmd); in iforce_send_packet() [all …]
|
D | iforce-main.c | 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() [all …]
|
D | iforce-ff.c | 33 static int make_magnitude_modifier(struct iforce* iforce, in make_magnitude_modifier() argument 39 mutex_lock(&iforce->mem_mutex); in make_magnitude_modifier() 40 if (allocate_resource(&(iforce->device_memory), mod_chunk, 2, in make_magnitude_modifier() 41 iforce->device_memory.start, iforce->device_memory.end, 2L, in make_magnitude_modifier() 43 mutex_unlock(&iforce->mem_mutex); in make_magnitude_modifier() 46 mutex_unlock(&iforce->mem_mutex); in make_magnitude_modifier() 53 iforce_send_packet(iforce, FF_CMD_MAGNITUDE, data); in make_magnitude_modifier() 55 iforce_dump_packet(iforce, "magnitude", FF_CMD_MAGNITUDE, data); in make_magnitude_modifier() 63 static int make_period_modifier(struct iforce* iforce, in make_period_modifier() argument 72 mutex_lock(&iforce->mem_mutex); in make_period_modifier() [all …]
|
D | iforce.h | 96 struct iforce { struct 145 void iforce_serial_xmit(struct iforce *iforce); 148 void iforce_usb_xmit(struct iforce *iforce); 151 int iforce_init_device(struct iforce *iforce); 154 int iforce_control_playback(struct iforce*, u16 id, unsigned int); 155 void iforce_process_packet(struct iforce *iforce, u16 cmd, unsigned char *data); 156 int iforce_send_packet(struct iforce *iforce, u16 cmd, unsigned char* data); 157 void iforce_dump_packet(struct iforce *iforce, char *msg, u16 cmd, unsigned char *data); 158 int iforce_get_id_packet(struct iforce *iforce, char *packet); 161 int iforce_upload_periodic(struct iforce *, struct ff_effect *, struct ff_effect *); [all …]
|
D | Makefile | 7 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
|
D | Kconfig | 13 module will be called iforce.
|
/Linux-v4.19/drivers/input/joystick/ |
D | Makefile | 20 obj-$(CONFIG_JOYSTICK_IFORCE) += iforce/
|
D | Kconfig | 133 source "drivers/input/joystick/iforce/Kconfig"
|
/Linux-v4.19/Documentation/input/ |
D | ff.rst | 38 If you have a serial iforce device, you need to start inputattach. See 231 the direction of an effect cannot be updated with iforce devices. In this 262 - Status feedback is only supported by iforce driver. If you have
|
D | input.rst | 231 iforce subsection
|
/Linux-v4.19/arch/sparc/include/asm/ |
D | leon_amba.h | 97 u32 iforce; member
|
/Linux-v4.19/Documentation/input/devices/ |
D | xpad.rst | 209 His useful info and both the usb-skeleton as well as the iforce input driver
|
/Linux-v4.19/Documentation/input/joydev/ |
D | joystick.rst | 515 All I-Force devices are supported by the iforce module. This includes: 528 inputattach --iforce /dev/tts/x &
|