From: Dmitry Torokhov <dmitry.torokhov@gmail.com>
To: Maxime Ripard <maxime.ripard@free-electrons.com>
Cc: "Lothar Waßmann" <LW@KARO-electronics.de>,
"Henrik Rydberg" <rydberg@euromail.se>,
linux-input@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 2/3] input: touchscreen: of: Register multitouch axes
Date: Thu, 6 Nov 2014 09:14:55 -0800 [thread overview]
Message-ID: <20141106171455.GA34214@dtor-ws> (raw)
In-Reply-To: <20141106160621.GM2989@lukather>
On Thu, Nov 06, 2014 at 05:06:21PM +0100, Maxime Ripard wrote:
> Hi,
>
> On Wed, Nov 05, 2014 at 09:56:35AM -0800, Dmitry Torokhov wrote:
> > On Wed, Nov 05, 2014 at 04:07:49PM +0100, Maxime Ripard wrote:
> > > So far, the DT parsing code was only setting up the regular input axes,
> > > completely ignoring their multitouch counter parts.
> > >
> > > Fill them with the same parameters than the regular axes.
> > >
> > > Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
> > > ---
> > > drivers/input/touchscreen/of_touchscreen.c | 12 +++++++++---
> > > 1 file changed, 9 insertions(+), 3 deletions(-)
> > >
> > > diff --git a/drivers/input/touchscreen/of_touchscreen.c b/drivers/input/touchscreen/of_touchscreen.c
> > > index 74d6b0eb50ac..cf2a753edd96 100644
> > > --- a/drivers/input/touchscreen/of_touchscreen.c
> > > +++ b/drivers/input/touchscreen/of_touchscreen.c
> > > @@ -42,17 +42,23 @@ void touchscreen_parse_of_params(struct input_dev *dev)
> > >
> > > maximum = of_get_optional_u32(np, "touchscreen-size-x");
> > > fuzz = of_get_optional_u32(np, "touchscreen-fuzz-x");
> > > - if (maximum || fuzz)
> > > + if (maximum || fuzz) {
> > > input_set_abs_params(dev, ABS_X, 0, maximum, fuzz, 0);
> > > + input_set_abs_params(dev, ABS_MT_POSITION_X, 0, maximum, fuzz, 0);
> >
> > Not all devices are multitouch so you shoudl not be setting multitouch
> > bits unconditionally.
>
> Hmmm, right.
>
> > In I think we should rely on driver to set capability bits properly and
> > then here test them and apply the readings. Probably also issue a
> > warning if we see max/fuzz setting but neither ABS_<N>/ABS_MT_<N>
> > capabilities.
>
> What I was aiming at was to avoid DT parsing duplication for the
> !multitouch and multitouch axis. I don't think there's a way to copy
> the parameters.
>
> The mt_init_slots might be a solution, but it does the copy the other
> way around: from the multitouch to the !multitouch axis, and without
> enabling it, which renders using both input_mt_init_slots and the
> of_touchscreen code together impossible.
>
> Is there a way to just enable an axis without calling
> input_set_abs_params? Is __set_bit enough?
Hmm, not anymore I'm afraid as you still need absinfo being allocated,
but there is input_set_capability() that is basically a fancy
__set_bit(). If you set ABS_* with it that would mean that the device
has unspecified min/max/fuzz.
And then, in DT parsing code, I'd do:
...read max and fuzz for an axis...
if (max || fuzz) {
if (!test_bit(ABS_N, dev->absbit) &&
!test_bit(ABS_MT_N, dev->absbit)) {
dev_warn("... have parameters but axis not set up...");
} else {
if (test_bit(ABS_N...)
input_set_abs_params(dev, ABS_N...);
if (test_bit(ABS_MT_N...)
input_set_abs_params(dev, ABS_MT_N...);
}
Thanks.
--
Dmitry
next prev parent reply other threads:[~2014-11-06 17:15 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-11-05 15:07 [PATCH 0/3] input: ft5x06: Fix userspace reported maximum value Maxime Ripard
2014-11-05 15:07 ` [PATCH 1/3] input: touchscreen: of: Use input_set_abs_params Maxime Ripard
2014-11-05 15:07 ` [PATCH 2/3] input: touchscreen: of: Register multitouch axes Maxime Ripard
2014-11-05 17:56 ` Dmitry Torokhov
2014-11-06 16:06 ` Maxime Ripard
2014-11-06 17:14 ` Dmitry Torokhov [this message]
2014-11-05 15:07 ` [PATCH 3/3] input: ft5x06: Allow to set the maximum axes value through the DT Maxime Ripard
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=20141106171455.GA34214@dtor-ws \
--to=dmitry.torokhov@gmail.com \
--cc=LW@KARO-electronics.de \
--cc=linux-input@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=maxime.ripard@free-electrons.com \
--cc=rydberg@euromail.se \
/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).