Re: Latest gpio gumph

From: David Brownell
Date: Wed May 28 2008 - 00:44:43 EST


On Tuesday 27 May 2008, Ben Nizette wrote:
> Hey David,
>
> Have you got a git/quilt repo somewhere with all the latest gpiolib (and
> gpio framework) stuff glued in? I've seen most of it hit -mm but
> developing against -mm on (especially on obscure archs like AVR32 as I
> do) is always fraught.

All the relevant stuff is now upstream (2.6.26-rc4) except:

- the userspace sysfs interface (which is in MM, and ISTR
you were cc'd on that)

- an avr32 patch, appended (no response on the avr32 list)

Nothing else touches core code; if you're using AVR32, then
you won't care about at91 gpiolib and inlining support, or the
patch sent this AM on LKML (which I've not yet reviewed).

- Dave



====== CUT HERE
From: David Brownell <dbrownell@xxxxxxxxxxxxxxxxxxxxx>
Subject: AVR32: minor GPIO handling updates

* gpio_direction_output() should disable the pullups just like
at32_select_gpio(... AT32_GPIOF_OUTPUT) does, for consistency
between those alternative initialization paths.

* On the odd chance some code uses a pin as a GPIO IRQ without
calling gpio_request() or gpio_direction_input(), the debug
dump should still show its pin status.

Signed-off-by: David Brownell <dbrownell@xxxxxxxxxxxxxxxxxxxxx>
---
arch/avr32/mach-at32ap/pio.c | 3 +++
1 files changed, 3 insertions(+)

--- a/arch/avr32/mach-at32ap/pio.c 2008-05-02 12:30:59.000000000 -0700
+++ b/arch/avr32/mach-at32ap/pio.c 2008-05-02 12:41:29.000000000 -0700
@@ -191,6 +191,7 @@ static int direction_output(struct gpio_
return -EINVAL;

gpio_set(chip, offset, value);
+ pio_writel(pio, PUDR, mask);
pio_writel(pio, OER, mask);
return 0;
}
@@ -318,6 +319,8 @@ static void pio_bank_show(struct seq_fil
const char *label;

label = gpiochip_is_requested(chip, i);
+ if (!label && (imr & mask))
+ label = "[irq]";
if (!label)
continue;

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/