Fair enough -- might take a little time though; holidays beckon!
Regards
Mike

On 5 Jul 2013, at 14:32, Jonas Gorski <j...@openwrt.org> wrote:

> On Fri, Jul 5, 2013 at 11:45 AM, Mike Brady <mikebr...@eircom.net> wrote:
>> This match modifies the setup file for the Linksys NSLU2 ("slug") to
>> allow the power button on the front and the reset button on the back,
>> behind a pinhole, to be seen by gpio-keys.
>> 
>> The present situation is that neither button can be used effectively
>> and this patch is designed to fix that. At present, both buttons are
>> hard-coded as follows: The power button sends a "ctrlaltdel" signal
>> which can be intercepted via /etc/inittab
>> (see http://wiki.openwrt.org/toh/linksys/nslu2/nslu2.hardware.button).
>> Unfortunately, the button isn't debounced, so the signal is sent many times,
>> and in addition (I think) it runs as an interrupt handler. It interferes
>> with other processes, e.g. pppd. The reset button powers the machine
>> off directly.
>> 
>> This patch fixes the situation by making the buttons accessible
>> in the normal way via gpio-keys so that they can be used in the normal way.
>> 
>> Signed-off-by Mike Brady <mikebr...@eircom.net>
> 
> I like the approach. It would be nice if you could also add scripts
> for those buttons to keep the reset/shutdown behaviour of the buttons
> by default (I just want to avoid tickets that these buttons suddenly
> don't work anymore ;).
> 
> Some additional comments below ...
> 
>> Index: target/linux/ixp4xx/patches-3.10/920-nslu2-add-gpio-keys.patch
>> ===================================================================
>> --- target/linux/ixp4xx/patches-3.10/920-nslu2-add-gpio-keys.patch      
>> (revision 0)
>> +++ target/linux/ixp4xx/patches-3.10/920-nslu2-add-gpio-keys.patch      
>> (revision 0)
>> @@ -0,0 +1,116 @@
>> +--- a/arch/arm/mach-ixp4xx/nslu2-setup.c
>> ++++ b/arch/arm/mach-ixp4xx/nslu2-setup.c
>> +@@ -9,6 +9,8 @@
>> +  *      Copyright (C) 2003-2004 MontaVista Software, Inc.
>> +  * based on nslu2-power.c:
>> +  *    Copyright (C) 2005 Tower Technologies
>> ++ * modified to allow the use of gpio-keys to sense the power and reset 
>> buttons,
>> ++ *    July 5, 2013 by Mike Brady <mikebr...@eircom.net>.
>> +  *
>> +  * Author: Mark Rakes <mrakes at mac.com>
>> +  * Author: Rod Whitby <r...@whitby.id.au>
>> +@@ -26,6 +28,8 @@
>> + #include <linux/i2c.h>
>> + #include <linux/i2c-gpio.h>
>> + #include <linux/io.h>
>> ++#include <linux/gpio_keys.h>
>> ++#include <linux/input.h>
>> + #include <asm/mach-types.h>
>> + #include <asm/mach/arch.h>
>> + #include <asm/mach/flash.h>
>> +@@ -186,11 +190,46 @@ static struct platform_device nslu2_eth[
>> +       }
>> + };
>> +
>> ++/*
>> ++ * Buttons attached to GPIO. Used to permit gpio-keys to see them
>> ++ * The Power Button is towards the bottom on the front.
>> ++ * The Reset Button is behind a pinhole at the back.
>> ++ */
>> ++static struct gpio_keys_button nslu2_buttons[] = {
>> ++      {
>> ++              .code           = BTN_0,
> 
> It's a power button, so KEY_POWER would be more appropriate.
> 
>> ++              .gpio           = NSLU2_PB_GPIO,
>> ++              .desc           = "nslu2-power-button",
>> ++              .type       = EV_KEY,
>> ++      }, {
>> ++              .code           = BTN_1,
> 
> And here KEY_RESTART.
> 
>> ++              .gpio           = NSLU2_RB_GPIO,
>> ++              .desc           = "nslu2-reset-button",
>> ++              .type       = EV_KEY,
>> ++              .active_low     = 1,
>> ++      },
>> ++};
>> ++
> 
> 
> 
> Regards,
> Jonas
> _______________________________________________
> openwrt-devel mailing list
> openwrt-devel@lists.openwrt.org
> https://lists.openwrt.org/mailman/listinfo/openwrt-devel

_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel

Reply via email to