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);
}