Re: arm: mach-kirkwood: Make the red led available on the eSATASheevaPlug

From: Sean Young
Date: Mon Apr 18 2011 - 07:43:35 EST


On Mon, Apr 18, 2011 at 10:25:36AM +0100, Robin Becker wrote:
> On 16/04/2011 23:08, Sean Young wrote:
> >After this patch:
> >
> > 7780c80 arm: mach-kirkwood: add led in sheevaplug-setup.c
> >
> >On a eSATA SheevaPlug, neither the red nor the green led can be controlled,
> >since probing fails with:
> >
> >[ 6.188278] leds-gpio: probe of leds-gpio failed with error -22
> >
> >Signed-off-by: Sean Young<sean@xxxxxxxx>
> >
> >diff --git a/arch/arm/mach-kirkwood/sheevaplug-setup.c b/arch/arm/mach-kirkwood/sheevaplug-setup.c
> >index 17de0bf..92db979 100644
> >--- a/arch/arm/mach-kirkwood/sheevaplug-setup.c
> >+++ b/arch/arm/mach-kirkwood/sheevaplug-setup.c
> >@@ -94,6 +94,7 @@ static unsigned int sheevaplug_mpp_config[] __initdata = {
> > static unsigned int sheeva_esata_mpp_config[] __initdata = {
> > MPP29_GPIO, /* USB Power Enable */
> > MPP44_GPIO, /* SD Write Protect */
> >+ MPP46_GPIO, /* LED Red */
> > MPP47_GPIO, /* SD Card Detect */
> > MPP49_GPIO, /* LED Green */
> > 0
> >
>
> I think my original patch had some changes to gpio_led
> sheevaplug_led_pins as well.

Yes, which causes breakage on my eSATA SheevaPlug without my patch above,
since the corresponding GPIO pins aren't enabled.

> It definitely works on my standard
> sheeva plug. In fact I have three controllable leds at 46, 48 & 49.
> GPIO 45 is also an led, but is also grounded so is permanently on.
> This is something like the patch I am using with plugbox
>
> diff --git a/arch/arm/mach-kirkwood/sheevaplug-setup.c b/arch/arm/mach-kirkwood/
> index d2eec35..e14893b 100644
> --- a/arch/arm/mach-kirkwood/sheevaplug-setup.c
> +++ b/arch/arm/mach-kirkwood/sheevaplug-setup.c
> @@ -58,7 +58,19 @@
>
> static struct gpio_led sheevaplug_led_pins[] = {
> {
> - .name = "plug:green:health",
> + .name = "status:red:misc",
> + .default_trigger = "none",
> + .gpio = 46,
> + .active_low = 1,
> + },
> + {
> + .name = "status:green:health",
> + .default_trigger = "none",
> + .gpio = 48,
> + .active_low = 1,
> + },
> + {
> + .name = "status:blue:health",
> .default_trigger = "default-on",
> .gpio = 49,
> .active_low = 1,
> @@ -80,7 +92,9 @@
>
> static unsigned int sheevaplug_mpp_config[] __initdata = {
> MPP29_GPIO, /* USB Power Enable */
> - MPP49_GPIO, /* LED */
> + MPP46_GPIO, /* LED Red Misc */
> + MPP48_GPIO, /* LED Green Health */
> + MPP49_GPIO, /* LED Blue Health */
> 0
> };
>

First of all, your mail client has replaced tabs with spaces, causing
the patch to be garbage.

Again you're not enabling the GPIO pins on the eSATA SheevaPlug for the
leds you're adding. For the eSATA SheevaPlug sheeva_esata_mpp_config[]
is used, not sheevaplug_mpp_config[], causing this patch and
2.6.39-rc? to break on the eSATA SheevaPlug.


Sean
--
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/