From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dmitry Torokhov Subject: Re: [PATCHv3 1/5] Input: add common DT binding for touchscreens Date: Sun, 18 May 2014 22:35:20 -0700 Message-ID: <20140519053520.GC29386@core.coreip.homeip.net> References: <1398470179-20880-1-git-send-email-sre@kernel.org> <1398470179-20880-2-git-send-email-sre@kernel.org> <20140505194125.GD25949@atomide.com> <20140505195139.GA26978@core.coreip.homeip.net> <20140505230412.GC6261@earth.universe> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Content-Disposition: inline In-Reply-To: <20140505230412.GC6261@earth.universe> Sender: linux-kernel-owner@vger.kernel.org To: Sebastian Reichel Cc: Tony Lindgren , linux-input@vger.kernel.org, Rob Herring , Pawel Moll , Mark Rutland , Ian Campbell , Kumar Gala , devicetree@vger.kernel.org, linux-omap@vger.kernel.org, linux-kernel@vger.kernel.org List-Id: linux-input@vger.kernel.org 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 [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 > > > > --- > > > > .../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