RE: [PATCH RFC V2 2/3] Input: goodix - use "inverted_[xy]" flags instead of "rotated_screen"

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





> -----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



[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]
  Powered by Linux