Hi Eirin, Thank you for your patch. On Thu, Sep 29, 2022 at 01:21, Eirin Nya <nyanpasu256@xxxxxxxxx> wrote: > elantech_data::y_max is copied from elantech_device_info::y_max, and > neither is mutated after initialization. So remove the redundant > variable to prevent future bugs when updating y_max. > > Signed-off-by: Eirin Nya <nyanpasu256@xxxxxxxxx> > --- > drivers/input/mouse/elantech.c | 17 ++++++++--------- > drivers/input/mouse/elantech.h | 1 - > 2 files changed, 8 insertions(+), 10 deletions(-) Reviewed-by: Mattijs Korpershoek <mkorpershoek@xxxxxxxxxxxx> > > diff --git a/drivers/input/mouse/elantech.c b/drivers/input/mouse/elantech.c > index ece97f8c6a..79e31611fc 100644 > --- a/drivers/input/mouse/elantech.c > +++ b/drivers/input/mouse/elantech.c > @@ -360,7 +360,7 @@ static void elantech_report_absolute_v1(struct psmouse *psmouse) > input_report_abs(dev, ABS_X, > ((packet[1] & 0x0c) << 6) | packet[2]); > input_report_abs(dev, ABS_Y, > - etd->y_max - (((packet[1] & 0x03) << 8) | packet[3])); > + etd->info.y_max - (((packet[1] & 0x03) << 8) | packet[3])); > } > > input_report_key(dev, BTN_TOOL_FINGER, fingers == 1); > @@ -435,7 +435,7 @@ static void elantech_report_absolute_v2(struct psmouse *psmouse) > * byte 4: . . . . y11 y10 y9 y8 > * byte 5: y7 y6 y5 y4 y3 y2 y1 y0 > */ > - y1 = etd->y_max - (((packet[4] & 0x0f) << 8) | packet[5]); > + y1 = etd->info.y_max - (((packet[4] & 0x0f) << 8) | packet[5]); > > pres = (packet[1] & 0xf0) | ((packet[4] & 0xf0) >> 4); > width = ((packet[0] & 0x30) >> 2) | ((packet[3] & 0x30) >> 4); > @@ -450,7 +450,7 @@ static void elantech_report_absolute_v2(struct psmouse *psmouse) > */ > x1 = (((packet[0] & 0x10) << 4) | packet[1]) << 2; > /* byte 2: ay7 ay6 ay5 ay4 ay3 ay2 ay1 ay0 */ > - y1 = etd->y_max - > + y1 = etd->info.y_max - > ((((packet[0] & 0x20) << 3) | packet[2]) << 2); > /* > * byte 3: . . by8 bx8 . . . . > @@ -458,7 +458,7 @@ static void elantech_report_absolute_v2(struct psmouse *psmouse) > */ > x2 = (((packet[3] & 0x10) << 4) | packet[4]) << 2; > /* byte 5: by7 by8 by5 by4 by3 by2 by1 by0 */ > - y2 = etd->y_max - > + y2 = etd->info.y_max - > ((((packet[3] & 0x20) << 3) | packet[5]) << 2); > > /* Unknown so just report sensible values */ > @@ -579,7 +579,7 @@ static void elantech_report_absolute_v3(struct psmouse *psmouse, > * byte 4: . . . . y11 y10 y9 y8 > * byte 5: y7 y6 y5 y4 y3 y2 y1 y0 > */ > - y1 = etd->y_max - (((packet[4] & 0x0f) << 8) | packet[5]); > + y1 = etd->info.y_max - (((packet[4] & 0x0f) << 8) | packet[5]); > break; > > case 2: > @@ -593,7 +593,7 @@ static void elantech_report_absolute_v3(struct psmouse *psmouse, > * byte 4: . . . . ay11 ay10 ay9 ay8 > * byte 5: ay7 ay6 ay5 ay4 ay3 ay2 ay1 ay0 > */ > - etd->mt[0].y = etd->y_max - > + etd->mt[0].y = etd->info.y_max - > (((packet[4] & 0x0f) << 8) | packet[5]); > /* > * wait for next packet > @@ -605,7 +605,7 @@ static void elantech_report_absolute_v3(struct psmouse *psmouse, > x1 = etd->mt[0].x; > y1 = etd->mt[0].y; > x2 = ((packet[1] & 0x0f) << 8) | packet[2]; > - y2 = etd->y_max - (((packet[4] & 0x0f) << 8) | packet[5]); > + y2 = etd->info.y_max - (((packet[4] & 0x0f) << 8) | packet[5]); > break; > } > > @@ -681,7 +681,7 @@ static void process_packet_head_v4(struct psmouse *psmouse) > return; > > etd->mt[id].x = ((packet[1] & 0x0f) << 8) | packet[2]; > - etd->mt[id].y = etd->y_max - (((packet[4] & 0x0f) << 8) | packet[5]); > + etd->mt[id].y = etd->info.y_max - (((packet[4] & 0x0f) << 8) | packet[5]); > pres = (packet[1] & 0xf0) | ((packet[4] & 0xf0) >> 4); > traces = (packet[0] & 0xf0) >> 4; > > @@ -1253,7 +1253,6 @@ static int elantech_set_input_params(struct psmouse *psmouse) > input_abs_set_res(dev, ABS_MT_POSITION_Y, info->y_res); > } > > - etd->y_max = y_max; > etd->width = width; > > return 0; > diff --git a/drivers/input/mouse/elantech.h b/drivers/input/mouse/elantech.h > index 571e6ca11d..1ec004f72d 100644 > --- a/drivers/input/mouse/elantech.h > +++ b/drivers/input/mouse/elantech.h > @@ -180,7 +180,6 @@ struct elantech_data { > unsigned char reg_25; > unsigned char reg_26; > unsigned int single_finger_reports; > - unsigned int y_max; > unsigned int width; > struct finger_pos mt[ETP_MAX_FINGERS]; > unsigned char parity[256]; > -- > 2.37.3