Bug in keyboard driver

Michael 'Mickey' Lauer mickey at openmoko.org
Thu Jul 10 16:32:01 CEST 2008


Am Donnerstag 08 Mai 2008 10:27:16 schrieb Andy Green:
> Somebody in the thread at some point said:
> | the KEY_PHONE is backwards. It returns up when pushed and down when
> | released. The following change fixes it:
> |
> | static irqreturn_t neo1973kbd_aux_irq(int irq, void *dev_id)
> | {
> |        struct neo1973kbd *neo1973kbd_data = dev_id;
> |
> | -       int key_pressed = !gpio_get_value(irq_to_gpio(irq));
> | +       int key_pressed = !!gpio_get_value(irq_to_gpio(irq));
> |        input_report_key(neo1973kbd_data->input, KEY_PHONE, key_pressed);
> |        input_sync(neo1973kbd_data->input);
>
> Thanks for the nice find -- I patchified it, signed it off by you and
> added it to stable / andy / andy-tracking.

This patch fixes it for GTA02, but inverts it for 01. Just verified with 
9c058ff0d2641df3c36fc3300acb72078d2c41d4 (stable).

Guess we need a if_machine_is_foo() here?

-- 
:M:




More information about the openmoko-kernel mailing list