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@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux-omap@vger.kernel.org,
	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: Mon, 20 Feb 2017 22:54:34 +0100	[thread overview]
Message-ID: <201702202254.35023@pali> (raw)
In-Reply-To: <A77657DA-BFF3-4A4E-9302-047B77072F3A@goldelico.com>

[-- Attachment #1: Type: Text/Plain, Size: 3626 bytes --]

On Monday 20 February 2017 22:24:31 H. Nikolaus Schaller wrote:
> Hi Pali,
> 
> > Am 20.02.2017 um 22:07 schrieb Pali Rohár <pali.rohar@gmail.com>:
> > 
> > On Monday 20 February 2017 21:35:18 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. 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.
> >> 
> >> This assumes that I can and want to write a graphics system
> >> myself.
> > 
> > Not only. There are already existing graphics systems. And you need
> > to provide needed information from kernel, so they can start using
> > it.
> > 
> > So input_abs_set_res() is needed to use in your kernel driver.
> 
> I didn't know about this feature and obviously nobody else has
> implemented it in the tsc2007 driver.

So... before doing other things, can you deeply look at it and check if 
it really fixes this problem? Because I think that yes.

You can probably set it from DT and in your DT file you can have stored 
screen size (or resolution factor).

Also for testing, you can set it even via userspace (ioctl which I wrote 
in previous email).

> >> And if it does, it does it in a
> >> plethora of different implementation states. That is the reason
> >> why we want to solve it once for all userlands in the kernel and
> >> not rely on user-space help.
> > 
> > For me this looks like "we are going to fix userspace bugs in
> > kernel".
> 
> Such things are system bugs and it is neither necessarily a userspace
> or kernel bug.

In case kernel defines stable API/ABI and correctly provides information 
via that API/ABI and application does not work correctly, then I would 
say it is bug in application. Not in kernel.

We can say that some kernel API/ABI is wrong too. And in this case it 
could be bug in kernel.

So is current stable kernel API/ABI for input device wrong? I do not 
thing. But if you think that yes, please show us what exactly and we can 
start discussing how to fix such problem which you see/have. I know that 
no application is without bugs, but in my opinion problem which you are 
describing is already solved and defined by current stable kernel ABI.

> > Really! Not a good idea. Plus I still see this as abusing kernel
> > API/ABI as resolution should be handled differently as you are
> > proposing.
> 
> I don't understand what you say here. Where are we abusing kernel
> API/ABI?

I mean that we already have stable API/ABI how to export size of input 
screen from kernel to userspace. And you want to rescale event data 
directly in kernel to workaround problem of screen size. So I think this 
is abusing API/ABI as kernel already have API for it.

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

[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

  reply	other threads:[~2017-02-20 21:54 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 [this message]
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
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=201702202254.35023@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).