Skip to content

input: Introduce ff-memless-next as an improved replacement for ff-memless

Michal Malý linux-input lkml 5 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v4 Latest24 patches 35 repliesIn review
  2. v323 of 24 patches 5 repliesSuperseded
  3. v2 posting 2/224 patches 14 repliesSuperseded
Earlier versions · 2
VersionPostedPatchesRepliesStatus
v2 posting 1/213 of 24 patches0 repliesSuperseded
v124 patches7 repliesSuperseded

Changes in v4 from the cover letter

- Add a summary of changes between MLNX and FFML to the last patch
- Remove a stale empty line in hid-sony.c
- Add "Tested-by: Elias Vanderstuyft <[email protected]>" to hid-lg4ff patch.

Patches in v4 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/24input: Add ff-memless-next moduledrivers/input/Kconfig drivers/input/Makefile drivers/input/ff-memless-next.c +1 more+1211 -031 replies
2/24input: Port arizona-haptics to ff-memless-nextdrivers/input/misc/Kconfig drivers/input/misc/arizona-haptics.c+26 -150 replies
3/24input: Port twl4030-vibra to ff-memless-nextdrivers/input/misc/Kconfig drivers/input/misc/twl4030-vibra.c+26 -70 replies
4/24input: Port twl6040-vibra to ff-memless-nextdrivers/input/misc/Kconfig drivers/input/misc/twl6040-vibra.c+23 -60 replies
5/24input: Port max8997_haptic to ff-memless-nextdrivers/input/misc/Kconfig drivers/input/misc/max8997_haptic.c+20 -70 replies
6/24input: Port pm8xxx-vibrator to ff-memless-nextdrivers/input/misc/Kconfig drivers/input/misc/pm8xxx-vibrator.c+20 -100 replies
7/24hid: Port hid-axff to ff-memless-nextdrivers/hid/Kconfig drivers/hid/hid-axff.c+24 -100 replies
8/24hid: Port hid-emsff to ff-memless-nextdrivers/hid/Kconfig drivers/hid/hid-emsff.c+27 -130 replies
9/24hid: Port hid-dr to ff-memless-nextdrivers/hid/Kconfig drivers/hid/hid-dr.c+37 -240 replies
10/24hid: Port hid-gaff to ff-memless-nextdrivers/hid/Kconfig drivers/hid/hid-gaff.c+24 -100 replies
11/24hid: Port hid-holtekff to ff-memless-nextdrivers/hid/Kconfig drivers/hid/hid-holtekff.c+31 -180 replies
12/24hid: Port hid-lgff to ff-memless-nextdrivers/hid/Kconfig drivers/hid/hid-lgff.c+51 -210 replies
13/24hid: Port hid-lg3ff to ff-memless-nextdrivers/hid/Kconfig drivers/hid/hid-lg3ff.c+39 -230 replies
14/24hid: Port hid-pl to ff-memless-nextdrivers/hid/Kconfig drivers/hid/hid-pl.c+27 -130 replies
15/24hid: Port hid-sjoy to ff-memless-nextdrivers/hid/Kconfig drivers/hid/hid-sjoy.c+26 -110 replies
16/24hid: Port hid-sony to ff-memless-nextdrivers/hid/Kconfig drivers/hid/hid-sony.c+18 -70 replies
17/24hid: Port hid-tmff to ff-memless-nextdrivers/hid/Kconfig drivers/hid/hid-tmff.c+51 -340 replies
18/24hid: Port hid-wiimote-modules to ff-memless-nextdrivers/hid/Kconfig drivers/hid/hid-wiimote-modules.c+46 -300 replies
19/24hid: Port hid-zpff to ff-memless-nextdrivers/hid/Kconfig drivers/hid/hid-zpff.c+23 -90 replies
20/24input: Port gamecon to ff-memless-nextdrivers/input/joystick/Kconfig drivers/input/joystick/gamecon.c+33 -260 replies
21/24input: Port xpad to ff-memless-nextdrivers/input/joystick/Kconfig drivers/input/joystick/xpad.c+71 -560 replies
22/24hid: Port hid-lg2ff to ff-memless-nextdrivers/hid/Kconfig drivers/hid/hid-lg2ff.c+47 -200 replies
23/24hid: Port hid-lg4ff to ff-memless-nextdrivers/hid/Kconfig drivers/hid/hid-lg4ff.c+59 -361 reply
24/24input: Replace ff-memless with ff-memless-nextdrivers/input/Kconfig drivers/input/Makefile drivers/input/ff-memless.c +1 more+1 -5630 replies

Reviews trailers per patch

None of the 24 patches has a Reviewed-by or Acked-by.

PatchTested-by: Elias VanderstuyftSimon Wood
SeriesT-b
1/24T-b
2/24
3/24
4/24
5/24
6/24
7/24
8/24
9/24
10/24
11/24
12/24
13/24
14/24
15/24
16/24
17/24
18/24
19/24
20/24
21/24
22/24
23/24T-b
24/24

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v4 thread

Cover letter [PATCH v4 00/24] input: Introduce ff-memless-next as an improved replacement for ff-memless

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]

v4:
- Add a summary of changes between MLNX and FFML to the last patch
- Remove a stale empty line in hid-sony.c
- Add "Tested-by: Elias Vanderstuyft <[email protected]>" to hid-lg4ff patch.

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
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                |   23 +-
 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, 1951 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
Signature · 6 lines
1.9.2

--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html