touch: sec_ts: Replace wakeup_source API with macro

Use common mmi_wake_lock macros instead directly using kernel API,
which is version specific.

Change-Id: Ie2876d102f7f9dd333e226b5319d66e7af998f51
Signed-off-by: Kanagarathina Kalathi <kalath(CR)@motorola.com>
Reviewed-on: https://gerrit.mot.com/1727444
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: Vijayakumar Gn <vijaygn@motorola.com>
Reviewed-by: Konstantin Makariev <kmakariev@motorola.com>
Submit-Approved: Jira Key
This commit is contained in:
kalathik 2020-08-19 16:14:02 +05:30 • committed by Kanagarathina Kalathi
commit 00960bf64d
4 changed files with 24 additions and 32 deletions

View file

@ -7,6 +7,7 @@
#include <linux/usb.h>
#include <linux/power_supply.h>
#include <linux/version.h>
#include <linux/mmi_wake_lock.h>
#if defined(CONFIG_PANEL_NOTIFICATIONS)
#include <linux/panel_notifier.h>

View file

@ -949,7 +949,7 @@ static void sec_ts_read_event(struct sec_ts_data *ts)
/* call class method */
ret = ts->imports->report_gesture(&event);
if (!ret)
__pm_wakeup_event(ts->gesture_wakelock, 3000);
PM_WAKEUP_EVENT(ts->gesture_wakelock, 3000);
}
#endif
break;
@ -1831,23 +1831,14 @@ static int sec_ts_probe(struct i2c_client *client, const struct i2c_device_id *i
mutex_init(&ts->eventlock);
mutex_init(&ts->modechange);
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 19, 110))
ts->wakelock = wakeup_source_register(ts->dev, "tsp_wakelock");
#else
ts->wakelock = wakeup_source_register("tsp_wakelock");
#endif
PM_WAKEUP_REGISTER(ts->dev, ts->wakelock, "tsp_wakelock");
if (!ts->wakelock) {
input_err(true, &ts->client->dev,
"%s: allocate wakeup source err!\n", __func__);
ret = -ENOMEM;
goto err_register_wakelock;
}
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 19, 110))
ts->gesture_wakelock = wakeup_source_register
(ts->dev, "tsp_gesture_wakelock");
#else
ts->gesture_wakelock = wakeup_source_register("tsp_gesture_wakelock");
#endif
PM_WAKEUP_REGISTER(ts->dev, ts->gesture_wakelock, "tsp_gesture_wakelock");
if (!ts->gesture_wakelock) {
input_err(true, &ts->client->dev,
"%s: allocate gesture wakeup source err!\n", __func__);
@ -1967,9 +1958,9 @@ err_irq:
}
err_input_register_device:
kfree(ts->pFrame);
wakeup_source_unregister(ts->gesture_wakelock);
PM_WAKEUP_UNREGISTER(ts->gesture_wakelock);
err_register_gesture_wakelock:
wakeup_source_unregister(ts->wakelock);
PM_WAKEUP_UNREGISTER(ts->wakelock);
err_register_wakelock:
sec_ts_power(ts, false);
if (ts->plat_data->support_dex) {
@ -2124,7 +2115,7 @@ static void sec_ts_reset_work(struct work_struct *work)
}
mutex_lock(&ts->modechange);
__pm_stay_awake(ts->wakelock);
PM_STAY_AWAKE(ts->wakelock);
ts->reset_is_on_going = true;
input_info(true, &ts->client->dev, "%s\n", __func__);
@ -2141,7 +2132,7 @@ static void sec_ts_reset_work(struct work_struct *work)
schedule_delayed_work(&ts->reset_work, msecs_to_jiffies(TOUCH_RESET_DWORK_TIME));
mutex_unlock(&ts->modechange);
__pm_relax(ts->wakelock);
PM_RELAX(ts->wakelock);
return;
}
@ -2157,7 +2148,7 @@ static void sec_ts_reset_work(struct work_struct *work)
cancel_delayed_work(&ts->reset_work);
schedule_delayed_work(&ts->reset_work, msecs_to_jiffies(TOUCH_RESET_DWORK_TIME));
mutex_unlock(&ts->modechange);
__pm_relax(ts->wakelock);
PM_RELAX(ts->wakelock);
return;
}
} else {
@ -2188,7 +2179,7 @@ static void sec_ts_reset_work(struct work_struct *work)
ts->reset_is_on_going = false;
mutex_unlock(&ts->modechange);
__pm_relax(ts->wakelock);
PM_RELAX(ts->wakelock);
}
#endif
@ -2400,8 +2391,8 @@ static int sec_ts_remove(struct i2c_client *client)
p_ghost_check = NULL;
#endif
device_init_wakeup(&client->dev, false);
wakeup_source_unregister(ts->gesture_wakelock);
wakeup_source_unregister(ts->wakelock);
PM_WAKEUP_UNREGISTER(ts->gesture_wakelock);
PM_WAKEUP_UNREGISTER(ts->wakelock);
ts->lowpower_mode = false;
ts->probe_done = false;

View file

@ -543,7 +543,7 @@ static void sec_mmi_ic_reset(struct sec_mmi_data *data, int mode)
!gpio_get_value(ts->plat_data->rst_gpio))
return;
__pm_stay_awake(ts->wakelock);
PM_STAY_AWAKE(ts->wakelock);
mutex_lock(&ts->modechange);
/* disable irq to ensure getting boot complete */
sec_ts_irq_enable(ts, false);
@ -565,7 +565,7 @@ static void sec_mmi_ic_reset(struct sec_mmi_data *data, int mode)
sec_ts_irq_enable(ts, true);
mutex_unlock(&ts->modechange);
__pm_relax(ts->wakelock);
PM_RELAX(ts->wakelock);
dev_dbg(DEV_MMI, "%s: hw reset done\n", __func__);
}
@ -1008,12 +1008,12 @@ static ssize_t sec_mmi_erase_store(struct device *dev,
mutex_lock(&ts->modechange);
sec_ts_irq_enable(ts, false);
__pm_stay_awake(ts->wakelock);
PM_STAY_AWAKE(ts->wakelock);
ts->fw_invalid = true;
mutex_unlock(&ts->modechange);
__pm_relax(ts->wakelock);
PM_RELAX(ts->wakelock);
return size;
}
@ -1099,7 +1099,7 @@ static ssize_t sec_mmi_doreflash_store(struct device *dev,
mutex_lock(&ts->modechange);
sec_ts_irq_enable(ts, false);
__pm_stay_awake(ts->wakelock);
PM_STAY_AWAKE(ts->wakelock);
result = sec_ts_firmware_update(ts, fw_entry->data, fw_entry->size,
0, data->force_calibration, 0);
@ -1110,7 +1110,7 @@ static ssize_t sec_mmi_doreflash_store(struct device *dev,
mutex_unlock(&ts->modechange);
sec_ts_irq_enable(ts, true);
__pm_relax(ts->wakelock);
PM_RELAX(ts->wakelock);
err_request_fw:
release_firmware(fw_entry);

View file

@ -184,7 +184,7 @@ static void sec_mmi_ic_reset(struct sec_ts_data *ts, int mode)
!gpio_get_value(ts->plat_data->rst_gpio))
return;
__pm_stay_awake(ts->wakelock);
PM_STAY_AWAKE(ts->wakelock);
mutex_lock(&ts->modechange);
/* disable irq to ensure getting boot complete */
sec_ts_irq_enable(ts, false);
@ -206,7 +206,7 @@ static void sec_mmi_ic_reset(struct sec_ts_data *ts, int mode)
sec_ts_irq_enable(ts, true);
mutex_unlock(&ts->modechange);
__pm_relax(ts->wakelock);
PM_RELAX(ts->wakelock);
dev_dbg(&ts->client->dev, "%s: hw reset done\n", __func__);
}
@ -1032,7 +1032,7 @@ static int sec_mmi_firmware_update(struct device *dev, char *fwname) {
mutex_lock(&ts->modechange);
sec_ts_irq_enable(ts, false);
__pm_stay_awake(ts->wakelock);
PM_STAY_AWAKE(ts->wakelock);
result = sec_ts_firmware_update(ts, fw_entry->data, fw_entry->size,
0, false, 0); /* do not run calibration!!! */
@ -1043,7 +1043,7 @@ static int sec_mmi_firmware_update(struct device *dev, char *fwname) {
mutex_unlock(&ts->modechange);
sec_ts_irq_enable(ts, true);
__pm_relax(ts->wakelock);
PM_RELAX(ts->wakelock);
err_request_fw:
release_firmware(fw_entry);
@ -1067,12 +1067,12 @@ static int sec_mmi_firmware_erase(struct device *dev)
mutex_lock(&ts->modechange);
sec_ts_irq_enable(ts, false);
__pm_stay_awake(ts->wakelock);
PM_STAY_AWAKE(ts->wakelock);
ts->fw_invalid = true;
mutex_unlock(&ts->modechange);
__pm_relax(ts->wakelock);
PM_RELAX(ts->wakelock);
return 0;
}