lkml.org 
[lkml]   [2014]   [Apr]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Subject[PATCH v3 00/24] input: Introduce ff-memless-next as an improved replacement for ff-memless
Date
ff-memless-next (MLNX) is a largely improved version of the current ff-memless
(FFML) driver. MLNX supports all force feedback effects currently available in
the Linux force feedback userspace API. All effects are handled in accordance
with Microsoft's DirectInput/XInput. Most notable changes include support for
conditional effects, proper handling of all periodic waveforms and improved
emulation of rumble effects through periodic effects. MLNX also uses its own
kernel API to pass processed effects to hardware-specific drivers instead of
abusing "ff_effect" struct. The API is documented in the respective header
file.

MLNX has been expanded to be a direct replacement for FFML.

Support for FF_PERIODIC and FF_RAMP has been added to all devices that
support FF_CONSTANT as a part of the port to the new API.

This patch series:
1) Adds "ff-memless-next" module [1]
2) Ports all hardware-specific drivers to MLNX's API [2-23]
3) Removes FFML and replaces it with MLNX [24]

Signed-off-by: Michal Malý <madcatxster@xxxxxxxxxxxxxxxxxx>

v3:
- Rebase against latest linux-next. Fixes conflict in hid-sony.c and
max8997_haptic.c
- Updated documentation in ff-memless-next.h. The documentation now describes
parameters of the callback function and specifically mentions that
HW-specific drivers must not keep a reference to mlnx_effect_command struct
to which a pointer is passed in the callback function.
- Fix a minor brace inconsistency in hid-lgff
I believe that all concerns regarding v2 have been resolved as false alarms.

v2:
- Add missing msecs to jiffies conversion in ff-memless-next
- lgff: Properly convert force on Y axis from MLNX to device range
Support periodic effects for "joystick_ac" device class
- lg3ff: Properly convert forces from MLNX to device range
- Very minor coding style issues fixed

Michal Malý (24):
Add ff-memless-next module
Port arizona-haptics to ff-memless-next
Port twl4030-vibra to ff-memless-next
Port twl6040-vibra to ff-memless-next
Port max8997_haptic to ff-memless-next
Port pm8xxx-vibrator to ff-memless-next
Port hid-axff to ff-memless-next
Port hid-emsff to ff-memless-next
Port hid-dr to ff-memless-next
Port hid-gaff to ff-memless-next
Port hid-holtekff to ff-memless-next
Port hid-lgff to ff-memless-next
Port hid-lg3ff to ff-memless-next
Port hid-pl to ff-memless-next
Port hid-sjoy to ff-memless-next
Port hid-sony to ff-memless-next
Port hid-tmff to ff-memless-next
Port hid-wiimote-modules to ff-memless-next
Port hid-zpff to ff-memless-next
Port gamecon to ff-memless-next
Port xpad to ff-memless-next
- Port hid-lg2ff to ff-memless-next - Clamp vibration magnitude to
range <0x02; 0xfd> to prevent irregular shaking of the
vibration motors.
Port hid-lg4ff to ff-memless-next
Replace ff-memless with ff-memless-next

drivers/hid/Kconfig | 30 +-
drivers/hid/hid-axff.c | 32 +-
drivers/hid/hid-dr.c | 59 +-
drivers/hid/hid-emsff.c | 38 +-
drivers/hid/hid-gaff.c | 32 +-
drivers/hid/hid-holtekff.c | 47 +-
drivers/hid/hid-lg2ff.c | 65 ++-
drivers/hid/hid-lg3ff.c | 60 +-
drivers/hid/hid-lg4ff.c | 93 +--
drivers/hid/hid-lgff.c | 70 ++-
drivers/hid/hid-pl.c | 38 +-
drivers/hid/hid-sjoy.c | 35 +-
drivers/hid/hid-sony.c | 24 +-
drivers/hid/hid-tmff.c | 83 +--
drivers/hid/hid-wiimote-modules.c | 74 ++-
drivers/hid/hid-zpff.c | 30 +-
drivers/input/Kconfig | 4 +-
drivers/input/Makefile | 2 +-
drivers/input/ff-memless-next.c | 1037 +++++++++++++++++++++++++++++++++
drivers/input/ff-memless.c | 547 -----------------
drivers/input/joystick/Kconfig | 4 +-
drivers/input/joystick/gamecon.c | 57 +-
drivers/input/joystick/xpad.c | 125 ++--
drivers/input/misc/Kconfig | 10 +-
drivers/input/misc/arizona-haptics.c | 39 +-
drivers/input/misc/max8997_haptic.c | 25 +-
drivers/input/misc/pm8xxx-vibrator.c | 28 +-
drivers/input/misc/twl4030-vibra.c | 31 +-
drivers/input/misc/twl6040-vibra.c | 27 +-
include/linux/input.h | 3 -
include/linux/input/ff-memless-next.h | 162 +++++
31 files changed, 1952 insertions(+), 959 deletions(-)
create mode 100644 drivers/input/ff-memless-next.c
delete mode 100644 drivers/input/ff-memless.c
create mode 100644 include/linux/input/ff-memless-next.h

--
1.9.2

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2014-04-26 14:21    [W:0.182 / U:0.784 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site