gpio-button-hotplug: use gpio_button_get_value() to fetch state.
[lede-git/.git] / package / kernel / gpio-button-hotplug / src / gpio-button-hotplug.c
index 0b3140c0bff45e8e4c1f80c7f371ea9e7721f463..9cbee21e0a5e70f62ee6b29f6099ead63cd7a5ca 100644 (file)
@@ -274,15 +274,21 @@ struct gpio_keys_polled_dev {
        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) {