From: "Michal Malý" <madcatxster@devoid-pointer.net>
To: simon@mungewell.org
Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>,
linux-input@vger.kernel.org, linux-kernel@vger.kernel.org,
jkosina@suse.cz, elias.vds@gmail.com, anssi.hannula@iki.fi
Subject: Re: [PATCH v4 01/24] input: Add ff-memless-next module
Date: Tue, 20 May 2014 22:58:05 +0200 [thread overview]
Message-ID: <6970969.ej8OFzkVkO@sigyn> (raw)
In-Reply-To: <865ad8dbc7ae0d13c045bd2a85cff2e2.squirrel@mungewell.org>
On Tuesday 20 of May 2014 16:16:12 simon@mungewell.org wrote:
> > To bring this to a conclusion we could go from, would this be an
> > acceptable
> > solution?
> >
> > - Have the HW-specific driver talk directly to ff-core and reimplement
> > upload(),
> > play(), etc.
> > - Rewrite "ff-memless-next" so that it is not a self-contained module but
> > a
> > library of functions.
> >
> > - Have the driver either:
> > - Upload an effect to a device directly if the device can fully manage
> >
> > the
> > effect by itself.
> >
> > - Use provided timing functions to know when an effect should start,
> >
> > stop,
> > restart etc...
> >
> > - Use provided timing AND processing functions to combine effects that
> >
> > can be
> > combined into one, calculate periodic waveforms etc?
> >
> > I have no problem with throwing my current approach away but before I
> > start working on a new one I'd like to know which way to go...
>
> Hi all,
> If the driver itself (hid-logitech, via hid-lg4ff for example) is more
> involved in the creation/timing/management of the effects, does this mean
> that we end up with code duplicated in lots of places?
Hopefully not. I tried to work out some scheme how this would work in my head
today and the code duplication among other drivers should be minimal.
Basically an equivalent of "play_effects()" - implemented in the HW-specific
driver - would by called as needed. Such a function would then use provided
helper functions to process combinable effects and check if any uncombinable
effects changed state. A proper rate limiting will fit into this scheme nicely
as well.
The biggest advantage of this design is that the HW-specific driver will be
able to either handle an effect all by itself or use the provided "helper"
infrastructure.
In retrospect I've got agree with Dmitry that the current handling of
(semi)memless devices is not very flexible and therefore potentially
problematic. It'll require some extra work but we don't have to invent
anything entirely new here, we can just rearrange what we've already done in
MLNX and package it into a library.
> Also, does this mean that the 'old' ff-memless system would remain in
> kernel? If not, who will reworking each driver?
I suppose that the maintainers would want us to move all FF drivers to this
architecture. If we get it right, it shouldn't require a terrible amount of
work to port the other drivers.
> Regarding the question of emulated vs. real effects, can we extend the API
> so that applications can know which effects are really supported, and
> enable/disable emulation somehow?
I suppose that a few extra flags (FF_PERIODIC_EMULATED etc.) defined in
"uapi/linux/input.h" should suffice.
Michal
next prev parent reply other threads:[~2014-05-20 20:58 UTC|newest]
Thread overview: 60+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-04-26 15:01 [PATCH v4 00/24] input: Introduce ff-memless-next as an improved replacement for ff-memless Michal Malý
2014-04-26 15:02 ` [PATCH v4 01/24] input: Add ff-memless-next module Michal Malý
2014-05-14 6:38 ` Dmitry Torokhov
2014-05-14 8:35 ` Michal Malý
2014-05-14 11:26 ` Elias Vanderstuyft
2014-05-14 15:11 ` simon
2014-05-14 17:58 ` Dmitry Torokhov
2014-05-14 18:05 ` Dmitry Torokhov
2014-05-14 19:38 ` Michal Malý
2014-05-20 9:27 ` Michal Malý
2014-05-20 18:32 ` Roland Bosa
2014-05-20 19:00 ` Michal Malý
2014-05-20 21:38 ` Roland Bosa
2014-05-21 14:53 ` Elias Vanderstuyft
[not found] ` <537D28E3.3000401@logitech.com>
2014-05-21 22:42 ` simon
2014-05-20 19:39 ` simon
2014-05-20 22:04 ` Roland Bosa
2014-05-20 23:30 ` simon
2014-05-21 1:17 ` Roland Bosa
2014-05-21 2:13 ` Michal Malý
2014-05-21 10:17 ` Nestor Lopez Casado
2014-05-21 14:08 ` Elias Vanderstuyft
2014-05-21 13:35 ` Elias Vanderstuyft
2014-05-21 14:22 ` Elias Vanderstuyft
2014-05-21 14:05 ` Elias Vanderstuyft
2014-05-20 20:16 ` simon
2014-05-20 20:58 ` Michal Malý [this message]
2014-05-20 21:26 ` Elias Vanderstuyft
2014-05-22 9:48 ` Elias Vanderstuyft
2014-05-20 23:45 ` simon
2014-05-21 0:08 ` Michal Malý
2014-05-14 18:14 ` Dmitry Torokhov
2014-05-14 19:40 ` Michal Malý
2014-04-26 15:02 ` [PATCH v4 02/24] input: Port arizona-haptics to ff-memless-next Michal Malý
2014-04-26 15:02 ` [PATCH v4 03/24] input: Port twl4030-vibra " Michal Malý
2014-04-26 15:02 ` [PATCH v4 04/24] input: Port twl6040-vibra " Michal Malý
2014-04-26 15:02 ` [PATCH v4 05/24] input: Port max8997_haptic " Michal Malý
2014-04-26 15:02 ` [PATCH v4 06/24] input: Port pm8xxx-vibrator " Michal Malý
2014-04-26 15:02 ` [PATCH v4 07/24] hid: Port hid-axff " Michal Malý
2014-04-26 15:02 ` [PATCH v4 08/24] hid: Port hid-emsff " Michal Malý
2014-04-26 15:02 ` [PATCH v4 09/24] hid: Port hid-dr " Michal Malý
2014-04-26 15:02 ` [PATCH v4 10/24] hid: Port hid-gaff " Michal Malý
2014-04-26 15:02 ` [PATCH v4 11/24] hid: Port hid-holtekff " Michal Malý
2014-04-26 15:02 ` [PATCH v4 12/24] hid: Port hid-lgff " Michal Malý
2014-04-26 15:02 ` [PATCH v4 13/24] hid: Port hid-lg3ff " Michal Malý
2014-04-26 15:02 ` [PATCH v4 14/24] hid: Port hid-pl " Michal Malý
2014-04-26 15:02 ` [PATCH v4 15/24] hid: Port hid-sjoy " Michal Malý
2014-04-26 15:02 ` [PATCH v4 16/24] hid: Port hid-sony " Michal Malý
2014-04-26 15:02 ` [PATCH v4 17/24] hid: Port hid-tmff " Michal Malý
2014-04-26 15:02 ` [PATCH v4 18/24] hid: Port hid-wiimote-modules " Michal Malý
2014-04-26 15:02 ` [PATCH v4 19/24] hid: Port hid-zpff " Michal Malý
2014-04-26 15:02 ` [PATCH v4 20/24] input: Port gamecon " Michal Malý
2014-04-26 15:02 ` [PATCH v4 21/24] input: Port xpad " Michal Malý
2014-04-26 15:02 ` [PATCH v4 22/24] hid: Port hid-lg2ff " Michal Malý
2014-04-26 15:02 ` [PATCH v4 23/24] hid: Port hid-lg4ff " Michal Malý
2014-04-29 16:05 ` simon
2014-04-26 15:02 ` [PATCH v4 24/24] input: Replace ff-memless with ff-memless-next Michal Malý
2014-04-29 15:59 ` [PATCH v4 00/24] input: Introduce ff-memless-next as an improved replacement for ff-memless simon
2014-05-12 9:14 ` Jiri Kosina
2014-05-12 9:26 ` Michal Malý
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=6970969.ej8OFzkVkO@sigyn \
--to=madcatxster@devoid-pointer.net \
--cc=anssi.hannula@iki.fi \
--cc=dmitry.torokhov@gmail.com \
--cc=elias.vds@gmail.com \
--cc=jkosina@suse.cz \
--cc=linux-input@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=simon@mungewell.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).