/kernel/linux/linux-5.10/drivers/input/joystick/iforce/ |
D | iforce-main.c | 67 struct iforce *iforce = input_get_drvdata(dev); in iforce_playback() local 68 struct iforce_core_effect *core_effect = &iforce->core_effects[effect_id]; in iforce_playback() 75 iforce_control_playback(iforce, effect_id, value); in iforce_playback() 81 struct iforce *iforce = input_get_drvdata(dev); in iforce_set_gain() local 85 iforce_send_packet(iforce, FF_CMD_GAIN, data); in iforce_set_gain() 90 struct iforce *iforce = input_get_drvdata(dev); in iforce_set_autocenter() local 95 iforce_send_packet(iforce, FF_CMD_AUTOCENTER, data); in iforce_set_autocenter() 99 iforce_send_packet(iforce, FF_CMD_AUTOCENTER, data); in iforce_set_autocenter() 108 struct iforce *iforce = input_get_drvdata(dev); in iforce_upload_effect() local 109 struct iforce_core_effect *core_effect = &iforce->core_effects[effect->id]; in iforce_upload_effect() [all …]
|
D | iforce-serio.c | 13 struct iforce iforce; member 24 static void iforce_serio_xmit(struct iforce *iforce) in iforce_serio_xmit() argument 26 struct iforce_serio *iforce_serio = container_of(iforce, in iforce_serio_xmit() 28 iforce); in iforce_serio_xmit() 33 if (test_and_set_bit(IFORCE_XMIT_RUNNING, iforce->xmit_flags)) { in iforce_serio_xmit() 34 set_bit(IFORCE_XMIT_AGAIN, iforce->xmit_flags); in iforce_serio_xmit() 38 spin_lock_irqsave(&iforce->xmit_lock, flags); in iforce_serio_xmit() 41 if (iforce->xmit.head == iforce->xmit.tail) { in iforce_serio_xmit() 42 clear_bit(IFORCE_XMIT_RUNNING, iforce->xmit_flags); in iforce_serio_xmit() 43 spin_unlock_irqrestore(&iforce->xmit_lock, flags); in iforce_serio_xmit() [all …]
|
D | iforce-usb.c | 13 struct iforce iforce; member 23 static void __iforce_usb_xmit(struct iforce *iforce) in __iforce_usb_xmit() argument 25 struct iforce_usb *iforce_usb = container_of(iforce, struct iforce_usb, in __iforce_usb_xmit() 26 iforce); in __iforce_usb_xmit() 30 spin_lock_irqsave(&iforce->xmit_lock, flags); in __iforce_usb_xmit() 32 if (iforce->xmit.head == iforce->xmit.tail) { in __iforce_usb_xmit() 33 clear_bit(IFORCE_XMIT_RUNNING, iforce->xmit_flags); in __iforce_usb_xmit() 34 spin_unlock_irqrestore(&iforce->xmit_lock, flags); in __iforce_usb_xmit() 38 ((char *)iforce_usb->out->transfer_buffer)[0] = iforce->xmit.buf[iforce->xmit.tail]; in __iforce_usb_xmit() 39 XMIT_INC(iforce->xmit.tail, 1); in __iforce_usb_xmit() [all …]
|
D | iforce-packets.c | 18 void iforce_dump_packet(struct iforce *iforce, char *msg, u16 cmd, unsigned char *data) in iforce_dump_packet() argument 20 dev_dbg(iforce->dev->dev.parent, "%s %s cmd = %04x, data = %*ph\n", in iforce_dump_packet() 27 int iforce_send_packet(struct iforce *iforce, u16 cmd, unsigned char* data) in iforce_send_packet() argument 39 spin_lock_irqsave(&iforce->xmit_lock, flags); in iforce_send_packet() 41 head = iforce->xmit.head; in iforce_send_packet() 42 tail = iforce->xmit.tail; in iforce_send_packet() 46 dev_warn(&iforce->dev->dev, in iforce_send_packet() 48 spin_unlock_irqrestore(&iforce->xmit_lock, flags); in iforce_send_packet() 53 XMIT_INC(iforce->xmit.head, n+2); in iforce_send_packet() 58 iforce->xmit.buf[head] = HI(cmd); in iforce_send_packet() [all …]
|
D | iforce-ff.c | 18 static int make_magnitude_modifier(struct iforce* iforce, in make_magnitude_modifier() argument 24 mutex_lock(&iforce->mem_mutex); in make_magnitude_modifier() 25 if (allocate_resource(&(iforce->device_memory), mod_chunk, 2, in make_magnitude_modifier() 26 iforce->device_memory.start, iforce->device_memory.end, 2L, in make_magnitude_modifier() 28 mutex_unlock(&iforce->mem_mutex); in make_magnitude_modifier() 31 mutex_unlock(&iforce->mem_mutex); in make_magnitude_modifier() 38 iforce_send_packet(iforce, FF_CMD_MAGNITUDE, data); in make_magnitude_modifier() 40 iforce_dump_packet(iforce, "magnitude", FF_CMD_MAGNITUDE, data); in make_magnitude_modifier() 48 static int make_period_modifier(struct iforce* iforce, in make_period_modifier() argument 57 mutex_lock(&iforce->mem_mutex); in make_period_modifier() [all …]
|
D | iforce.h | 75 struct iforce; 78 void (*xmit)(struct iforce *iforce); 79 int (*get_id)(struct iforce *iforce, u8 id, 81 int (*start_io)(struct iforce *iforce); 82 void (*stop_io)(struct iforce *iforce); 85 struct iforce { struct 115 static inline int iforce_get_id_packet(struct iforce *iforce, u8 id, in iforce_get_id_packet() argument 118 return iforce->xport_ops->get_id(iforce, id, in iforce_get_id_packet() 125 struct iforce *iforce); 128 int iforce_control_playback(struct iforce*, u16 id, unsigned int); [all …]
|
D | Makefile | 8 obj-$(CONFIG_JOYSTICK_IFORCE) += iforce.o 9 iforce-y := iforce-ff.o iforce-main.o iforce-packets.o 10 obj-$(CONFIG_JOYSTICK_IFORCE_232) += iforce-serio.o 11 obj-$(CONFIG_JOYSTICK_IFORCE_USB) += iforce-usb.o
|
D | Kconfig | 14 module will be called iforce.
|
/kernel/linux/linux-5.10/drivers/input/joystick/ |
D | Makefile | 22 obj-$(CONFIG_JOYSTICK_IFORCE) += iforce/
|
D | Kconfig | 145 source "drivers/input/joystick/iforce/Kconfig"
|
/kernel/linux/linux-5.10/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
|
/kernel/linux/linux-5.10/arch/sparc/include/asm/ |
D | leon_amba.h | 97 u32 iforce; member
|
/kernel/linux/linux-5.10/Documentation/input/devices/ |
D | xpad.rst | 209 His useful info and both the usb-skeleton as well as the iforce input driver
|
/kernel/linux/linux-5.10/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 &
|