[patch 00/13] input: force feedback updates, second time

Anssi Hannula
2006-05-26T16:29:07Z

Major update for the force feedback support, including a new force feedback
driver interface and two new HID ff drivers.

This is the same patchset that I sent 10 days ago, now with the following
changes:

- ugly cond_locking dropped
- 80-column rule now followed
- some function opening braces newlined and unneeded braces removed
- DECLARE_BITMAP used in input_ff_timer()
- effects are fd specific instead of the previous behaviour [1]
- uses setup_timer()
- no new module added, but code is instead compiled into input module
(input.c is renamed to input-core.c)
- EXPORT_SYMBOL_GPL() used
- no -ENOSYS return values
- non-atomic bit operations used in most places of input-ff.c
- some comments are added
- new patch for -ENOMEM => -ENOSPC in iforce-ff.c
- UINPUT_VERSION define added in uinput.h
- drop obsolete static function declaration from hid-lgff.c
- pr_debug() used

[1] There are no known ff programs that depend on the old behaviour. Daniel
Remenak, who has been coding linux ff support for several programs, agrees
to the change. The old behaviour is not documented anywhere, so most likely
nobody even knew about it (Daniel didn't).

I described this in another mail already, but here it is again:

old behaviour:
- fd1 opened
- fd1: effects 0, 1 are created
- fd2 opened
- fd2: effects 2, 3 are created
- fd2 closed
=> effects 0, 1, 2, 3 get deleted
- fd1 uses effects
=> failure
- fd1 closed

new behaviour:
- fd1 opened
- fd1: effects 0, 1 are created
- fd2 opened
- fd2: effects 2, 3 are created
- fd2 closed
=> effects 2, 3 get deleted
- fd1 uses effects
- fd1 closed
=> effects 0, 1 get deleted

(fd1 and fd2 are of the same process and the same device)