diff options
Diffstat (limited to 'target/linux/ixp4xx/patches-2.6.23/016-dsmg600_auto_power_on.patch')
-rw-r--r-- | target/linux/ixp4xx/patches-2.6.23/016-dsmg600_auto_power_on.patch | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/target/linux/ixp4xx/patches-2.6.23/016-dsmg600_auto_power_on.patch b/target/linux/ixp4xx/patches-2.6.23/016-dsmg600_auto_power_on.patch new file mode 100644 index 0000000..25709da --- /dev/null +++ b/target/linux/ixp4xx/patches-2.6.23/016-dsmg600_auto_power_on.patch @@ -0,0 +1,36 @@ +--- + arch/arm/mach-ixp4xx/dsmg600-power.c | 13 +++++++++---- + 1 file changed, 9 insertions(+), 4 deletions(-) + +Index: linux-2.6.22-rc5-armeb/arch/arm/mach-ixp4xx/dsmg600-power.c +=================================================================== +--- linux-2.6.22-rc5-armeb.orig/arch/arm/mach-ixp4xx/dsmg600-power.c ++++ linux-2.6.22-rc5-armeb/arch/arm/mach-ixp4xx/dsmg600-power.c +@@ -50,6 +50,13 @@ + if (*IXP4XX_GPIO_GPINR & DSMG600_PB_BM) { + + /* IO Pin is 1 (button pushed) */ ++ if (power_button_countdown > 0) { ++ power_button_countdown--; ++ } ++ ++ } else { ++ ++ /* Done on button release, to allow for auto-power-on mods. */ + if (power_button_countdown == 0) { + /* Signal init to do the ctrlaltdel action, this will bypass + * init if it hasn't started and do a kernel_restart. +@@ -58,11 +65,9 @@ + + /* Change the state of the power LED to "blink" */ + gpio_line_set(DSMG600_LED_PWR_GPIO, IXP4XX_GPIO_LOW); ++ } else { ++ power_button_countdown = PBUTTON_HOLDDOWN_COUNT; + } +- power_button_countdown--; +- +- } else { +- power_button_countdown = PBUTTON_HOLDDOWN_COUNT; + } + + mod_timer(&dsmg600_power_timer, jiffies + msecs_to_jiffies(500)); |