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!
---
 drivers/i2c/chips/pcf50633.c |   40 ----------------------------------------
 1 files changed, 0 insertions(+), 40 deletions(-)

diff --git a/drivers/i2c/chips/pcf50633.c b/drivers/i2c/chips/pcf50633.c
index a7a675c..7641f42 100644
--- a/drivers/i2c/chips/pcf50633.c
+++ b/drivers/i2c/chips/pcf50633.c
@@ -2060,23 +2060,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
         */
@@ -2149,28 +2132,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;
@@ -2179,7 +2140,6 @@ static int pcf50633_resume(struct device *dev)
                                             5, &res[0]);
        if (ret)
                dev_err(dev, "Failed to set int masks :-( %d\n", ret);
-
        pcf->suspend_state = PCF50633_SS_COMPLETED_RESUME;
 
        enable_irq(pcf->irq);


Reply via email to