diff options
-rw-r--r-- | ft3658/focaltech_core.c | 50 |
1 files changed, 16 insertions, 34 deletions
diff --git a/ft3658/focaltech_core.c b/ft3658/focaltech_core.c index afe1404..937cfbd 100644 --- a/ft3658/focaltech_core.c +++ b/ft3658/focaltech_core.c @@ -2907,20 +2907,11 @@ err_heatmap_probe: #endif #if IS_ENABLED(CONFIG_TOUCHSCREEN_OFFLOAD) || \ IS_ENABLED(CONFIG_TOUCHSCREEN_HEATMAP) - if (ts_data->trans_raw) { - kfree_safe(ts_data->trans_raw); - ts_data->trans_raw = NULL; - } + kfree_safe(ts_data->trans_raw); err_trans_raw: - if (ts_data->heatmap_raw) { - kfree_safe(ts_data->heatmap_raw); - ts_data->heatmap_raw = NULL; - } + kfree_safe(ts_data->heatmap_raw); err_heatmap_raw: - if (ts_data->heatmap_buff) { - kfree_safe(ts_data->heatmap_buff); - ts_data->heatmap_buff = NULL; - } + kfree_safe(ts_data->heatmap_buff); err_heatmap_buff: #endif #if IS_ENABLED(CONFIG_TOUCHSCREEN_OFFLOAD) @@ -2970,28 +2961,6 @@ static int fts_ts_remove_entry(struct fts_ts_data *ts_data) fts_release_apk_debug_channel(ts_data); fts_remove_sysfs(ts_data); -#if IS_ENABLED(CONFIG_TOUCHSCREEN_OFFLOAD) - touch_offload_cleanup(&ts_data->offload); -#endif -#if IS_ENABLED(CONFIG_TOUCHSCREEN_OFFLOAD) || \ - IS_ENABLED(CONFIG_TOUCHSCREEN_HEATMAP) - if (ts_data->heatmap_buff) { - kfree_safe(ts_data->heatmap_buff); - ts_data->heatmap_buff = NULL; - } - if (ts_data->heatmap_raw) { - kfree_safe(ts_data->heatmap_raw); - ts_data->heatmap_raw = NULL; - } - if (ts_data->trans_raw) { - kfree_safe(ts_data->trans_raw); - ts_data->trans_raw = NULL; - } -#endif - -#if IS_ENABLED(CONFIG_TOUCHSCREEN_HEATMAP) - heatmap_remove(&ts_data->v4l2); -#endif fts_ex_mode_exit(ts_data); fts_fwupg_exit(ts_data); @@ -3043,6 +3012,19 @@ static int fts_ts_remove_entry(struct fts_ts_data *ts_data) unregister_early_suspend(&ts_data->early_suspend); #endif +#if IS_ENABLED(CONFIG_TOUCHSCREEN_OFFLOAD) + touch_offload_cleanup(&ts_data->offload); +#endif +#if IS_ENABLED(CONFIG_TOUCHSCREEN_OFFLOAD) || \ + IS_ENABLED(CONFIG_TOUCHSCREEN_HEATMAP) + kfree_safe(ts_data->heatmap_buff); + kfree_safe(ts_data->heatmap_raw); + kfree_safe(ts_data->trans_raw); +#endif +#if IS_ENABLED(CONFIG_TOUCHSCREEN_HEATMAP) + heatmap_remove(&ts_data->v4l2); +#endif + if (gpio_is_valid(ts_data->pdata->reset_gpio)) gpio_free(ts_data->pdata->reset_gpio); |