Lines Matching refs:button

49 				   struct gpio_keys_button *button,  in gpio_keys_button_event()  argument
54 unsigned int type = button->type ?: EV_KEY; in gpio_keys_button_event()
58 input_event(input, type, button->code, button->value); in gpio_keys_button_event()
59 __set_bit(button->code, bdev->rel_axis_seen); in gpio_keys_button_event()
63 input_event(input, type, button->code, button->value); in gpio_keys_button_event()
64 __set_bit(button->code, bdev->abs_axis_seen); in gpio_keys_button_event()
67 input_event(input, type, button->code, state); in gpio_keys_button_event()
73 struct gpio_keys_button *button, in gpio_keys_polled_check_state() argument
79 state = !!gpiod_get_value_cansleep(button->gpiod); in gpio_keys_polled_check_state()
81 state = !!gpiod_get_value(button->gpiod); in gpio_keys_polled_check_state()
83 gpio_keys_button_event(dev, button, state); in gpio_keys_polled_check_state()
148 struct gpio_keys_button *button; in gpio_keys_polled_get_devtree_pdata() local
157 pdata = devm_kzalloc(dev, sizeof(*pdata) + nbuttons * sizeof(*button), in gpio_keys_polled_get_devtree_pdata()
181 button = &pdata->buttons[pdata->nbuttons++]; in gpio_keys_polled_get_devtree_pdata()
182 button->gpiod = desc; in gpio_keys_polled_get_devtree_pdata()
184 if (fwnode_property_read_u32(child, "linux,code", &button->code)) { in gpio_keys_polled_get_devtree_pdata()
191 fwnode_property_read_string(child, "label", &button->desc); in gpio_keys_polled_get_devtree_pdata()
194 &button->type)) in gpio_keys_polled_get_devtree_pdata()
195 button->type = EV_KEY; in gpio_keys_polled_get_devtree_pdata()
198 (u32 *)&button->value)) in gpio_keys_polled_get_devtree_pdata()
199 button->value = 1; in gpio_keys_polled_get_devtree_pdata()
201 button->wakeup = in gpio_keys_polled_get_devtree_pdata()
207 &button->debounce_interval)) in gpio_keys_polled_get_devtree_pdata()
208 button->debounce_interval = 5; in gpio_keys_polled_get_devtree_pdata()
223 struct gpio_keys_button *button = &pdata->buttons[i]; in gpio_keys_polled_set_abs_params() local
225 if (button->type != EV_ABS || button->code != code) in gpio_keys_polled_set_abs_params()
228 if (button->value < min) in gpio_keys_polled_set_abs_params()
229 min = button->value; in gpio_keys_polled_set_abs_params()
230 if (button->value > max) in gpio_keys_polled_set_abs_params()
231 max = button->value; in gpio_keys_polled_set_abs_params()
303 struct gpio_keys_button *button = &pdata->buttons[i]; in gpio_keys_polled_probe() local
305 unsigned int type = button->type ?: EV_KEY; in gpio_keys_polled_probe()
307 if (button->wakeup) { in gpio_keys_polled_probe()
316 if (!button->gpiod && gpio_is_valid(button->gpio)) { in gpio_keys_polled_probe()
319 if (button->active_low) in gpio_keys_polled_probe()
322 error = devm_gpio_request_one(&pdev->dev, button->gpio, in gpio_keys_polled_probe()
323 flags, button->desc ? : DRV_NAME); in gpio_keys_polled_probe()
326 button->gpio, error); in gpio_keys_polled_probe()
330 button->gpiod = gpio_to_desc(button->gpio); in gpio_keys_polled_probe()
333 if (IS_ERR(button->gpiod)) in gpio_keys_polled_probe()
334 return PTR_ERR(button->gpiod); in gpio_keys_polled_probe()
336 bdata->can_sleep = gpiod_cansleep(button->gpiod); in gpio_keys_polled_probe()
338 bdata->threshold = DIV_ROUND_UP(button->debounce_interval, in gpio_keys_polled_probe()
341 input_set_capability(input, type, button->code); in gpio_keys_polled_probe()
344 button->code); in gpio_keys_polled_probe()