1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- /*
- * include/linux/input/ad714x.h
- *
- * AD714x is very flexible, it can be used as buttons, scrollwheel,
- * slider, touchpad at the same time. That depends on the boards.
- * The platform_data for the device's "struct device" holds this
- * information.
- *
- * Copyright 2009-2011 Analog Devices Inc.
- *
- * Licensed under the GPL-2 or later.
- */
- #ifndef __LINUX_INPUT_AD714X_H__
- #define __LINUX_INPUT_AD714X_H__
- #define STAGE_NUM 12
- #define STAGE_CFGREG_NUM 8
- #define SYS_CFGREG_NUM 8
- /* board information which need be initialized in arch/mach... */
- struct ad714x_slider_plat {
- int start_stage;
- int end_stage;
- int max_coord;
- };
- struct ad714x_wheel_plat {
- int start_stage;
- int end_stage;
- int max_coord;
- };
- struct ad714x_touchpad_plat {
- int x_start_stage;
- int x_end_stage;
- int x_max_coord;
- int y_start_stage;
- int y_end_stage;
- int y_max_coord;
- };
- struct ad714x_button_plat {
- int keycode;
- unsigned short l_mask;
- unsigned short h_mask;
- };
- struct ad714x_platform_data {
- int slider_num;
- int wheel_num;
- int touchpad_num;
- int button_num;
- struct ad714x_slider_plat *slider;
- struct ad714x_wheel_plat *wheel;
- struct ad714x_touchpad_plat *touchpad;
- struct ad714x_button_plat *button;
- unsigned short stage_cfg_reg[STAGE_NUM][STAGE_CFGREG_NUM];
- unsigned short sys_cfg_reg[SYS_CFGREG_NUM];
- unsigned long irqflags;
- };
- #endif
|