mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-08 04:42:04 -04:00
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:
parent
e411bffd23
commit
00960bf64d
4 changed files with 24 additions and 32 deletions
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue