diff options
Diffstat (limited to 'lis3-improve-handling-of-null-rate.patch')
-rw-r--r-- | lis3-improve-handling-of-null-rate.patch | 33 |
1 files changed, 15 insertions, 18 deletions
diff --git a/lis3-improve-handling-of-null-rate.patch b/lis3-improve-handling-of-null-rate.patch index ead58ce2b..ad2d1084f 100644 --- a/lis3-improve-handling-of-null-rate.patch +++ b/lis3-improve-handling-of-null-rate.patch @@ -1,13 +1,7 @@ -Bugzilla: 785814 -Upstream-status: ?? - ->From 56fb161a9ca0129f8e266e4dbe79346552ff8089 Mon Sep 17 00:00:00 2001 +From 77389d33a694cf99c965e009ccf2a49fb27157c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89ric=20Piel?= <eric.piel@tremplin-utc.net> Date: Thu, 3 Nov 2011 16:22:40 +0100 -Subject: [PATCH] lis3: Improve handling of null rate -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit +Subject: [PATCH] lis3: improve handling of null rate When obtaining a rate of 0, we would disable the device supposely because it seems to behave incorectly. It actually only comes from the @@ -15,16 +9,19 @@ fact that the device is off and on lis3dc it's reflected in the rate. So handle this nicely by just waiting a safe time, and then using the device as normally. +Bugzilla: 785814 +Upstream-status: ?? + Signed-off-by: ??ric Piel <eric.piel@tremplin-utc.net> --- - drivers/misc/lis3lv02d/lis3lv02d.c | 16 ++++++++-------- - 1 files changed, 8 insertions(+), 8 deletions(-) + drivers/misc/lis3lv02d/lis3lv02d.c | 16 ++++++++-------- + 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/drivers/misc/lis3lv02d/lis3lv02d.c b/drivers/misc/lis3lv02d/lis3lv02d.c -index 35c67e0..42dce2a 100644 +index 3ef4627f9cb1..2b2d2e8e5eeb 100644 --- a/drivers/misc/lis3lv02d/lis3lv02d.c +++ b/drivers/misc/lis3lv02d/lis3lv02d.c -@@ -188,7 +188,8 @@ static void lis3lv02d_get_xyz(struct lis3lv02d *lis3, int *x, int *y, int *z) +@@ -216,7 +216,8 @@ static void lis3lv02d_get_xyz(struct lis3lv02d *lis3, int *x, int *y, int *z) /* conversion btw sampling rate and the register values */ static int lis3_12_rates[4] = {40, 160, 640, 2560}; static int lis3_8_rates[2] = {100, 400}; @@ -34,7 +31,7 @@ index 35c67e0..42dce2a 100644 static int lis3_3dlh_rates[4] = {50, 100, 400, 1000}; /* ODR is Output Data Rate */ -@@ -202,12 +203,11 @@ static int lis3lv02d_get_odr(struct lis3lv02d *lis3) +@@ -231,12 +232,11 @@ static int lis3lv02d_get_odr(struct lis3lv02d *lis3) return lis3->odrs[(ctrl >> shift)]; } @@ -50,7 +47,7 @@ index 35c67e0..42dce2a 100644 /* LIS3 power on delay is quite long */ msleep(lis3->pwron_delay / div); -@@ -274,7 +274,7 @@ static int lis3lv02d_selftest(struct lis3lv02d *lis3, s16 results[3]) +@@ -303,7 +303,7 @@ static int lis3lv02d_selftest(struct lis3lv02d *lis3, s16 results[3]) lis3->read(lis3, ctlreg, ®); lis3->write(lis3, ctlreg, (reg | selftest)); @@ -59,7 +56,7 @@ index 35c67e0..42dce2a 100644 if (ret) goto fail; -@@ -285,7 +285,7 @@ static int lis3lv02d_selftest(struct lis3lv02d *lis3, s16 results[3]) +@@ -314,7 +314,7 @@ static int lis3lv02d_selftest(struct lis3lv02d *lis3, s16 results[3]) /* back to normal settings */ lis3->write(lis3, ctlreg, reg); @@ -68,8 +65,8 @@ index 35c67e0..42dce2a 100644 if (ret) goto fail; -@@ -397,7 +397,7 @@ int lis3lv02d_poweron(struct lis3lv02d *lis3) - lis3->write(lis3, CTRL_REG2, reg); +@@ -434,7 +434,7 @@ int lis3lv02d_poweron(struct lis3lv02d *lis3) + } } - err = lis3lv02d_get_pwron_wait(lis3); @@ -78,5 +75,5 @@ index 35c67e0..42dce2a 100644 return err; -- -1.7.7.1 +1.9.3 |