struct gpio_keys_button_data data[0];
};
+static inline int gpio_button_get_value(struct gpio_keys_button *button,
+ struct gpio_keys_button_data *bdata)
+{
+ if (bdata->can_sleep)
+ return !!gpio_get_value_cansleep(button->gpio);
+ else
+ return !!gpio_get_value(button->gpio);
+}
+
static void gpio_keys_polled_check_state(struct gpio_keys_button *button,
struct gpio_keys_button_data *bdata)
{
int state;
- if (bdata->can_sleep)
- state = !!gpio_get_value_cansleep(button->gpio);
- else
- state = !!gpio_get_value(button->gpio);
+ state = gpio_button_get_value(button, bdata);
state = !!(state ^ button->active_low);
if (state != bdata->last_state) {