Input: kxtj9 - who_am_i check value and initial data rate fixes
Several fixes based on customer feedback: * WHO_AM_I value has changed since preliminary parts used for initial testing; * Output of le16_to_cpu must be saved to memory before shifting to preserve sign; * Initial data rate was not extracted from data control register init. This was causing the initial data rate to be set to maximum until it was changed. To fix this problem, it made more sense to specify initial data rate and extract the register mask from that. Signed-off-by: Chris Hudson <chudson@kionix.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
This commit is contained in:
committed by
Dmitry Torokhov
parent
104594b01c
commit
043916608c
@@ -24,6 +24,7 @@
|
||||
|
||||
struct kxtj9_platform_data {
|
||||
unsigned int min_interval; /* minimum poll interval (in milli-seconds) */
|
||||
unsigned int init_interval; /* initial poll interval (in milli-seconds) */
|
||||
|
||||
/*
|
||||
* By default, x is axis 0, y is axis 1, z is axis 2; these can be
|
||||
@@ -52,16 +53,6 @@ struct kxtj9_platform_data {
|
||||
#define KXTJ9_G_8G (1 << 4)
|
||||
u8 g_range;
|
||||
|
||||
/* DATA_CTRL_REG: controls the output data rate of the part */
|
||||
#define ODR12_5F 0
|
||||
#define ODR25F 1
|
||||
#define ODR50F 2
|
||||
#define ODR100F 3
|
||||
#define ODR200F 4
|
||||
#define ODR400F 5
|
||||
#define ODR800F 6
|
||||
u8 data_odr_init;
|
||||
|
||||
int (*init)(void);
|
||||
void (*exit)(void);
|
||||
int (*power_on)(void);
|
||||
|
Reference in New Issue
Block a user