Merge "touch: goodix: Turn off touch power when display off"
This commit is contained in:

committed by
Gerrit - the friendly Code Review server

commit
2797c9bf2b
@@ -1,6 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
* Goodix Touchscreen Driver
|
* Goodix Touchscreen Driver
|
||||||
* Copyright (C) 2020 - 2021 Goodix, Inc.
|
* 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
|
* 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
@@ -260,19 +261,41 @@ power_off:
|
|||||||
#define GOODIX_SLEEP_CMD 0x84
|
#define GOODIX_SLEEP_CMD 0x84
|
||||||
int brl_suspend(struct goodix_ts_core *cd)
|
int brl_suspend(struct goodix_ts_core *cd)
|
||||||
{
|
{
|
||||||
|
#ifdef GOODIX_SUSPEND_GESTURE_ENABLE
|
||||||
struct goodix_ts_cmd sleep_cmd;
|
struct goodix_ts_cmd sleep_cmd;
|
||||||
|
|
||||||
sleep_cmd.cmd = GOODIX_SLEEP_CMD;
|
sleep_cmd.cmd = GOODIX_SLEEP_CMD;
|
||||||
sleep_cmd.len = 4;
|
sleep_cmd.len = 4;
|
||||||
if (cd->hw_ops->send_cmd(cd, &sleep_cmd))
|
if (cd->hw_ops->send_cmd(cd, &sleep_cmd))
|
||||||
ts_err("failed send 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;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int brl_resume(struct goodix_ts_core *cd)
|
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
|
#define GOODIX_GESTURE_CMD_BA 0x12
|
||||||
|
@@ -1,6 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
* Goodix Touchscreen Driver
|
* Goodix Touchscreen Driver
|
||||||
* Copyright (C) 2020 - 2021 Goodix, Inc.
|
* 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
|
* 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
@@ -2066,10 +2067,10 @@ skip_goodix_ts_irq_setup:
|
|||||||
|
|
||||||
/* create procfs files */
|
/* create procfs files */
|
||||||
goodix_ts_procfs_init(cd);
|
goodix_ts_procfs_init(cd);
|
||||||
|
#ifdef GOODIX_SUSPEND_GESTURE_ENABLE
|
||||||
/* gesture init */
|
/* gesture init */
|
||||||
gesture_module_init();
|
gesture_module_init();
|
||||||
|
#endif
|
||||||
/* inspect init */
|
/* inspect init */
|
||||||
inspect_module_init();
|
inspect_module_init();
|
||||||
|
|
||||||
@@ -2608,7 +2609,9 @@ static int goodix_ts_remove(struct platform_device *pdev)
|
|||||||
goodix_tools_exit();
|
goodix_tools_exit();
|
||||||
|
|
||||||
if (core_data->init_stage >= CORE_INIT_STAGE2) {
|
if (core_data->init_stage >= CORE_INIT_STAGE2) {
|
||||||
|
#ifdef GOODIX_SUSPEND_GESTURE_ENABLE
|
||||||
gesture_module_exit();
|
gesture_module_exit();
|
||||||
|
#endif
|
||||||
inspect_module_exit();
|
inspect_module_exit();
|
||||||
hw_ops->irq_enable(core_data, false);
|
hw_ops->irq_enable(core_data, false);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user