Re: [PATCHv3 1/5] Input: add common DT binding for touchscreens

From: Dmitry Torokhov
Date: Mon May 19 2014 - 01:35:28 EST


On Tue, May 06, 2014 at 01:04:12AM +0200, Sebastian Reichel wrote:
> On Mon, May 05, 2014 at 12:51:39PM -0700, Dmitry Torokhov wrote:
> > On Mon, May 05, 2014 at 12:41:26PM -0700, Tony Lindgren wrote:
> > > * Sebastian Reichel <sre@xxxxxxxxxx> [140425 16:56]:
> > > > Add common DT binding documentation for touchscreen devices and
> > > > implement input_parse_touchscreen_of_params, which parses the common
> > > > properties and configures the input device accordingly.
> > > >
> > > > The method currently does not interpret the axis inversion properties,
> > > > since there is no matching flag in the generic linux input device.
> > > >
> > > > Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx>
> > > > ---
> > > > .../bindings/input/touchscreen/touchscreen.txt | 27 +++++++++++++++++
> > > > drivers/input/input.c | 34 ++++++++++++++++++++++
> > > > include/linux/input.h | 8 +++++
> > > > 3 files changed, 69 insertions(+)
> > > > create mode 100644 Documentation/devicetree/bindings/input/touchscreen/touchscreen.txt
> > > >
> > > > diff --git a/Documentation/devicetree/bindings/input/touchscreen/touchscreen.txt b/Documentation/devicetree/bindings/input/touchscreen/touchscreen.txt
> > > > new file mode 100644
> > > > index 0000000..d8e0616
> > > > --- /dev/null
> > > > +++ b/Documentation/devicetree/bindings/input/touchscreen/touchscreen.txt
> > > > @@ -0,0 +1,27 @@
> > > > +General Touchscreen Properties:
> > > > +
> > > > +Optional properties for Touchscreens:
> > > > + - touchscreen-size-x : horizontal resolution of touchscreen
> > > > + (in pixels)
> > > > + - touchscreen-size-y : vertical resolution of touchscreen
> > > > + (in pixels)
> > > > + - touchscreen-max-pressure : maximum reported pressure (arbitrary range
> > > > + dependent on the controller)
> > > > + - touchscreen-fuzz-x : horizontal noise value of the absolute input
> > > > + device (in pixels)
> > > > + - touchscreen-fuzz-y : vertical noise value of the absolute input
> > > > + device (in pixels)
> > > > + - touchscreen-fuzz-pressure : pressure noise value of the absolute input
> > > > + device (arbitrary range dependent on the
> > > > + controller)
> >
> > Fuzz seems like linux-specific property, not generic one.
>
> I don't know about the term "fuzz", but the idea is pretty generic
> IMHO. It's similar to debouncing switches/buttons.

OK, fair enough.

>
> > > > + - touchscreen-inverted-x : X axis is inverted (boolean)
> > > > + - touchscreen-inverted-y : Y axis is inverted (boolean)
> > >
> > > We probably also need something to swap x and y depending on the
> > > display orientation in addition to the touchscreen-inverted-x and y.
> > > Just swapping x and y is not enough depending if we rotate by 270
> > > degrees instead of 90 degrees.
> > >
> > > Naturally that part can be added later.
> >
> > So far we've been relying on upper layers (such as tslib) to perform
> > such transformations rather than re-implementing it in every driver. Are
> > we saying that we need to implement this in input core?
>
> I would appreciate to add this later to move on with this patchset.
> Having the N900's touchscreen working via DT in 3.16 would be nice
> now that the display is working :)
>

Please remove the "inverted" bits and move touchscreen OF parsing into a
separate file/module, similarly to support for sparse and matrix keymaps
that we have - it does not really belong to input core.

Thanks.

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