static int cyttsp4_startup_attention(struct device *dev) { struct cyttsp4_core_data *cd = dev_get_drvdata(dev); struct cyttsp4_btn_data *bd = &cd->bd; mutex_lock(&bd->btn_lock); cyttsp4_btn_lift_all(bd); mutex_unlock(&bd->btn_lock); return 0; }
static int cyttsp4_btn_suspend(struct device *dev) { struct cyttsp4_btn_data *bd = dev_get_drvdata(dev); dev_dbg(dev, "%s\n", __func__); mutex_lock(&bd->report_lock); bd->is_suspended = true; cyttsp4_btn_lift_all(bd); mutex_unlock(&bd->report_lock); return 0; }
static int cyttsp4_startup_attention(struct cyttsp4_device *ttsp) { struct device *dev = &ttsp->dev; struct cyttsp4_btn_data *bd = dev_get_drvdata(dev); dev_vdbg(dev, "%s\n", __func__); mutex_lock(&bd->report_lock); cyttsp4_btn_lift_all(bd); mutex_unlock(&bd->report_lock); return 0; }
static void cyttsp4_btn_early_suspend(struct early_suspend *h) { struct cyttsp4_btn_data *bd = container_of(h, struct cyttsp4_btn_data, es); struct device *dev = &bd->ttsp->dev; dev_dbg(dev, "%s\n", __func__); #ifndef CONFIG_PM_RUNTIME mutex_lock(&bd->report_lock); bd->is_suspended = true; cyttsp4_btn_lift_all(bd); mutex_unlock(&bd->report_lock); #endif pm_runtime_put(dev); }