|
@@ -1,6 +1,7 @@
|
|
|
/*
|
|
|
* Goodix Touchscreen Driver
|
|
|
* Copyright (C) 2020 - 2021 Goodix, Inc.
|
|
|
+ * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
|
|
|
*
|
|
|
* This program is free software; you can redistribute it and/or modify
|
|
|
* it under the terms of the GNU General Public License as published by
|
|
@@ -260,19 +261,41 @@ power_off:
|
|
|
#define GOODIX_SLEEP_CMD 0x84
|
|
|
int brl_suspend(struct goodix_ts_core *cd)
|
|
|
{
|
|
|
+#ifdef GOODIX_SUSPEND_GESTURE_ENABLE
|
|
|
struct goodix_ts_cmd sleep_cmd;
|
|
|
|
|
|
sleep_cmd.cmd = GOODIX_SLEEP_CMD;
|
|
|
sleep_cmd.len = 4;
|
|
|
if (cd->hw_ops->send_cmd(cd, &sleep_cmd))
|
|
|
ts_err("failed send sleep cmd");
|
|
|
-
|
|
|
+#else
|
|
|
+ if (cd->hw_ops->power_on(cd, 0))
|
|
|
+ ts_err("failed power off");
|
|
|
+#endif
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
int brl_resume(struct goodix_ts_core *cd)
|
|
|
{
|
|
|
- return cd->hw_ops->reset(cd, GOODIX_NORMAL_RESET_DELAY_MS);
|
|
|
+ int ret = 0;
|
|
|
+
|
|
|
+#ifdef GOODIX_SUSPEND_GESTURE_ENABLE
|
|
|
+ ret = cd->hw_ops->reset(cd, GOODIX_NORMAL_RESET_DELAY_MS);
|
|
|
+#else
|
|
|
+ ret = cd->hw_ops->power_on(cd, 1);
|
|
|
+ if (ret) {
|
|
|
+ ts_err("failed power on");
|
|
|
+ return ret;
|
|
|
+ }
|
|
|
+
|
|
|
+ ret = cd->hw_ops->reset(cd, GOODIX_NORMAL_RESET_DELAY_MS);
|
|
|
+ if (ret) {
|
|
|
+ ts_err("failed reset tp");
|
|
|
+ return ret;
|
|
|
+ }
|
|
|
+#endif
|
|
|
+
|
|
|
+ return ret;
|
|
|
}
|
|
|
|
|
|
#define GOODIX_GESTURE_CMD_BA 0x12
|