• Home
  • Raw
  • Download

Lines Matching full:button

36 	const struct gpio_keys_button *button;  member
100 * @type: type of button (%EV_KEY, %EV_SW)
115 * @type: type of button (%EV_KEY, %EV_SW)
129 * gpio_keys_disable_button() - disables given GPIO button
130 * @bdata: button data for button to be disabled
132 * Disables button pointed by @bdata. This is done by masking
133 * IRQ line. After this function is called, button won't generate
159 * gpio_keys_enable_button() - enables given GPIO button
160 * @bdata: button data for button to be disabled
162 * Enables given button pointed by @bdata.
166 * to enable the same button at the same time.
180 * @type: button type (%EV_KEY, %EV_SW)
206 if (bdata->button->type != type) in gpio_keys_attr_show_helper()
228 * @type: button type (%EV_KEY, %EV_SW)
260 if (bdata->button->type != type) in gpio_keys_attr_store_helper()
264 !bdata->button->can_disable) { in gpio_keys_attr_store_helper()
275 if (bdata->button->type != type) in gpio_keys_attr_store_helper()
364 const struct gpio_keys_button *button = bdata->button; in gpio_keys_gpio_report_event() local
366 unsigned int type = button->type ?: EV_KEY; in gpio_keys_gpio_report_event()
378 input_event(input, type, button->code, button->value); in gpio_keys_gpio_report_event()
392 if (bdata->button->wakeup) in gpio_keys_gpio_work_func()
402 if (bdata->button->wakeup) { in gpio_keys_gpio_isr()
403 const struct gpio_keys_button *button = bdata->button; in gpio_keys_gpio_isr() local
407 (button->type == 0 || button->type == EV_KEY)) { in gpio_keys_gpio_isr()
413 input_report_key(bdata->input, button->code, 1); in gpio_keys_gpio_isr()
450 if (bdata->button->wakeup) in gpio_keys_irq_isr()
486 const struct gpio_keys_button *button, in gpio_keys_setup_key() argument
490 const char *desc = button->desc ? button->desc : "gpio_keys"; in gpio_keys_setup_key()
499 bdata->button = button; in gpio_keys_setup_key()
522 } else if (gpio_is_valid(button->gpio)) { in gpio_keys_setup_key()
529 if (button->active_low) in gpio_keys_setup_key()
532 error = devm_gpio_request_one(dev, button->gpio, flags, desc); in gpio_keys_setup_key()
535 button->gpio, error); in gpio_keys_setup_key()
539 bdata->gpiod = gpio_to_desc(button->gpio); in gpio_keys_setup_key()
547 if (button->debounce_interval) { in gpio_keys_setup_key()
549 button->debounce_interval * 1000); in gpio_keys_setup_key()
553 button->debounce_interval; in gpio_keys_setup_key()
556 if (button->irq) { in gpio_keys_setup_key()
557 bdata->irq = button->irq; in gpio_keys_setup_key()
564 button->gpio, error); in gpio_keys_setup_key()
575 switch (button->wakeup_event_action) { in gpio_keys_setup_key()
594 if (!button->irq) { in gpio_keys_setup_key()
595 dev_err(dev, "Found button without gpio or irq\n"); in gpio_keys_setup_key()
599 bdata->irq = button->irq; in gpio_keys_setup_key()
601 if (button->type && button->type != EV_KEY) { in gpio_keys_setup_key()
606 bdata->release_delay = button->debounce_interval; in gpio_keys_setup_key()
619 *bdata->code = button->code; in gpio_keys_setup_key()
620 input_set_capability(input, button->type ?: EV_KEY, *bdata->code); in gpio_keys_setup_key()
634 * If platform has specified that the button can be disabled, in gpio_keys_setup_key()
637 if (!button->can_disable) in gpio_keys_setup_key()
702 struct gpio_keys_button *button; in gpio_keys_get_devtree_pdata() local
711 sizeof(*pdata) + nbuttons * sizeof(*button), in gpio_keys_get_devtree_pdata()
716 button = (struct gpio_keys_button *)(pdata + 1); in gpio_keys_get_devtree_pdata()
718 pdata->buttons = button; in gpio_keys_get_devtree_pdata()
727 button->irq = in gpio_keys_get_devtree_pdata()
731 &button->code)) { in gpio_keys_get_devtree_pdata()
732 dev_err(dev, "Button without keycode\n"); in gpio_keys_get_devtree_pdata()
737 fwnode_property_read_string(child, "label", &button->desc); in gpio_keys_get_devtree_pdata()
740 &button->type)) in gpio_keys_get_devtree_pdata()
741 button->type = EV_KEY; in gpio_keys_get_devtree_pdata()
743 button->wakeup = in gpio_keys_get_devtree_pdata()
749 &button->wakeup_event_action); in gpio_keys_get_devtree_pdata()
751 button->can_disable = in gpio_keys_get_devtree_pdata()
755 &button->debounce_interval)) in gpio_keys_get_devtree_pdata()
756 button->debounce_interval = 5; in gpio_keys_get_devtree_pdata()
758 button++; in gpio_keys_get_devtree_pdata()
834 const struct gpio_keys_button *button = &pdata->buttons[i]; in gpio_keys_probe() local
847 button, i, child); in gpio_keys_probe()
853 if (button->wakeup) in gpio_keys_probe()
939 if (bdata->button->wakeup) { in gpio_keys_enable_wakeup()
952 if (bdata->button->wakeup) in gpio_keys_enable_wakeup()