Message ID | 20190816083130.18250-2-jiada_wang@mentor.com (mailing list archive) |
---|---|
State | Changes Requested, archived |
Headers | show |
Series | None | expand |
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?
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 --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;