lis3: selftest support
Implement selftest feature as specified by chip manufacturer. Control: read selftest sysfs entry Response: "OK x y z" or "FAIL x y z" where x, y, and z are difference between selftest mode and normal mode. Test is passed when values are within acceptance limit values. Acceptance limits are provided via platform data. See chip spesifications for acceptance limits. If limits are not properly set, OK / FAIL decision is meaningless. However, userspace application can still make decision based on the numeric x, y, z values. Selftest is meant for HW diagnostic purposes. It is not meant to be called during normal use of the chip. It may cause false interrupt events. Selftest mode delays polling of the normal results but it doesn't cause wrong values. Chip must be in static state during selftest. Any acceration during the test causes most probably failure. Signed-off-by: Samu Onkalo <samu.p.onkalo@nokia.com> Acked-by: Éric Piel <Eric.Piel@tremplin-utc.net> Cc: Pavel Machek <pavel@ucw.cz> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
committed by
Linus Torvalds
parent
641615abfa
commit
2db4a76d5f
@ -55,6 +55,9 @@ struct lis3lv02d_platform_data {
|
||||
s8 axis_z;
|
||||
int (*setup_resources)(void);
|
||||
int (*release_resources)(void);
|
||||
/* Limits for selftest are specified in chip data sheet */
|
||||
s16 st_min_limits[3]; /* min pass limit x, y, z */
|
||||
s16 st_max_limits[3]; /* max pass limit x, y, z */
|
||||
};
|
||||
|
||||
#endif /* __LIS3LV02D_H_ */
|
||||
|
Reference in New Issue
Block a user