regmap: allow regmap instances to be named
[linux-2.6.git] / include / linux / gpio_scrollwheel.h
1 /*
2  * Copyright (c) 2010, NVIDIA Corporation.
3  *
4  * This program is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License as published by
6  * the Free Software Foundation; either version 2 of the License, or
7  * (at your option) any later version.
8  *
9  * This program is distributed in the hope that it will be useful, but WITHOUT
10  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
12  * more details.
13  *
14  * You should have received a copy of the GNU General Public License along
15  * with this program; if not, write to the Free Software Foundation, Inc.,
16  * 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
17  */
18
19 #ifndef _GPIO_SCROLLWHEEL_H
20 #define _GPIO_SCROLLWHEEL_H
21
22 #define GPIO_SCROLLWHEEL_PIN_ONOFF      0
23 #define GPIO_SCROLLWHEEL_PIN_PRESS      1
24 #define GPIO_SCROLLWHEEL_PIN_ROT1       2
25 #define GPIO_SCROLLWHEEL_PIN_ROT2       3
26 #define GPIO_SCROLLWHEEL_PIN_MAX        4
27
28 struct gpio_scrollwheel_button {
29         /* Configuration parameters */
30         int pinaction;          /* GPIO_SCROLLWHEEL_PIN_* */
31         int gpio;
32         char *desc;
33         int active_low;
34         int debounce_interval;  /* debounce ticks interval in msecs */
35 };
36
37 struct gpio_scrollwheel_platform_data {
38         struct gpio_scrollwheel_button *buttons;
39         int nbuttons;
40         unsigned int rep:1;     /* enable input subsystem auto repeat */
41         int (*enable)(struct device *dev);
42         void (*disable)(struct device *dev);
43 };
44
45 #endif
46