lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  PHC 
Open Source and information security mailing list archives
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Mon, 20 Feb 2017 22:27:39 +0100
From:   "H. Nikolaus Schaller" <>
To:     Pali Rohár <>
Cc:     Dmitry Torokhov <>,
        Sebastian Reichel <>,
        Mark Rutland <>,
        Benoît Cousson <>,
        Tony Lindgren <>,
        Russell King <>,
        Arnd Bergmann <>,
        Michael Welling <>,
        Mika Penttilä <>,
        Javier Martinez Canillas <>,
        Igor Grinberg <>,
        "Andrew F. Davis" <>, Mark Brown <>,
        Jonathan Cameron <>,
        Rob Herring <>,
        Alexander Stein <>,
        Eric Engestrom <>,
        Hans de Goede <>,
        Benjamin Tissoires <>,
        Petr Cvek <>,
        Mauro Carvalho Chehab <>,
        Hans Verkuil <>,
        Nick Dyer <>,
        Siebren Vroegindeweij <>,
        Michel Verlaan <>,,,,,,,, Aaro Koskinen <>,
        Pavel Machek <>,
        Andrey Gelman <>,
        Haibo Chen <>
Subject: Re: [PATCH v9 1/8] drivers:input:tsc2007: add new common binding names, pre-calibration, flipping and rotation

> Am 20.02.2017 um 22:08 schrieb Pali Rohár <>:
> On Monday 20 February 2017 20:42:15 Pali Rohár wrote:
>> 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.
> Looking at kernel code... via EVIOCSABS ioctl() you can even set
> resolution from userspace for specified input device.
> So this could be potentially used for calibrating input device from
> userspace? (In case DT data will not fully match current HW)
>> 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)

It is questionable why it should do that at all then.

User-Space can also easily do it. Either the driver should provide raw
data only or if it does pre-processing (scaling by +/-1), why exclude
pre-scaling by other factors?

>> 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).
> --
> Pali Rohár

Download attachment "signature.asc" of type "application/pgp-signature" (802 bytes)

Powered by blists - more mailing lists