Home
last modified time | relevance | path

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

/kernel/linux/linux-5.10/drivers/input/joystick/iforce/
Diforce-main.c67 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 …]
Diforce-serio.c13 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 …]
Diforce-usb.c13 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 …]
Diforce-packets.c18 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 …]
Diforce-ff.c18 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 …]
Diforce.h75 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 …]
DMakefile8 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
DKconfig14 module will be called iforce.
/kernel/linux/linux-5.10/drivers/input/joystick/
DMakefile22 obj-$(CONFIG_JOYSTICK_IFORCE) += iforce/
DKconfig145 source "drivers/input/joystick/iforce/Kconfig"
/kernel/linux/linux-5.10/Documentation/input/
Dff.rst38 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
Dinput.rst231 iforce subsection
/kernel/linux/linux-5.10/arch/sparc/include/asm/
Dleon_amba.h97 u32 iforce; member
/kernel/linux/linux-5.10/Documentation/input/devices/
Dxpad.rst209 His useful info and both the usb-skeleton as well as the iforce input driver
/kernel/linux/linux-5.10/Documentation/input/joydev/
Djoystick.rst515 All I-Force devices are supported by the iforce module. This includes:
528 inputattach --iforce /dev/tts/x &