From 02e9ff6da8f66701739b5beac43200eb3e0acbd7 Mon Sep 17 00:00:00 2001
From: Michael Trimarchi <trimarchi@gandalf.sssup.it>
Date: Thu, 26 Nov 2009 01:51:19 +0100
Subject: [PATCH 62/69] input: lis302dl: fix the resume path

This fix the resume path of the accelerometer. If the accelerometer
is not power up, restore to initial status. Move the REG_CTRL1 to the
last one position avoid writing on the register when the device is
in power down mode.

Signed-off-by: Michael Trimarchi <michael@panicking.kicks-ass.org>
Signed-off-by: Paul Fertser <fercerpav@gmail.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
 drivers/input/misc/lis302dl.c |    8 +-------
 1 files changed, 1 insertions(+), 7 deletions(-)

diff --git a/drivers/input/misc/lis302dl.c b/drivers/input/misc/lis302dl.c
index 3def0c4..ebf7b8b 100644
--- a/drivers/input/misc/lis302dl.c
+++ b/drivers/input/misc/lis302dl.c
@@ -767,7 +767,6 @@ static int __devexit lis302dl_remove(struct platform_device *pdev)
 #ifdef CONFIG_PM
 
 static u8 regs_to_save[] = {
-	LIS302DL_REG_CTRL1,
 	LIS302DL_REG_CTRL2,
 	LIS302DL_REG_CTRL3,
 	LIS302DL_REG_FF_WU_CFG_1,
@@ -782,7 +781,7 @@ static u8 regs_to_save[] = {
 	LIS302DL_REG_CLICK_TIME_LIMIT,
 	LIS302DL_REG_CLICK_LATENCY,
 	LIS302DL_REG_CLICK_WINDOW,
-
+	LIS302DL_REG_CTRL1,
 };
 
 static int lis302dl_suspend(struct platform_device *pdev, pm_message_t state)
@@ -855,11 +854,6 @@ static int lis302dl_resume(struct platform_device *pdev)
 	if (__lis302dl_reset_device(lis))
 		dev_err(&pdev->dev, "device BOOT reload failed\n");
 
-	lis->regs[LIS302DL_REG_CTRL1] |=	LIS302DL_CTRL1_PD |
-						LIS302DL_CTRL1_Xen |
-						LIS302DL_CTRL1_Yen |
-						LIS302DL_CTRL1_Zen;
-
 	/* restore registers after resume */
 	for (n = 0; n < ARRAY_SIZE(regs_to_save); n++)
 		__reg_write(lis, regs_to_save[n], lis->regs[regs_to_save[n]]);
-- 
1.7.2.5

