> -----Original Message----- > From: Karsten Merker [mailto:merker@xxxxxxxxxx] > Sent: 09 October, 2015 20:56 > To: Bastien Nocera; Dmitry Torokhov; Tirdea, Irina; Aleksei Mamlin; linux-input@xxxxxxxxxxxxxxx; Ian Campbell > Cc: devicetree@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; Chen-Yu Tsai; Karsten Merker > Subject: [PATCH RFC V2 2/3] Input: goodix - use "inverted_[xy]" flags instead of "rotated_screen" > > The goodix touchscreen driver uses a "rotated_screen" flag for > systems on which the touchscreen is mounted rotated by 180 > degrees with respect to the display. With the addition of > support for the dt properties "touchscreen-inverted-x" and > "touchscreen-inverted-y", a separate "rotated_screen" flag > is not necessary any more. This patch replaces it by setting > the inverted_x and inverted_y flags instead. > > Signed-off-by: Karsten Merker <merker@xxxxxxxxxx> > --- Reviewed-by: Irina Tirdea <irina.tirdea@xxxxxxxxx> > drivers/input/touchscreen/goodix.c | 12 ++++-------- > 1 file changed, 4 insertions(+), 8 deletions(-) > > diff --git a/drivers/input/touchscreen/goodix.c b/drivers/input/touchscreen/goodix.c > index a05bdad..d910b27 100644 > --- a/drivers/input/touchscreen/goodix.c > +++ b/drivers/input/touchscreen/goodix.c > @@ -40,7 +40,6 @@ struct goodix_ts_data { > int abs_y_max; > unsigned int max_touch_num; > unsigned int int_trigger_type; > - bool rotated_screen; > int cfg_len; > struct gpio_desc *gpiod_int; > struct gpio_desc *gpiod_rst; > @@ -270,11 +269,6 @@ static void goodix_ts_report_touch(struct goodix_ts_data *ts, u8 *coor_data) > int input_y = get_unaligned_le16(&coor_data[3]); > int input_w = get_unaligned_le16(&coor_data[5]); > > - if (ts->rotated_screen) { > - input_x = ts->abs_x_max - input_x; > - input_y = ts->abs_y_max - input_y; > - } > - > /* Inversions have to happen before axis swapping */ > if (ts->inverted_x) > input_x = ts->abs_x_max - input_x; > @@ -701,10 +695,12 @@ static void goodix_read_config(struct goodix_ts_data *ts) > ts->max_touch_num = GOODIX_MAX_CONTACTS; > } > > - ts->rotated_screen = dmi_check_system(rotated_screen); > - if (ts->rotated_screen) > + if (dmi_check_system(rotated_screen)) { > + ts->inverted_x = true; > + ts->inverted_y = true; > dev_dbg(&ts->client->dev, > "Applying '180 degrees rotated screen' quirk\n"); > + } > } > > /** > -- > 2.1.4 -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html