linux代碼分析

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;
};  

定義了這個是私有驅動。三個函數:打開,關閉和輪詢。下面三個是相應的參數,有最大最小的輪詢間隔。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章