Lines Matching refs:button
87 * it seems that 0xFE indicates that a button is still hold
88 * down, while 0xff indicates that no button is hold down.
516 const struct em28xx_button *button;
518 button = &dev->board.buttons[j];
520 /* Check if button uses the current address */
521 if (button->reg_r != dev->button_polling_addresses[i]) {
525 /* Determine if button is and was pressed last time */
526 is_pressed = regval & button->mask;
528 & button->mask;
529 if (button->inverted) {
533 /* Clear button state (if needed) */
534 if (is_pressed && button->reg_clearing)
535 em28xx_write_reg(dev, button->reg_clearing,
536 (~regval & button->mask)
537 | (regval & ~button->mask));
538 /* Handle button state */
543 switch (button->role) {
562 WARN_ONCE(1, "BUG: unhandled button role.");
564 /* Next button */
581 dev_info(&dev->intf->dev, "Registering snapshot button...\n");
591 input_dev->name = "em28xx snapshot button";
619 const struct em28xx_button *button = &dev->board.buttons[i];
624 if (button->reg_r == dev->button_polling_addresses[j]) {
632 WARN_ONCE(1, "BUG: maximum number of button polling addresses exceeded.");
636 if (button->role == EM28XX_BUTTON_SNAPSHOT) {
640 } else if (button->role == EM28XX_BUTTON_ILLUMINATION) {
644 "BUG: illumination button defined, but no illumination LED.\n");
652 dev->button_polling_addresses[index] = button->reg_r;
656 if (!button->reg_clearing)
660 /* Next button */
681 dev_info(&dev->intf->dev, "Deregistering snapshot button\n");