summaryrefslogtreecommitdiffstats
path: root/lis3-improve-handling-of-null-rate.patch
diff options
context:
space:
mode:
Diffstat (limited to 'lis3-improve-handling-of-null-rate.patch')
-rw-r--r--lis3-improve-handling-of-null-rate.patch30
1 files changed, 13 insertions, 17 deletions
diff --git a/lis3-improve-handling-of-null-rate.patch b/lis3-improve-handling-of-null-rate.patch
index 30ed26d80..022a95174 100644
--- a/lis3-improve-handling-of-null-rate.patch
+++ b/lis3-improve-handling-of-null-rate.patch
@@ -1,10 +1,6 @@
->From 56fb161a9ca0129f8e266e4dbe79346552ff8089 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
@@ -12,16 +8,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};
@@ -31,7 +30,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)];
}
@@ -47,7 +46,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, &reg);
lis3->write(lis3, ctlreg, (reg | selftest));
@@ -56,7 +55,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);
@@ -65,8 +64,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);
@@ -74,6 +73,3 @@ index 35c67e0..42dce2a 100644
if (err)
return err;
---
-1.7.7.1
-