Messages in this thread | | | Date | Mon, 12 May 2008 08:47:23 -0400 | From | "Mike Frysinger" <> | Subject | Re: [PATCH 1/1] [INPUT/KEYPAD] gpio keypad: Replace current blackfin specific pfbutton driver with kernel generic gpio key driver |
| |
On Mon, May 12, 2008 at 8:11 AM, Bryan Wu <cooloney@kernel.org> wrote: > On Mon, May 12, 2008 at 7:42 PM, Mike Frysinger <vapier.adi@gmail.com> wrote: >> On Mon, May 12, 2008 at 7:27 AM, pHilipp Zabel <philipp.zabel@gmail.com> wrote: >> > On Mon, May 12, 2008 at 12:17 PM, Bryan Wu <cooloney@kernel.org> wrote: >> >> From: Michael Hennerich <michael.hennerich@analog.com> >> >> >> >> It's an actual deficiency in the hardware that we can't address, >> >> so it needs to be worked around in software. >> >> >> >> Signed-off-by: Michael Hennerich <michael.hennerich@analog.com> >> >> Signed-off-by: Bryan Wu <cooloney@kernel.org> >> >> --- >> >> drivers/input/keyboard/gpio_keys.c | 15 ++++++++++++++- >> >> 1 files changed, 14 insertions(+), 1 deletions(-) >> >> >> >> diff --git a/drivers/input/keyboard/gpio_keys.c >> b/drivers/input/keyboard/gpio_keys.c >> >> index bbd00c3..d856eb9 100644 >> >> --- a/drivers/input/keyboard/gpio_keys.c >> >> +++ b/drivers/input/keyboard/gpio_keys.c >> >> @@ -26,6 +26,18 @@ >> >> >> >> #include <asm/gpio.h> >> >> >> >> +#if defined(CONFIG_BLACKFIN) && !defined(BF548_FAMILY) >> >> + >> >> +/* >> >> + * On some Blackfin CPUs reading edge triggered >> >> + * GPIOs doesn't return the current value >> >> + */ >> > >> > If this is a generic problem, shouldn't this be addressed inside gpio_get_value? >> >> it's an issue only when the GPIO is an interrupt source and the >> trigger condition is set to both rising and falling. but i guess your >> point is that in gpio_get_value(), we can check to see if these >> conditions are met and if so, temporarily fiddle things there ? >> >> Michael: that sounds reasonable, what do you think ? > > IMO, maybe it is feasible for fix this in generic GPIO layer, or will > break other things?
where are you referring to ? i think what's being proposed is to move these checks to arch/blackfin/kernel/bfin_gpio.c ... any call to gpio_get_value() under these circumstances will need the edge sense toggle ... -mike
| |