From bdaf2752eb06b600098f89661baa3e478cd52105 Mon Sep 17 00:00:00 2001 From: Michael Trimarchi Date: Thu, 26 Nov 2009 01:51:19 +0100 Subject: 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 Signed-off-by: Paul Fertser --- drivers/input/misc/lis302dl.c | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/drivers/input/misc/lis302dl.c b/drivers/input/misc/lis302dl.c index f31e5488440..d345bfb2718 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]]); -- cgit v1.2.3