linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Pali Rohár" <pali.rohar@gmail.com>
To: "H. Nikolaus Schaller" <hns@goldelico.com>
Cc: "Dmitry Torokhov" <dmitry.torokhov@gmail.com>,
	"Sebastian Reichel" <sre@kernel.org>,
	"Mark Rutland" <mark.rutland@arm.com>,
	"Benoît Cousson" <bcousson@baylibre.com>,
	"Tony Lindgren" <tony@atomide.com>,
	"Russell King" <linux@armlinux.org.uk>,
	"Arnd Bergmann" <arnd@arndb.de>,
	"Michael Welling" <mwelling@ieee.org>,
	"Mika Penttilä" <mika.penttila@nextfour.com>,
	"Javier Martinez Canillas" <javier@osg.samsung.com>,
	"Igor Grinberg" <grinberg@compulab.co.il>,
	"Andrew F. Davis" <afd@ti.com>, "Mark Brown" <broonie@kernel.org>,
	"Jonathan Cameron" <jic23@kernel.org>,
	"Rob Herring" <robh+dt@kernel.org>,
	"Alexander Stein" <alexander.stein@systec-electronic.com>,
	"Eric Engestrom" <eric@engestrom.ch>,
	"Hans de Goede" <hdegoede@redhat.com>,
	"Benjamin Tissoires" <benjamin.tissoires@redhat.com>,
	"Petr Cvek" <petr.cvek@tul.cz>,
	"Mauro Carvalho Chehab" <mchehab@kernel.org>,
	"Hans Verkuil" <hans.verkuil@cisco.com>,
	"Nick Dyer" <nick@shmanahar.org>,
	"Siebren Vroegindeweij" <siebren.vroegindeweij@hotmail.com>,
	"Michel Verlaan" <michel.verl@gmail.com>,
	linux-input@vger.kernel.org,
	devicetree <devicetree@vger.kernel.org>,
	LKML <linux-kernel@vger.kernel.org>,
	linux-omap <linux-omap@vger.kernel.org>,
	"Discussions about the Letux Kernel"
	<letux-kernel@openphoenux.org>,
	linux-iio@vger.kernel.org, kernel@pyra-handheld.com,
	"Aaro Koskinen" <aaro.koskinen@nokia.com>,
	"Pavel Machek" <pavel@ucw.cz>,
	"Andrey Gelman" <andrey.gelman@compulab.co.il>,
	"Haibo Chen" <haibo.chen@freescale.com>
Subject: Re: [PATCH v9 1/8] drivers:input:tsc2007: add new common binding names, pre-calibration, flipping and rotation
Date: Tue, 21 Feb 2017 09:47:24 +0100	[thread overview]
Message-ID: <20170221084724.GB9795@pali> (raw)
In-Reply-To: <A41872A2-F095-47F8-B122-FFAE430B0D7F@goldelico.com>

Hi!

On Tuesday 21 February 2017 08:14:09 H. Nikolaus Schaller wrote:
> Hi Pali,
> 
> > Am 20.02.2017 um 20:42 schrieb Pali Rohár <pali.rohar@gmail.com>:
> > 
> > Hi Nikolaus!
> > 
> > On Monday 20 February 2017 17:50:04 H. Nikolaus Schaller wrote:
> >> Hi Dmitry,
> >> 
> >>> Input driver may set resolution for given axis in units per mm (or
> >>> units per radian for rotational axis ABS_RX, ABS_RY, ABS_RZ), and
> >>> if you check the binding, you can use "touchscreen-x-mm" and
> >>> "touchscreen-y-mm" to specify the size of entire touch surface and
> >>> set resolution from it so that userspace can calculate the proper
> >>> scaling factor.
> >> 
> >> How is this information exposed by the kernel to user-space? By
> >> scanning the DT file or tree?
> > 
> > Set input_abs_set_res() from kernel.
> 
> I can't find this function defined anywhere but used in 101 LOC.
> LXR doesn't know it either: http://lxr.free-electrons.com/ident?i=input_abs_set_res
> 
> What is going on here?

It is inline function defined by preprocessor. This should help you:

git grep INPUT_GENERATE_ABS_ACCESSORS
git grep input_abs_set_res

> > And in userspace call EVIOCGABS
> > ioctl() on input device. Look at struct input_absinfo, you should have
> > all needed information here. This is generic input interface, no DT is
> > needed.
> 
> Ok, if this is not set by a driver it is indeed a driver bug.

Zero value is special and means "driver does not know it". In case
driver really does not know it, then it is not a driver bug.

> But we have to define it's value in DT because the tsc2007 does not know
> anything about the panel dimensions.

Yes, driver itself does not know it and DT seems to be correct place.

> IMHO something that should be done by generic of_touchscreen.c

I agree. DT for specific hardware can pass these information into
touchscreen driver (which does not have to know these parameters) and it
exports it to userspace.

> If of_touchscreen would simply pass the touchscreen-size parameters
> to input_abs_set_res() and the bindings would define it to be units/mm
> it might have saved us all a lot of work and discussion.

Seem that nobody until now needed such thing and everybody is (probably)
using Xorg userspace with userspace calibration.

But it really make sense to set input_abs_set_res() from DT.

> > 
> > I hope that XServer is already using it for evdev devices...
> > 
> > For whole implementation look at evtest program. That should be good
> > starting point for your userspace implementation.
> > 
> > While I'm watching this discussion... in my opinion kernel should just
> > invert input axes (when needed) and should not do any other
> > normalization or integer/floating-point re-calibration/re-calculation.
> > If it correctly exports minimum value, maximum value and resolution then
> > userspace can correctly re-scale input events to units which userspace
> > needs (e.g. mapping into LCD screen pixels or whatever is needed).
> 
> BR and thanks,
> Nikolaus
> 

-- 
Pali Rohár
pali.rohar@gmail.com

  reply	other threads:[~2017-02-21  8:47 UTC|newest]

Thread overview: 94+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-12-28 14:53 [PATCH v9 0/8] drivers: touchscreen: tsc2007 and ads7846/tsc2046 improvements (use common touchscreen bindings, pre-calibration, spi fix and provide iio raw values) H. Nikolaus Schaller
2016-12-28 14:53 ` [PATCH v9 1/8] drivers:input:tsc2007: add new common binding names, pre-calibration, flipping and rotation H. Nikolaus Schaller
2017-01-09 17:43   ` Rob Herring
2017-01-28 19:33   ` Dmitry Torokhov
2017-01-28 21:44     ` H. Nikolaus Schaller
2017-02-17 20:40       ` Dmitry Torokhov
2017-02-18  3:22         ` Sebastian Reichel
2017-02-18 11:33           ` H. Nikolaus Schaller
2017-02-18 23:44             ` Sebastian Reichel
2017-02-19 12:07               ` H. Nikolaus Schaller
2017-02-19 20:15                 ` Sebastian Reichel
2017-02-20 16:49                   ` H. Nikolaus Schaller
2017-02-18  7:45         ` [Letux-kernel] " Andreas Kemnade
2017-02-18  9:15         ` Pavel Machek
2017-02-18 11:33           ` H. Nikolaus Schaller
2017-02-18 18:08             ` Pavel Machek
2017-02-18 19:17               ` H. Nikolaus Schaller
2017-02-18 22:54                 ` Pavel Machek
2017-02-19 12:05                   ` H. Nikolaus Schaller
2017-02-19 14:17                     ` Pavel Machek
2017-02-19 17:04                       ` H. Nikolaus Schaller
2017-02-19 17:15                         ` Pavel Machek
2017-02-19 17:51                           ` H. Nikolaus Schaller
2017-02-19 19:05                             ` Pavel Machek
2017-02-19 19:31                               ` H. Nikolaus Schaller
2017-02-19 20:57                                 ` Pavel Machek
2017-02-19 22:01                                   ` H. Nikolaus Schaller
2017-02-19 22:19                                     ` Pavel Machek
2017-02-20 16:50                                       ` H. Nikolaus Schaller
2017-02-20 19:29                                         ` Pavel Machek
2017-02-20 20:20                                           ` H. Nikolaus Schaller
2017-02-20 22:26                                         ` Petr Cvek
2017-02-21  8:29                                           ` H. Nikolaus Schaller
2017-02-19 22:29                                   ` [Letux-kernel] " Andreas Kemnade
2017-02-19 22:39                                     ` Pavel Machek
2017-02-20 16:50                                       ` H. Nikolaus Schaller
2017-02-20 19:32                                         ` Pavel Machek
2017-02-20 20:22                                           ` H. Nikolaus Schaller
2017-02-20 20:50                                             ` H. Nikolaus Schaller
2017-02-18 11:32         ` H. Nikolaus Schaller
2017-02-20  1:07           ` Dmitry Torokhov
2017-02-20 16:50             ` H. Nikolaus Schaller
2017-02-20 19:42               ` Pali Rohár
2017-02-20 20:35                 ` H. Nikolaus Schaller
2017-02-20 21:07                   ` Pali Rohár
2017-02-20 21:24                     ` H. Nikolaus Schaller
2017-02-20 21:54                       ` Pali Rohár
2017-02-21  6:42                         ` H. Nikolaus Schaller
2017-02-21  8:53                           ` Pali Rohár
2017-02-20 21:08                 ` Pali Rohár
2017-02-20 21:27                   ` H. Nikolaus Schaller
2017-02-20 21:50                     ` Dmitry Torokhov
2017-02-20 22:21                       ` Petr Cvek
2017-02-20 22:24                         ` Dmitry Torokhov
2017-02-21  6:56                           ` H. Nikolaus Schaller
2017-02-20 22:45                         ` Pali Rohár
2017-02-21  6:36                       ` H. Nikolaus Schaller
2017-02-21  9:09                         ` Pali Rohár
2017-02-21 17:07                           ` [Letux-kernel] " Andreas Kemnade
2017-02-20 22:04                     ` Pali Rohár
2017-02-21  6:49                       ` H. Nikolaus Schaller
2017-02-21  7:14                 ` H. Nikolaus Schaller
2017-02-21  8:47                   ` Pali Rohár [this message]
2017-02-21  8:57                     ` [Letux-kernel] " Christ van Willegen
2017-02-21 11:07               ` Pavel Machek
2016-12-28 14:53 ` [PATCH v9 2/8] drivers:input:tsc2007: check for presence and power down tsc2007 during probe H. Nikolaus Schaller
2017-02-17 20:52   ` Dmitry Torokhov
2016-12-28 14:53 ` [PATCH v9 3/8] DT:omap3+tsc2007: use new common touchscreen bindings H. Nikolaus Schaller
2016-12-28 14:53 ` [PATCH v9 4/8] drivers:input:ads7846(+tsc2046): add new common binding names, pre-calibration and flipping H. Nikolaus Schaller
2016-12-28 14:53 ` [PATCH v9 5/8] dt-bindings: input: move ads7846 bindings to touchscreen subdirectory H. Nikolaus Schaller
2017-02-23  9:54   ` H. Nikolaus Schaller
2016-12-28 14:53 ` [PATCH v9 6/8] drivers:input:ads7846(+tsc2046): fix spi module table H. Nikolaus Schaller
2017-01-28 19:35   ` Dmitry Torokhov
2017-01-29  8:39     ` H. Nikolaus Schaller
2017-01-29 18:01       ` Dmitry Torokhov
2017-01-29 18:25         ` H. Nikolaus Schaller
2017-02-01 20:20           ` H. Nikolaus Schaller
2017-02-01 21:14             ` Javier Martinez Canillas
2017-02-01 22:28               ` Dmitry Torokhov
2017-02-01 22:50                 ` Javier Martinez Canillas
2017-02-02  5:47                 ` H. Nikolaus Schaller
2016-12-28 14:53 ` [PATCH v9 7/8] DT:omap3+ads7846: use new common touchscreen bindings H. Nikolaus Schaller
2016-12-28 14:53 ` [PATCH v9 8/8] drivers:input:tsc2007: add iio interface to read external ADC input and temperature H. Nikolaus Schaller
2016-12-30 20:36   ` Jonathan Cameron
2017-02-17 21:27     ` Dmitry Torokhov
2017-02-18 11:35       ` H. Nikolaus Schaller
2017-01-16  6:34 ` [PATCH v9 0/8] drivers: touchscreen: tsc2007 and ads7846/tsc2046 improvements (use common touchscreen bindings, pre-calibration, spi fix and provide iio raw values) H. Nikolaus Schaller
2017-01-21 13:08   ` Jonathan Cameron
2017-01-21 13:17     ` H. Nikolaus Schaller
2017-01-28 18:16       ` [Letux-kernel] " H. Nikolaus Schaller
2017-02-12 15:18         ` H. Nikolaus Schaller
2017-02-15 14:03           ` H. Nikolaus Schaller
2017-02-17 20:43             ` Dmitry Torokhov
2017-02-18 11:30               ` H. Nikolaus Schaller

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=20170221084724.GB9795@pali \
    --to=pali.rohar@gmail.com \
    --cc=aaro.koskinen@nokia.com \
    --cc=afd@ti.com \
    --cc=alexander.stein@systec-electronic.com \
    --cc=andrey.gelman@compulab.co.il \
    --cc=arnd@arndb.de \
    --cc=bcousson@baylibre.com \
    --cc=benjamin.tissoires@redhat.com \
    --cc=broonie@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=dmitry.torokhov@gmail.com \
    --cc=eric@engestrom.ch \
    --cc=grinberg@compulab.co.il \
    --cc=haibo.chen@freescale.com \
    --cc=hans.verkuil@cisco.com \
    --cc=hdegoede@redhat.com \
    --cc=hns@goldelico.com \
    --cc=javier@osg.samsung.com \
    --cc=jic23@kernel.org \
    --cc=kernel@pyra-handheld.com \
    --cc=letux-kernel@openphoenux.org \
    --cc=linux-iio@vger.kernel.org \
    --cc=linux-input@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=linux@armlinux.org.uk \
    --cc=mark.rutland@arm.com \
    --cc=mchehab@kernel.org \
    --cc=michel.verl@gmail.com \
    --cc=mika.penttila@nextfour.com \
    --cc=mwelling@ieee.org \
    --cc=nick@shmanahar.org \
    --cc=pavel@ucw.cz \
    --cc=petr.cvek@tul.cz \
    --cc=robh+dt@kernel.org \
    --cc=siebren.vroegindeweij@hotmail.com \
    --cc=sre@kernel.org \
    --cc=tony@atomide.com \
    /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).