Thread (13 messages) 13 messages, 6 authors, 2012-07-25

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 i2c
driver and the
quoted
input driver.
The input driver provides already some accelerometer specific event
types, ABS_X, ABS_Y, ABS_Z,
quoted
in your opinion isn't it enough?
If you mean something like collecting common properties like g range
or frequency or whatever in a
quoted
standard interface, then I think that accelerometers are quite
different as devices and sometimes
quoted
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.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help