struct gpio_keys_button_data {
int last_state;
int count;
int threshold;
int can_sleep;
};
这一段是定义了一个button_data的一个结构体。包含四种数据。poll的意思就是轮询。
struct gpio_keys_polled_dev {
struct input_polled_dev *poll_dev;
struct device *dev;
struct gpio_keys_platform_data *pdata;
struct gpio_keys_button_data data[0];
};
定义一个结构体其中input_polled_dev 是一个结构体。如下
struct input_polled_dev {
void * private;
void (* open) (struct input_polled_dev *dev);
void (* close) (struct input_polled_dev *dev);
void (* poll) (struct input_polled_dev *dev);
unsigned int poll_interval;
unsigned int poll_interval_max;
unsigned int poll_interval_min;
struct input_dev * input;
};
定义了这个是私有驱动。三个函数:打开,关闭和轮询。下面三个是相应的参数,有最大最小的轮询间隔。