the prox0_raw file in the sysfs interface reads the proximity
value directly from the register instead of reporting the last
read value; in this way userspace applications can have a real
time value

Signed-off-by: Andi Shyti <a...@etezian.org>
---
 drivers/misc/bh1770glc.c |    5 +++++
 1 file changed, 5 insertions(+)

diff --git a/drivers/misc/bh1770glc.c b/drivers/misc/bh1770glc.c
index ac6d0c8..031a9fa 100644
--- a/drivers/misc/bh1770glc.c
+++ b/drivers/misc/bh1770glc.c
@@ -786,6 +786,11 @@ static ssize_t bh1770_prox_result_show(struct device *dev,
        ssize_t ret;
 
        mutex_lock(&chip->mutex);
+       /*
+        * if this function fails the prox_data will store
+        * the value from the previous read
+        */
+       bh1770_ps_get_result(chip);
        if (chip->prox_enable_count && !pm_runtime_suspended(dev))
                ret = sprintf(buf, "%d\n", chip->prox_data);
        else
-- 
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to