gpio_event: add driver
diff --git a/include/linux/gpio_event.h b/include/linux/gpio_event.h
index 71ee16a..511a70b 100644
--- a/include/linux/gpio_event.h
+++ b/include/linux/gpio_event.h
@@ -108,6 +108,7 @@
uint32_t gpio:16;
uint32_t code:10;
uint32_t dev:6;
+ bool not_wakeup_src;
};
/* inputs */
@@ -170,4 +171,19 @@
uint16_t gpio_axis_5bit_singletrack_map(
struct gpio_event_axis_info *info, uint16_t in);
+/* switchs */
+extern int gpio_event_switch_func(struct gpio_event_input_devs *input_devs,
+ struct gpio_event_info *info, void **data, int func);
+struct gpio_event_switch_info {
+ /* initialize to gpio_event_switch_func */
+ struct gpio_event_info info;
+ ktime_t debounce_time;
+ ktime_t poll_time;
+ uint16_t flags;
+ uint16_t type;
+ const struct gpio_event_direct_entry *keymap;
+ size_t keymap_size;
+ void (*setup_switch_gpio)(void);
+ void (*set_qty_irq)(uint8_t);
+};
#endif