1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /*
3  * Copyright (c) 2014 Sebastian Reichel <sre@kernel.org>
4  */
5 
6 #ifndef _TOUCHSCREEN_H
7 #define _TOUCHSCREEN_H
8 
9 struct input_dev;
10 struct input_mt_pos;
11 
12 struct touchscreen_properties {
13 	unsigned int max_x;
14 	unsigned int max_y;
15 	bool invert_x;
16 	bool invert_y;
17 	bool swap_x_y;
18 };
19 
20 void touchscreen_parse_properties(struct input_dev *input, bool multitouch,
21 				  struct touchscreen_properties *prop);
22 
23 void touchscreen_set_mt_pos(struct input_mt_pos *pos,
24 			    const struct touchscreen_properties *prop,
25 			    unsigned int x, unsigned int y);
26 
27 void touchscreen_report_pos(struct input_dev *input,
28 			    const struct touchscreen_properties *prop,
29 			    unsigned int x, unsigned int y,
30 			    bool multitouch);
31 
32 #endif
33