android_kernel_samsung_sm8650/drivers/input
Marcin Niestroj fafef982c7 Input: goodix - use generic touchscreen_properties
Use touchscreen_properties structure instead of implementing all
properties by our own. It allows us to reuse generic code for parsing
device-tree properties (which was implemented manually in the driver for
now). Additionally, it allows us to report events using generic
touchscreen_report_pos(), which automatically handles inverted and
swapped axes.

This fixes the issue with the custom code incorrectly handling case where
ts->inverted_x and ts->swapped_x_y were true, but ts->inverted_y was
false. Assuming we have 720x1280 touch panel, ts->abs_x_max == 1279 and
ts->abs_y_max == 719 (because we inverted that in goodix_read_config()).
Now let's assume that we received event from (0:0) position (in touch
panel original coordinates). In function goodix_ts_report_touch() we
calculate input_x as 1279, but after swapping input_y takes that value
(which is more that maximum 719 value reported during initialization).

Note that since touchscreen coordinates are 0-indexed, we now report
touchscreen range as (0:size-1).

Developed and tested on custom DT-based device with gt1151 touch
panel.

Signed-off-by: Marcin Niestroj <m.niestroj@grinn-global.com>
[dtor: fix endianness annotation reported by sparse, handle errors when
 initializing MT slots]
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2018-01-31 14:44:40 -08:00
..
gameport License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
joystick Input: inline macros for MODULE_LICENSE, etc 2018-01-17 09:52:22 -08:00
keyboard Input: pmic8xxx-keypad - remove unneeded MODULE_VERSION() usage 2018-01-16 16:48:21 -08:00
misc Input: inline macros for MODULE_LICENSE, etc 2018-01-17 09:52:22 -08:00
mouse Input: cyapa - remove redundant assignment to 'pwr_cmd' 2018-01-18 11:39:49 -08:00
rmi4 Input: synaptics-rmi4 - log when we create a guest serio port 2018-01-22 16:27:40 -08:00
serio Input: remove at32psif 2018-01-18 11:39:48 -08:00
tablet Input: inline macros for MODULE_LICENSE, etc 2018-01-17 09:52:22 -08:00
touchscreen Input: goodix - use generic touchscreen_properties 2018-01-31 14:44:40 -08:00
apm-power.c
evbug.c
evdev.c Input: extend usable life of event timestamps to 2106 on 32 bit systems 2018-01-09 16:40:30 -08:00
ff-core.c Input: uinput - avoid FF flush when destroying device 2017-09-21 16:31:22 -07:00
ff-memless.c Input: ff_memless - convert to using timer_setup() 2017-10-23 16:31:52 -07:00
input-compat.c Input: extend usable life of event timestamps to 2106 on 32 bit systems 2018-01-09 16:40:30 -08:00
input-compat.h Input: extend usable life of event timestamps to 2106 on 32 bit systems 2018-01-09 16:40:30 -08:00
input-leds.c Input: LEDs - skip unnamed LEDs 2015-07-24 09:11:01 -07:00
input-mt.c Input: update input_mt_report_pointer_emulation to support hovering 2016-06-01 14:21:10 -07:00
input-polldev.c Input: remove remaining unneeded MODULE_VERSION() usage 2018-01-16 16:48:25 -08:00
input.c Input: convert autorepeat timer to use timer_setup() 2017-11-03 12:45:23 -07:00
joydev.c Input: joydev - blacklist ds3/ds4/udraw motion sensors 2017-10-19 16:55:39 -07:00
Kconfig Input: mousedev - stop offering PS/2 to userspace by default 2017-01-31 11:31:49 -08:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
matrix-keymap.c Input: matrix-keypad - switch to using generic device properties 2017-01-31 11:31:48 -08:00
mousedev.c Input: mousedev - fix implicit conversion warning 2017-07-25 13:54:31 -07:00
sparse-keymap.c Input: remove remaining unneeded MODULE_VERSION() usage 2018-01-16 16:48:25 -08:00