aboutsummaryrefslogtreecommitdiff
path: root/drivers/i2c
diff options
context:
space:
mode:
authorBalaji Rao <balajirrao@openmoko.org>2008-11-20 19:46:51 +0000
committerAndy Green <agreen@pads.home.warmcat.com>2008-11-20 19:46:51 +0000
commit7e8fd667d1f857fdd7e3b5511869933a72388564 (patch)
tree5c592c6117a95b98a5287c843c226ddd76fc7293 /drivers/i2c
parent1df2598dfebdd1df5bb81c5c8d52fb311c49a7bb (diff)
pcf50633-remove-unnecessary-state-save-during-suspend.patch
We don't need to save state when we suspend as we don't put the PMU to standby. This improves the 'resume devices' time from 1.175s to 1.135 sec!
Diffstat (limited to 'drivers/i2c')
-rw-r--r--drivers/i2c/chips/pcf50633.c39
1 files changed, 0 insertions, 39 deletions
diff --git a/drivers/i2c/chips/pcf50633.c b/drivers/i2c/chips/pcf50633.c
index 60b8b1d2764..c2139ba3097 100644
--- a/drivers/i2c/chips/pcf50633.c
+++ b/drivers/i2c/chips/pcf50633.c
@@ -1966,23 +1966,6 @@ static int pcf50633_suspend(struct device *dev, pm_message_t state)
disable_irq(pcf->irq);
- /* Save all registers that don't "survive" standby state */
- pcf->standby_regs.ooctim2 = __reg_read(pcf, PCF50633_REG_OOCTIM2);
-
- ret = i2c_smbus_read_i2c_block_data(pcf->client,
- PCF50633_REG_AUTOOUT,
- sizeof(pcf->standby_regs.misc),
- &pcf->standby_regs.misc[0]);
- if (ret != sizeof(pcf->standby_regs.misc))
- dev_err(dev, "Failed to save misc levels and enables :-(\n");
-
- /* regulator voltages and enable states */
- ret = i2c_smbus_read_i2c_block_data(pcf->client,
- PCF50633_REG_LDO1OUT,
- sizeof(pcf->standby_regs.ldo),
- &pcf->standby_regs.ldo[0]);
- if (ret != sizeof(pcf->standby_regs.ldo))
- dev_err(dev, "Failed to save LDO levels and enables :-(\n");
/* set interrupt masks so only those sources we want to wake
* us are able to
*/
@@ -2055,28 +2038,6 @@ static int pcf50633_resume(struct device *dev)
pcf->suspend_state = PCF50633_SS_STARTING_RESUME;
- /* these guys get reset while pcf50633 is suspend state, refresh */
-
- __reg_write(pcf, PCF50633_REG_OOCTIM2, pcf->standby_regs.ooctim2);
-
- memcpy(misc, pcf->standby_regs.misc, sizeof(pcf->standby_regs.misc));
-
- /* regulator voltages and enable states */
- ret = i2c_smbus_write_i2c_block_data(pcf->client,
- PCF50633_REG_AUTOOUT,
- sizeof(misc),
- &misc[0]);
- if (ret)
- dev_err(dev, "Failed to restore misc :-( %d\n", ret);
-
- /* regulator voltages and enable states */
- ret = i2c_smbus_write_i2c_block_data(pcf->client,
- PCF50633_REG_LDO1OUT,
- sizeof(pcf->standby_regs.ldo),
- &pcf->standby_regs.ldo[0]);
- if (ret)
- dev_err(dev, "Failed to restore LDOs :-( %d\n", ret);
-
memset(res, 0, sizeof(res));
/* not interested in second on resume */
res[0] = PCF50633_INT1_SECOND;