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.
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.
That's just no-go.
In other words: you want to block any improvements unless your favourite touchscreen is giving directions...
Yes. I want to prevent you from pushing crap into the kernel.
If you want to improve it in reasonable way, you know what to do.
You seem to repeat yourself and just say which solution you prefer, but I am missing the arguments why your solution (Pass calibration data to userland) is right and the best one. Which problems does it solve?
All you described.
I think you are missing one problem: providing already properly scaled touch values to user space.
I'm not. Userspace has to know how to do the calibration _anyway_ (for other hardware), so giving scaled values to userspace is useless.
How can you implement it in a stable and portable way?
Easily.
Please go ahead and show code.
You don't get to tell me what to do, unless you pay me.
You want to break kernel, you do coding. Or pay someone else, preferably someone who knows how to design kernel code.
Pavel