Message ID | 20200508055656.96389-6-jiada_wang@mentor.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | atmel_mxt_ts misc | expand |
On Thu, May 07, 2020 at 10:56:05PM -0700, Jiada Wang wrote: > From: Nick Dyer <nick.dyer@itdev.co.uk> > > This patch outputs status from T48 Noise Supression > > 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 2895a6ff150a49f27a02938f8d262be238b296d8) > 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 7e6a66e3e1e0..a53985a7736f 100644 > --- a/drivers/input/touchscreen/atmel_mxt_ts.c > +++ b/drivers/input/touchscreen/atmel_mxt_ts.c > @@ -324,6 +324,7 @@ struct mxt_data { > u16 T18_address; > u8 T19_reportid; > u16 T44_address; > + u8 T48_reportid; > u8 T100_reportid_min; > u8 T100_reportid_max; > > @@ -978,6 +979,24 @@ static void mxt_proc_t100_message(struct mxt_data *data, u8 *message) > data->update_input = true; > } > > +static int mxt_proc_t48_messages(struct mxt_data *data, u8 *msg) > +{ > + struct device *dev = &data->client->dev; > + u8 status, state; > + > + status = msg[1]; > + state = msg[4]; > + > + dev_dbg(dev, "T48 state %d status %02X %s%s%s%s%s\n", state, status, > + status & 0x01 ? "FREQCHG " : "", > + status & 0x02 ? "APXCHG " : "", > + status & 0x04 ? "ALGOERR " : "", > + status & 0x10 ? "STATCHG " : "", > + status & 0x20 ? "NLVLCHG " : ""); Should we define symbolic names for these bits, like you did for T42 in the next patch? Thanks.
Hello Dmitry On 2020/05/12 7:23, Dmitry Torokhov wrote: > On Thu, May 07, 2020 at 10:56:05PM -0700, Jiada Wang wrote: >> From: Nick Dyer <nick.dyer@itdev.co.uk> >> >> This patch outputs status from T48 Noise Supression >> >> 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 2895a6ff150a49f27a02938f8d262be238b296d8) >> 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 7e6a66e3e1e0..a53985a7736f 100644 >> --- a/drivers/input/touchscreen/atmel_mxt_ts.c >> +++ b/drivers/input/touchscreen/atmel_mxt_ts.c >> @@ -324,6 +324,7 @@ struct mxt_data { >> u16 T18_address; >> u8 T19_reportid; >> u16 T44_address; >> + u8 T48_reportid; >> u8 T100_reportid_min; >> u8 T100_reportid_max; >> >> @@ -978,6 +979,24 @@ static void mxt_proc_t100_message(struct mxt_data *data, u8 *message) >> data->update_input = true; >> } >> >> +static int mxt_proc_t48_messages(struct mxt_data *data, u8 *msg) >> +{ >> + struct device *dev = &data->client->dev; >> + u8 status, state; >> + >> + status = msg[1]; >> + state = msg[4]; >> + >> + dev_dbg(dev, "T48 state %d status %02X %s%s%s%s%s\n", state, status, >> + status & 0x01 ? "FREQCHG " : "", >> + status & 0x02 ? "APXCHG " : "", >> + status & 0x04 ? "ALGOERR " : "", >> + status & 0x10 ? "STATCHG " : "", >> + status & 0x20 ? "NLVLCHG " : ""); > > Should we define symbolic names for these bits, like you did for T42 > in the next patch? will replace with symbolic names in next version Thanks, Jiada > > Thanks. >
diff --git a/drivers/input/touchscreen/atmel_mxt_ts.c b/drivers/input/touchscreen/atmel_mxt_ts.c index 7e6a66e3e1e0..a53985a7736f 100644 --- a/drivers/input/touchscreen/atmel_mxt_ts.c +++ b/drivers/input/touchscreen/atmel_mxt_ts.c @@ -324,6 +324,7 @@ struct mxt_data { u16 T18_address; u8 T19_reportid; u16 T44_address; + u8 T48_reportid; u8 T100_reportid_min; u8 T100_reportid_max; @@ -978,6 +979,24 @@ static void mxt_proc_t100_message(struct mxt_data *data, u8 *message) data->update_input = true; } +static int mxt_proc_t48_messages(struct mxt_data *data, u8 *msg) +{ + struct device *dev = &data->client->dev; + u8 status, state; + + status = msg[1]; + state = msg[4]; + + dev_dbg(dev, "T48 state %d status %02X %s%s%s%s%s\n", state, status, + status & 0x01 ? "FREQCHG " : "", + status & 0x02 ? "APXCHG " : "", + status & 0x04 ? "ALGOERR " : "", + status & 0x10 ? "STATCHG " : "", + status & 0x20 ? "NLVLCHG " : ""); + + return 0; +} + static int mxt_proc_message(struct mxt_data *data, u8 *message) { u8 report_id = message[0]; @@ -987,6 +1006,8 @@ 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->T48_reportid) { + mxt_proc_t48_messages(data, message); } else if (!data->input_dev) { /* * Do not report events if input device @@ -1666,6 +1687,7 @@ static void mxt_free_object_table(struct mxt_data *data) data->T18_address = 0; data->T19_reportid = 0; data->T44_address = 0; + data->T48_reportid = 0; data->T100_reportid_min = 0; data->T100_reportid_max = 0; data->max_reportid = 0; @@ -1747,6 +1769,9 @@ static int mxt_parse_object_table(struct mxt_data *data, case MXT_SPT_GPIOPWM_T19: data->T19_reportid = min_id; break; + case MXT_PROCG_NOISESUPPRESSION_T48: + data->T48_reportid = min_id; + break; case MXT_TOUCH_MULTITOUCHSCREEN_T100: data->multitouch = MXT_TOUCH_MULTITOUCHSCREEN_T100; data->T100_reportid_min = min_id;