Re: [PATCH] usb: generic calibration support

From: Holger Schurig
Date: Fri Nov 17 2006 - 03:12:36 EST


> sorry, but i have to give you a big NACK on that one:

Hehe, I actually anticipated this NACK :-)

> - no more modparam: it should be per-device sysfs attributes
>   (swap_xy is basically only for touchkitusb compatibility and
> shoud be converted to per-device sysfs attribute as well. i
>   just never got to do it)

That would be okay for me.

> - calibration can be handled in userspace just fine

Yes it can, and that is the most convinging argument against my
patch.

However, user-space calibration often sucks. For example, in X11
the calibration values are stored in /etc/X11/xorg.conf, so a
calibration program has to parse & write that file. And I've
seen binary-only-calibration programs from vendors
use /etc/X11/XF86Config, which doesn't exist here. Anyway, once
you've calibrated you have to restart X-Windows, so you need to
terminate all running X applications just because of a silly
re-calibration. Not nice.

A calibration at kernel level (may it be input level or driver
level) doesn't have this problem. I can make the level
persistent via udev, modules.conf or other means. Even when I
have a frame-buffer based calibration utility, the calibration
would be OK for X11 or GTK/DirectFB as well.

For me, this speaks against "Calibration is purely a user-space
problem".

> - even for in-kernel it's in the wrong place. there are other
> devices that report raw absolute data...so it would belong to
> the input layer

Suppose I have a graphics tabled and a touchscreen connected at
the same time. Can I distinguish this easily at the input layer
level?

I can very easily distinguish this at the device driver level.
After all, the individual calibration parameters are a property
of this individual device.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/