static int psh_byt_suspend(struct device *dev) { int ret; struct psh_ia_priv *ia_data = (struct psh_ia_priv *)dev_get_drvdata(dev); struct psh_ext_if* lp_psh_if_info = (struct psh_ext_if*)ia_data->platform_priv; //MUST PAUSE POLLER BEFORE psh_ia_comm_resume()!! poller_pause(dev, &lp_psh_if_info->poller_worker); ret = psh_ia_comm_suspend(dev); if (ret) { poller_resume(dev, &lp_psh_if_info->poller_worker); return ret; } // disable_irq(client->irq); #ifdef ENABLE_POWER_CTRL_PIN psh_byt_toggle_ctl_pin(dev, 0); #endif //enable_irq_wake(client->irq); return 0; }
static int psh_suspend(struct device *dev) { return psh_ia_comm_suspend(dev); }