Re: [PATCH] usb: generic calibration support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

On 11/17/06, Holger Schurig <[email protected]> wrote:
> 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.


Actually I think having module parameter is OK as long as we have
comlementing device attribute. Then user has an option to either
specify default value for the parameter at load/boot time or fiddle
with an individual device.

> - 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.


I believe tslib handles this.

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.


Yes, but evdev is the interface between input layer and userspace. If
we ever implement in-kernel calibration I think we'll add
recalibrate() method to input device structure and have EVIOCSABS
ioctl handler call it. But I'd look at tslib first. I believe Qt,
Xserver, etc support it.

--
Dmitry
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux