PageRenderTime 28ms CodeModel.GetById 14ms app.highlight 9ms RepoModel.GetById 1ms app.codeStats 0ms

/include/linux/input/ad714x.h

https://github.com/airy09/android_kernel_sony_apq8064
C Header | 64 lines | 42 code | 9 blank | 13 comment | 0 complexity | 731a9a61e60881a2113a682f771ef51e MD5 | raw file
 1/*
 2 * include/linux/input/ad714x.h
 3 *
 4 * AD714x is very flexible, it can be used as buttons, scrollwheel,
 5 * slider, touchpad at the same time. That depends on the boards.
 6 * The platform_data for the device's "struct device" holds this
 7 * information.
 8 *
 9 * Copyright 2009-2011 Analog Devices Inc.
10 *
11 * Licensed under the GPL-2 or later.
12 */
13
14#ifndef __LINUX_INPUT_AD714X_H__
15#define __LINUX_INPUT_AD714X_H__
16
17#define STAGE_NUM              12
18#define STAGE_CFGREG_NUM       8
19#define SYS_CFGREG_NUM         8
20
21/* board information which need be initialized in arch/mach... */
22struct ad714x_slider_plat {
23	int start_stage;
24	int end_stage;
25	int max_coord;
26};
27
28struct ad714x_wheel_plat {
29	int start_stage;
30	int end_stage;
31	int max_coord;
32};
33
34struct ad714x_touchpad_plat {
35	int x_start_stage;
36	int x_end_stage;
37	int x_max_coord;
38
39	int y_start_stage;
40	int y_end_stage;
41	int y_max_coord;
42};
43
44struct ad714x_button_plat {
45	int keycode;
46	unsigned short l_mask;
47	unsigned short h_mask;
48};
49
50struct ad714x_platform_data {
51	int slider_num;
52	int wheel_num;
53	int touchpad_num;
54	int button_num;
55	struct ad714x_slider_plat *slider;
56	struct ad714x_wheel_plat *wheel;
57	struct ad714x_touchpad_plat *touchpad;
58	struct ad714x_button_plat *button;
59	unsigned short stage_cfg_reg[STAGE_NUM][STAGE_CFGREG_NUM];
60	unsigned short sys_cfg_reg[SYS_CFGREG_NUM];
61	unsigned long irqflags;
62};
63
64#endif