diff mbox series

[v1,06/63] Input: atmel_mxt_ts - output status from T42 Touch Suppression

Message ID 20190816083130.18250-2-jiada_wang@mentor.com (mailing list archive)
State Changes Requested, archived
Headers show
Series None | expand

Commit Message

Wang, Jiada Aug. 16, 2019, 8:30 a.m. UTC
From: Nick Dyer <nick.dyer@itdev.co.uk>

Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk>
Acked-by: Benson Leung <bleung@chromium.org>
Acked-by: Yufeng Shen <miletus@chromium.org>
(cherry picked from ndyer/linux/for-upstream commit ab95b5a309999d2c098daaa9f88d9fcfae7eb516)
Signed-off-by: George G. Davis <george_davis@mentor.com>
Signed-off-by: Jiada Wang <jiada_wang@mentor.com>
---
 drivers/input/touchscreen/atmel_mxt_ts.c | 25 ++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

Comments

Dmitry Torokhov Aug. 16, 2019, 5:34 p.m. UTC | #1
On Fri, Aug 16, 2019 at 05:30:33PM +0900, Jiada Wang wrote:
> From: Nick Dyer <nick.dyer@itdev.co.uk>
> 
> Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk>
> Acked-by: Benson Leung <bleung@chromium.org>
> Acked-by: Yufeng Shen <miletus@chromium.org>
> (cherry picked from ndyer/linux/for-upstream commit ab95b5a309999d2c098daaa9f88d9fcfae7eb516)
> Signed-off-by: George G. Davis <george_davis@mentor.com>
> Signed-off-by: Jiada Wang <jiada_wang@mentor.com>
> ---
>  drivers/input/touchscreen/atmel_mxt_ts.c | 25 ++++++++++++++++++++++++
>  1 file changed, 25 insertions(+)
> 
> diff --git a/drivers/input/touchscreen/atmel_mxt_ts.c b/drivers/input/touchscreen/atmel_mxt_ts.c
> index a75c35c6f9f9..9226ec528adf 100644
> --- a/drivers/input/touchscreen/atmel_mxt_ts.c
> +++ b/drivers/input/touchscreen/atmel_mxt_ts.c
> @@ -155,6 +155,9 @@ struct t37_debug {
>  #define MXT_RESET_VALUE		0x01
>  #define MXT_BACKUP_VALUE	0x55
>  
> +/* Define for MXT_PROCI_TOUCHSUPPRESSION_T42 */
> +#define MXT_T42_MSG_TCHSUP	BIT(0)
> +
>  /* T100 Multiple Touch Touchscreen */
>  #define MXT_T100_CTRL		0
>  #define MXT_T100_CFG1		1
> @@ -323,6 +326,8 @@ struct mxt_data {
>  	u8 T9_reportid_max;
>  	u16 T18_address;
>  	u8 T19_reportid;
> +	u8 T42_reportid_min;
> +	u8 T42_reportid_max;
>  	u16 T44_address;
>  	u8 T48_reportid;
>  	u8 T100_reportid_min;
> @@ -978,6 +983,17 @@ static void mxt_proc_t100_message(struct mxt_data *data, u8 *message)
>  	data->update_input = true;
>  }
>  
> +static void mxt_proc_t42_messages(struct mxt_data *data, u8 *msg)
> +{
> +	struct device *dev = &data->client->dev;
> +	u8 status = msg[1];
> +
> +	if (status & MXT_T42_MSG_TCHSUP)
> +		dev_info(dev, "T42 suppress\n");
> +	else
> +		dev_info(dev, "T42 normal\n");

dev_dbg(). There is no need to flood the logs with this. I'd assume this
is for assisting in bringup. Should there be some more generic way of
monitoring the status?
Wang, Jiada Aug. 22, 2019, 5:52 a.m. UTC | #2
Hi

On 2019/08/17 2:34, Dmitry Torokhov wrote:
> On Fri, Aug 16, 2019 at 05:30:33PM +0900, Jiada Wang wrote:
>> From: Nick Dyer <nick.dyer@itdev.co.uk>
>>
>> Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk>
>> Acked-by: Benson Leung <bleung@chromium.org>
>> Acked-by: Yufeng Shen <miletus@chromium.org>
>> (cherry picked from ndyer/linux/for-upstream commit ab95b5a309999d2c098daaa9f88d9fcfae7eb516)
>> Signed-off-by: George G. Davis <george_davis@mentor.com>
>> Signed-off-by: Jiada Wang <jiada_wang@mentor.com>
>> ---
>>   drivers/input/touchscreen/atmel_mxt_ts.c | 25 ++++++++++++++++++++++++
>>   1 file changed, 25 insertions(+)
>>
>> diff --git a/drivers/input/touchscreen/atmel_mxt_ts.c b/drivers/input/touchscreen/atmel_mxt_ts.c
>> index a75c35c6f9f9..9226ec528adf 100644
>> --- a/drivers/input/touchscreen/atmel_mxt_ts.c
>> +++ b/drivers/input/touchscreen/atmel_mxt_ts.c
>> @@ -155,6 +155,9 @@ struct t37_debug {
>>   #define MXT_RESET_VALUE		0x01
>>   #define MXT_BACKUP_VALUE	0x55
>>   
>> +/* Define for MXT_PROCI_TOUCHSUPPRESSION_T42 */
>> +#define MXT_T42_MSG_TCHSUP	BIT(0)
>> +
>>   /* T100 Multiple Touch Touchscreen */
>>   #define MXT_T100_CTRL		0
>>   #define MXT_T100_CFG1		1
>> @@ -323,6 +326,8 @@ struct mxt_data {
>>   	u8 T9_reportid_max;
>>   	u16 T18_address;
>>   	u8 T19_reportid;
>> +	u8 T42_reportid_min;
>> +	u8 T42_reportid_max;
>>   	u16 T44_address;
>>   	u8 T48_reportid;
>>   	u8 T100_reportid_min;
>> @@ -978,6 +983,17 @@ static void mxt_proc_t100_message(struct mxt_data *data, u8 *message)
>>   	data->update_input = true;
>>   }
>>   
>> +static void mxt_proc_t42_messages(struct mxt_data *data, u8 *msg)
>> +{
>> +	struct device *dev = &data->client->dev;
>> +	u8 status = msg[1];
>> +
>> +	if (status & MXT_T42_MSG_TCHSUP)
>> +		dev_info(dev, "T42 suppress\n");
>> +	else
>> +		dev_info(dev, "T42 normal\n");
> 
> dev_dbg(). There is no need to flood the logs with this. I'd assume this
> is for assisting in bringup. Should there be some more generic way of
> monitoring the status?
> 
will replace with dev_dbg() in v2 patchset

thanks,
Jiada
diff mbox series

Patch

diff --git a/drivers/input/touchscreen/atmel_mxt_ts.c b/drivers/input/touchscreen/atmel_mxt_ts.c
index a75c35c6f9f9..9226ec528adf 100644
--- a/drivers/input/touchscreen/atmel_mxt_ts.c
+++ b/drivers/input/touchscreen/atmel_mxt_ts.c
@@ -155,6 +155,9 @@  struct t37_debug {
 #define MXT_RESET_VALUE		0x01
 #define MXT_BACKUP_VALUE	0x55
 
+/* Define for MXT_PROCI_TOUCHSUPPRESSION_T42 */
+#define MXT_T42_MSG_TCHSUP	BIT(0)
+
 /* T100 Multiple Touch Touchscreen */
 #define MXT_T100_CTRL		0
 #define MXT_T100_CFG1		1
@@ -323,6 +326,8 @@  struct mxt_data {
 	u8 T9_reportid_max;
 	u16 T18_address;
 	u8 T19_reportid;
+	u8 T42_reportid_min;
+	u8 T42_reportid_max;
 	u16 T44_address;
 	u8 T48_reportid;
 	u8 T100_reportid_min;
@@ -978,6 +983,17 @@  static void mxt_proc_t100_message(struct mxt_data *data, u8 *message)
 	data->update_input = true;
 }
 
+static void mxt_proc_t42_messages(struct mxt_data *data, u8 *msg)
+{
+	struct device *dev = &data->client->dev;
+	u8 status = msg[1];
+
+	if (status & MXT_T42_MSG_TCHSUP)
+		dev_info(dev, "T42 suppress\n");
+	else
+		dev_info(dev, "T42 normal\n");
+}
+
 static int mxt_proc_t48_messages(struct mxt_data *data, u8 *msg)
 {
 	struct device *dev = &data->client->dev;
@@ -1005,6 +1021,9 @@  static int mxt_proc_message(struct mxt_data *data, u8 *message)
 
 	if (report_id == data->T6_reportid) {
 		mxt_proc_t6_messages(data, message);
+	} else if (report_id >= data->T42_reportid_min
+		   && report_id <= data->T42_reportid_max) {
+		mxt_proc_t42_messages(data, message);
 	} else if (report_id == data->T48_reportid) {
 		mxt_proc_t48_messages(data, message);
 	} else if (!data->input_dev) {
@@ -1683,6 +1702,8 @@  static void mxt_free_object_table(struct mxt_data *data)
 	data->T9_reportid_max = 0;
 	data->T18_address = 0;
 	data->T19_reportid = 0;
+	data->T42_reportid_min = 0;
+	data->T42_reportid_max = 0;
 	data->T44_address = 0;
 	data->T48_reportid = 0;
 	data->T100_reportid_min = 0;
@@ -1760,6 +1781,10 @@  static int mxt_parse_object_table(struct mxt_data *data,
 		case MXT_SPT_COMMSCONFIG_T18:
 			data->T18_address = object->start_address;
 			break;
+		case MXT_PROCI_TOUCHSUPPRESSION_T42:
+			data->T42_reportid_min = min_id;
+			data->T42_reportid_max = max_id;
+			break;
 		case MXT_SPT_MESSAGECOUNT_T44:
 			data->T44_address = object->start_address;
 			break;