Re: [PATCH] lis3lv02d: Add STMicroelectronics lis33ldlh digital
From: Jonathan Cameron <hidden>
Date: 2012-01-19 17:15:44
Also in:
linux-omap, lkml
Arnd Bergmann [off-list ref] wrote:
On Wednesday 18 January 2012, Andi wrote:quoted
What do you mean with "kernel-wide policy for accelerometer drivers"? As far as I know, accelerometer drivers are written between the i2cdriver and thequoted
input driver. The input driver provides already some accelerometer specific eventtypes, ABS_X, ABS_Y, ABS_Z,quoted
in your opinion isn't it enough? If you mean something like collecting common properties like g rangeor frequency or whatever in aquoted
standard interface, then I think that accelerometers are quitedifferent as devices and sometimesquoted
it could be difficult to arrange a common interface.The problem is that we have some drivers using the input subsystem, some drivers using the iio subsystem and some drivers using none of these but interfacing with user space using some homegrown method, see my list:quoted
quoted
$ git grep -l accelerometer drivers/ | manual_grep drivers/hwmon/applesmc.c (one hwmon sysfs attribute for x/y/z) drivers/input/misc/adxl34x.c (lots of sysfs attributes, input_report_key) drivers/input/misc/cma3000_d0x.c (input_report_abs) drivers/input/misc/kxtj9.c (input_report_abs, plus one aux sysfs attribute) drivers/macintosh/ams/ams-core.c (one sysfs attribute for x/y/z) drivers/misc/lis3lv02d/ (multiple sysfs attributes) drivers/platform/x86/hdaps.c (multiple sysfs attributes, only x/y) drivers/platform/x86/hp_accel.c (hooks into drivers/misc/lis3lv02d/) drivers/staging/iio/accel/kxsd9.c (iio) drivers/staging/iio/accel/sca3000_core.c (iio plus extra attributes)If all drivers were using the input subsystem in the way you describe, that would be a good solution, but right now the majority of the drivers don't do this.
Also worth noting that there are numerous devices that are completely inappropriate for human input. Take specialised impact and vibration accelerometers. Very high speed sampling for short time periods. I agree that your bog standard 3 axis sub 10 g accelerometer belongs in input. The kxsd9 and lis3lo2dq in iio are there for historical reasons and because they are very handy for testing our bridging to input. That said it should ultimately make very little difference to user space if they are accessing a true input device or a iio device via an input bridge. I also think that actually there is very little in the way of unusual controls for accelerometers particularly those designed for human input. Not standardizing gain or sampling frequency control is lazy. Even filtering and fft contr ols can and should be standardised. Doing that is a large part of what iio is about.
Arnd
-- Sent from my Android phone with K-9 Mail. Please excuse my brevity.