mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-24 21:54:34 -04:00
Merge "input: touchscreen: focaltech: release i2c session early"
This commit is contained in:
commit
526ac3d86b
4 changed files with 16 additions and 16 deletions
|
|
@ -581,6 +581,9 @@ static void fts_ts_trusted_touch_tvm_vm_mode_disable(struct fts_ts_data *fts_dat
|
|||
pr_debug("vm irq release succeded\n");
|
||||
|
||||
fts_release_all_finger();
|
||||
pm_runtime_put_sync(fts_data->client->adapter->dev.parent);
|
||||
fts_ts_trusted_touch_set_tvm_driver_state(fts_data,
|
||||
TVM_I2C_SESSION_RELEASED);
|
||||
rc = fts_ts_vm_mem_release(fts_data);
|
||||
if (rc) {
|
||||
pr_err("Failed to release mem rc:%d\n", rc);
|
||||
|
|
@ -589,9 +592,6 @@ static void fts_ts_trusted_touch_tvm_vm_mode_disable(struct fts_ts_data *fts_dat
|
|||
fts_ts_trusted_touch_set_tvm_driver_state(fts_data,
|
||||
TVM_IOMEM_RELEASED);
|
||||
}
|
||||
pm_runtime_put_sync(fts_data->client->adapter->dev.parent);
|
||||
fts_ts_trusted_touch_set_tvm_driver_state(fts_data,
|
||||
TVM_I2C_SESSION_RELEASED);
|
||||
fts_ts_trusted_touch_set_tvm_driver_state(fts_data, TRUSTED_TOUCH_TVM_INIT);
|
||||
atomic_set(&fts_data->trusted_touch_enabled, 0);
|
||||
pr_info("trusted touch disabled\n");
|
||||
|
|
@ -668,16 +668,16 @@ static void fts_ts_trusted_touch_abort_tvm(struct fts_ts_data *fts_data)
|
|||
case TVM_IOMEM_ACCEPTED:
|
||||
case TVM_IRQ_RELEASED:
|
||||
fts_release_all_finger();
|
||||
pm_runtime_put_sync(fts_data->client->adapter->dev.parent);
|
||||
case TVM_I2C_SESSION_RELEASED:
|
||||
rc = fts_ts_vm_mem_release(fts_data);
|
||||
if (rc)
|
||||
pr_err("Failed to release mem rc:%d\n", rc);
|
||||
case TVM_IOMEM_RELEASED:
|
||||
pm_runtime_put_sync(fts_data->client->adapter->dev.parent);
|
||||
case TVM_I2C_SESSION_RELEASED:
|
||||
case TVM_IOMEM_LENT_NOTIFIED:
|
||||
case TVM_IRQ_LENT_NOTIFIED:
|
||||
case TVM_ALL_RESOURCES_LENT_NOTIFIED:
|
||||
case TRUSTED_TOUCH_TVM_INIT:
|
||||
case TVM_IRQ_LENT_NOTIFIED:
|
||||
case TVM_IOMEM_LENT_NOTIFIED:
|
||||
atomic_set(&fts_data->trusted_touch_enabled, 0);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -184,8 +184,8 @@ enum trusted_touch_tvm_states {
|
|||
TVM_INTERRUPT_ENABLED,
|
||||
TVM_INTERRUPT_DISABLED,
|
||||
TVM_IRQ_RELEASED,
|
||||
TVM_IOMEM_RELEASED,
|
||||
TVM_I2C_SESSION_RELEASED,
|
||||
TVM_IOMEM_RELEASED,
|
||||
TRUSTED_TOUCH_TVM_STATE_MAX
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -605,6 +605,9 @@ static void fts_trusted_touch_tvm_vm_mode_disable(struct fts_ts_info *info)
|
|||
|
||||
flushFIFO();
|
||||
release_all_touches(info);
|
||||
pm_runtime_put_sync(info->client->adapter->dev.parent);
|
||||
fts_trusted_touch_set_tvm_driver_state(info,
|
||||
TVM_I2C_SESSION_RELEASED);
|
||||
rc = fts_vm_mem_release(info);
|
||||
if (rc) {
|
||||
pr_err("Failed to release mem rc:%d\n", rc);
|
||||
|
|
@ -613,9 +616,6 @@ static void fts_trusted_touch_tvm_vm_mode_disable(struct fts_ts_info *info)
|
|||
fts_trusted_touch_set_tvm_driver_state(info,
|
||||
TVM_IOMEM_RELEASED);
|
||||
}
|
||||
pm_runtime_put_sync(info->client->adapter->dev.parent);
|
||||
fts_trusted_touch_set_tvm_driver_state(info,
|
||||
TVM_I2C_SESSION_RELEASED);
|
||||
fts_trusted_touch_set_tvm_driver_state(info, TRUSTED_TOUCH_TVM_INIT);
|
||||
atomic_set(&info->trusted_touch_enabled, 0);
|
||||
pr_info("trusted touch disabled\n");
|
||||
|
|
@ -693,16 +693,16 @@ static void fts_trusted_touch_abort_tvm(struct fts_ts_info *info)
|
|||
case TVM_IRQ_RELEASED:
|
||||
flushFIFO();
|
||||
release_all_touches(info);
|
||||
pm_runtime_put_sync(info->client->adapter->dev.parent);
|
||||
case TVM_I2C_SESSION_RELEASED:
|
||||
rc = fts_vm_mem_release(info);
|
||||
if (rc)
|
||||
pr_err("Failed to release mem rc:%d\n", rc);
|
||||
case TVM_IOMEM_RELEASED:
|
||||
pm_runtime_put_sync(info->client->adapter->dev.parent);
|
||||
case TVM_I2C_SESSION_RELEASED:
|
||||
case TVM_IOMEM_LENT_NOTIFIED:
|
||||
case TVM_IRQ_LENT_NOTIFIED:
|
||||
case TVM_ALL_RESOURCES_LENT_NOTIFIED:
|
||||
case TRUSTED_TOUCH_TVM_INIT:
|
||||
case TVM_IRQ_LENT_NOTIFIED:
|
||||
case TVM_IOMEM_LENT_NOTIFIED:
|
||||
atomic_set(&info->trusted_touch_enabled, 0);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -246,8 +246,8 @@ enum trusted_touch_tvm_states {
|
|||
TVM_INTERRUPT_ENABLED,
|
||||
TVM_INTERRUPT_DISABLED,
|
||||
TVM_IRQ_RELEASED,
|
||||
TVM_IOMEM_RELEASED,
|
||||
TVM_I2C_SESSION_RELEASED,
|
||||
TVM_IOMEM_RELEASED,
|
||||
TRUSTED_TOUCH_TVM_STATE_MAX
|
||||
};
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue