From e6e27dc8589ca0f41482cb76c8c6f3d46fe8f1c7 Mon Sep 17 00:00:00 2001 From: hujing3 Date: Thu, 23 Feb 2023 15:21:24 +0800 Subject: [PATCH] focaltech_0flash_v2_mmi: update log level for input report log focaltech_0flash_v2_mmi: there were plenty of input report logs in normal userdebug version. add debug log level config node for input report logs, also enable debug log level when common log_level > 1. Change-Id: I2881db93974a426395b5af7563b2fae5067e6f96 Reviewed-on: https://gerrit.mot.com/2519358 SLTApproved: Slta Waiver SME-Granted: SME Approvals Granted Tested-by: Jira Key Reviewed-by: Wei Deng Reviewed-by: Xiangpo Zhao Submit-Approved: Jira Key --- .../focaltech_common.h | 7 ++++ .../focaltech_0flash_v2_mmi/focaltech_core.c | 12 +++--- .../focaltech_ex_fun.c | 42 +++++++++++++++++++ 3 files changed, 56 insertions(+), 5 deletions(-) diff --git a/drivers/input/touchscreen/focaltech_0flash_v2_mmi/focaltech_common.h b/drivers/input/touchscreen/focaltech_0flash_v2_mmi/focaltech_common.h index 855e3e29387f..f581764f6ff5 100644 --- a/drivers/input/touchscreen/focaltech_0flash_v2_mmi/focaltech_common.h +++ b/drivers/input/touchscreen/focaltech_0flash_v2_mmi/focaltech_common.h @@ -154,6 +154,8 @@ struct ts_ic_info { struct ft_chip_id_t cid; }; +extern bool dbg_level_en; + /***************************************************************************** * DEBUG function define here *****************************************************************************/ @@ -183,6 +185,11 @@ struct ts_ic_info { } while (0) #endif +#define FTS_DBG_LEVEL(fmt, args...) do { \ + if (dbg_level_en) \ + printk("[FTS_TS/D]%s:"fmt"\n", __func__, ##args); \ +} while (0) + #define FTS_INFO(fmt, args...) do { \ printk(KERN_INFO "[FTS_TS/I]%s:"fmt"\n", __func__, ##args); \ } while (0) diff --git a/drivers/input/touchscreen/focaltech_0flash_v2_mmi/focaltech_core.c b/drivers/input/touchscreen/focaltech_0flash_v2_mmi/focaltech_core.c index e8639498029e..41ebfb0f3421 100644 --- a/drivers/input/touchscreen/focaltech_0flash_v2_mmi/focaltech_core.c +++ b/drivers/input/touchscreen/focaltech_0flash_v2_mmi/focaltech_core.c @@ -80,6 +80,8 @@ enum touch_state { *****************************************************************************/ struct fts_ts_data *fts_data; +bool dbg_level_en = 0; + #ifdef FTS_LAST_TIME_EN static bool time_flag = 1; #endif @@ -536,7 +538,7 @@ static int fts_input_report_b(struct fts_ts_data *ts_data, struct ts_event *even #endif if ((ts_data->log_level >= 2) || - ((1 == ts_data->log_level) && (FTS_TOUCH_DOWN == events[i].flag))) { + (dbg_level_en && (FTS_TOUCH_DOWN == events[i].flag))) { FTS_DEBUG("[B]P%d(%d, %d)[p:%d,tm:%d] DOWN!", events[i].id, events[i].x, events[i].y, events[i].p, events[i].area); @@ -545,14 +547,14 @@ static int fts_input_report_b(struct fts_ts_data *ts_data, struct ts_event *even input_mt_slot(input_dev, events[i].id); input_mt_report_slot_state(input_dev, MT_TOOL_FINGER, false); touch_point_pre &= ~(1 << events[i].id); - if (ts_data->log_level >= 1) FTS_DEBUG("[B]P%d UP!", events[i].id); + FTS_DBG_LEVEL("[B]P%d UP!", events[i].id); } } if (unlikely(touch_point_pre ^ touch_down_point_cur)) { for (i = 0; i < max_touch_num; i++) { if ((1 << i) & (touch_point_pre ^ touch_down_point_cur)) { - if (ts_data->log_level >= 1) FTS_DEBUG("[B]P%d UP!", i); + FTS_DBG_LEVEL("[B]P%d UP!", i); input_mt_slot(input_dev, i); input_mt_report_slot_state(input_dev, MT_TOOL_FINGER, false); } @@ -562,7 +564,7 @@ static int fts_input_report_b(struct fts_ts_data *ts_data, struct ts_event *even if (touch_down_point_cur) input_report_key(input_dev, BTN_TOUCH, 1); else if (touch_event_coordinate || ts_data->touch_points) { - if (ts_data->touch_points && (ts_data->log_level >= 1)) + if (ts_data->touch_points && dbg_level_en) FTS_DEBUG("[B]Points All Up!"); input_report_key(input_dev, BTN_TOUCH, 0); #ifdef FTS_LAST_TIME_EN @@ -1694,7 +1696,7 @@ static int drm_notifier_callback(struct notifier_block *self, } blank = evdata->data; - FTS_INFO("DRM event:%lu,blank:%d", event, *blank); + FTS_DBG_LEVEL("DRM event:%lu,blank:%d", event, *blank); switch (*blank) { case DRM_PANEL_BLANK_UNBLANK: if (DRM_PANEL_EARLY_EVENT_BLANK == event) { diff --git a/drivers/input/touchscreen/focaltech_0flash_v2_mmi/focaltech_ex_fun.c b/drivers/input/touchscreen/focaltech_0flash_v2_mmi/focaltech_ex_fun.c index 5ab66a911a09..51b13c1478e7 100644 --- a/drivers/input/touchscreen/focaltech_0flash_v2_mmi/focaltech_ex_fun.c +++ b/drivers/input/touchscreen/focaltech_0flash_v2_mmi/focaltech_ex_fun.c @@ -1458,6 +1458,13 @@ static ssize_t fts_log_level_store( sscanf(buf, "%d", &value); FTS_DEBUG("log level:%d->%d", ts_data->log_level, value); ts_data->log_level = value; + if (ts_data->log_level > 1) { + dbg_level_en = 1; + FTS_DEBUG("debug log level: 1"); + } else { + dbg_level_en = 0; + FTS_DEBUG("debug log level: 0"); + } mutex_unlock(&input_dev->mutex); FTS_FUNC_EXIT(); @@ -1704,6 +1711,40 @@ static ssize_t productinfo_show(struct device *dev, return fts_productinfo_show(dev, attr, buf); } +static ssize_t debug_level_en_store( + struct device *dev, + struct device_attribute *attr, const char *buf, size_t count) +{ + int value = 0; + struct fts_ts_data *ts_data = dev_get_drvdata(dev); + struct input_dev *input_dev = ts_data->input_dev; + + FTS_FUNC_ENTER(); + mutex_lock(&input_dev->mutex); + sscanf(buf, "%d", &value); + FTS_DEBUG("dbg log level:%d->%d", dbg_level_en, value); + dbg_level_en = value; + mutex_unlock(&input_dev->mutex); + FTS_FUNC_EXIT(); + + return count; +} + +static ssize_t debug_level_en_show( + struct device *dev, struct device_attribute *attr, char *buf) +{ + int count = 0; + struct fts_ts_data *ts_data = dev_get_drvdata(dev); + struct input_dev *input_dev = ts_data->input_dev; + + mutex_lock(&input_dev->mutex); + count += snprintf(buf + count, PAGE_SIZE, "debug log level:%d\n", + dbg_level_en); + mutex_unlock(&input_dev->mutex); + + return count; +} + #ifdef FTS_LAST_TIME_EN static ssize_t timestamp_show(struct device *dev, struct device_attribute *attr, char *buf) @@ -1733,6 +1774,7 @@ static struct device_attribute touchscreen_attributes[] = { #ifdef FTS_LAST_TIME_EN __ATTR_RO(timestamp), #endif + __ATTR(debug_level_en, S_IRUGO | S_IWUSR | S_IWGRP, debug_level_en_show, debug_level_en_store), __ATTR_NULL };