Re: [Letux-kernel] [PATCH v9 1/8] drivers:input:tsc2007: add new common binding names, pre-calibration, flipping and rotation

Andreas Kemnade
2017-02-19T22:29:18Z

[-- Attachment #1: Type: text/plain, Size: 2609 bytes --]

Hi,

On Sun, 19 Feb 2017 21:57:08 +0100
Pavel Machek <pavel@ucw.cz> wrote:

> Hi!
>
>
> > But as said I don't think we need float or fixed point for
> > practical systems at all.
>
> So you are going to loose precision. And if userspace decides to
> calibrate it slightly differently from kernel, lost precision will
> matter.
>
> > >>> and floating point in kernel is hard. Also
> > >>> you'd either have to invent new interface, or you'd break
> > >>> touchscreen for people that already have their touchscreens
> > >>> calibrated.
> > >>
> > >> No, I don't break calibration for people using a different chip.
> > >
> > > So you propose your touchscreen to behave differently from all
> > > other touchscreens in tree?
> >
> > No. I only propose that my touch screen behaves properly and in the
> > best way it can. If others are worse, they should also be improved
> > at some time.
>
> Different from all other drivers. Read: broken.
>
> No. You have to design interface such that they _can_ be improved, and
> what you propose does not work that way.
>
Then the consequent way would be to use i2c directly from userspace.
Because maybe for some really, really unusual you can do
something better there. Maybe adjust on-chip filtering (here the
MAV-filter) to interact better with your userspace filtering or
something like that if you want to exactly detect where maybe a
mosquito tries to drill into your touch screen (if the pressure would
be enough...)

> > And note that I am not making things different from others in tree,
> > I am making the tsc2007 right (incl. following the touchscreen
> > bindings which define the touchscreen size in "Pixels").
>
> Your touch screen is not in any way special, so it has to behave in
> the same way others do.
>

I agree, the tsc2007 (=what the interface provides to userspace) should
not behave special, for example it should behave like the virtual
touchscreen (=what the interface provides to userspace) virtualbox
gives. No need to be calibrated. Well, the internals are different. But
that is what the kernel is good for, abstract such things.
Conclusion: It cannot be totally wrong behavior to have pixel values
there.

And the generic touchscreen bindings describe the size in "Pixels" as
said by Nikolaus,

And here it is up to the dt to decide whether the touch screen is good
enough in position so it does not need to be manually calibrated or
there are chances to improve something. If there is no calibration in
the dt, then nothing changes.

Regards,
Andreas

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]