/* SPDX-License-Identifier: GPL-2.0 */ #ifndef _INPUT_GPIO_TILT_H #define _INPUT_GPIO_TILT_H /** * struct gpio_tilt_axis - Axis used by the tilt switch * @axis: Constant describing the axis, e.g. ABS_X * @min: minimum value for abs_param * @max: maximum value for abs_param * @fuzz: fuzz value for abs_param * @flat: flat value for abs_param */ struct gpio_tilt_axis { int axis; int min; int max; int fuzz; int flat; }; /** * struct gpio_tilt_state - state description * @gpios: bitfield of gpio target-states for the value * @axes: array containing the axes settings for the gpio state * The array indizes must correspond to the axes defined * in platform_data * * This structure describes a supported axis settings * and the necessary gpio-state which represent it. * * The n-th bit in the bitfield describes the state of the n-th GPIO * from the gpios-array defined in gpio_regulator_config below. */ struct gpio_tilt_state { int gpios; int *axes; }; /** * struct gpio_tilt_platform_data * @gpios: Array containing the gpios determining the tilt state * @nr_gpios: Number of gpios * @axes: Array of gpio_tilt_axis descriptions * @nr_axes: Number of axes * @states: Array of gpio_tilt_state entries describing * the gpio state for specific tilts * @nr_states: Number of states available * @debounce_interval: debounce ticks interval in msecs * @poll_interval: polling interval in msecs - for polling driver only * @enable: callback to enable the tilt switch * @disable: callback to disable the tilt switch * * This structure contains gpio-tilt-switch configuration * information that must be passed by platform code to the * gpio-tilt input driver. */ struct gpio_tilt_platform_data { struct gpio *gpios; int nr_gpios; struct gpio_tilt_axis *axes; int nr_axes; struct gpio_tilt_state *states; int nr_states; int debounce_interval; unsigned int poll_interval; int (*enable)(struct device *dev); void (*disable)(struct device *dev); }; #endif
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
ad714x.h | File | 1.34 KB | 0644 |
|
adp5589.h | File | 5.64 KB | 0644 |
|
adxl34x.h | File | 11.3 KB | 0644 |
|
as5011.h | File | 545 B | 0644 |
|
auo-pixcir-ts.h | File | 1.38 KB | 0644 |
|
bu21013.h | File | 741 B | 0644 |
|
cma3000.h | File | 1.56 KB | 0644 |
|
cy8ctmg110_pdata.h | File | 262 B | 0644 |
|
cyttsp.h | File | 1.56 KB | 0644 |
|
elan-i2c-ids.h | File | 2.01 KB | 0644 |
|
gp2ap002a00f.h | File | 671 B | 0644 |
|
gpio_tilt.h | File | 1.98 KB | 0644 |
|
ili210x.h | File | 207 B | 0644 |
|
kxtj9.h | File | 1.74 KB | 0644 |
|
lm8333.h | File | 674 B | 0644 |
|
matrix_keypad.h | File | 2.96 KB | 0644 |
|
mt.h | File | 3.4 KB | 0644 |
|
navpoint.h | File | 393 B | 0644 |
|
samsung-keypad.h | File | 1.3 KB | 0644 |
|
sh_keysc.h | File | 431 B | 0644 |
|
sparse-keymap.h | File | 2.06 KB | 0644 |
|
touchscreen.h | File | 909 B | 0644 |
|
tps6507x-ts.h | File | 535 B | 0644 |
|