[RFC PATCH V2] Fix accelerometer resume path

1 message Options
Embed this post
Permalink
Michael Trimarchi

[RFC PATCH V2] Fix accelerometer resume path

Reply Threaded More More options
Print post
Permalink



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 <[hidden email]>

diff --git a/drivers/input/misc/lis302dl.c b/drivers/input/misc/lis302dl.c
index f31e548..d345bfb 100644
--- a/drivers/input/misc/lis302dl.c
+++ b/drivers/input/misc/lis302dl.c
@@ -818,7 +818,6 @@ static int __devexit lis302dl_remove(struct spi_device *spi)
 #ifdef CONFIG_PM
 
 static u8 regs_to_save[] = {
- LIS302DL_REG_CTRL1,
  LIS302DL_REG_CTRL2,
  LIS302DL_REG_CTRL3,
  LIS302DL_REG_FF_WU_CFG_1,
@@ -833,7 +832,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 spi_device *spi, pm_message_t state)
@@ -906,11 +905,6 @@ static int lis302dl_resume(struct spi_device *spi)
  if (__lis302dl_reset_device(lis))
  dev_err(&spi->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]]);