diff options
author | lars <lars@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2010-03-08 20:34:01 +0000 |
---|---|---|
committer | lars <lars@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2010-03-08 20:34:01 +0000 |
commit | 114dc323efd1ade4c42c019acd438303bd50c00c (patch) | |
tree | 3d81c3b01b6e8a8fcbe79037ddb20ead304e5380 /target/linux/xburst/files-2.6.32/arch/mips/jz4740/gpio.c | |
parent | 66703ccb3299a6b0352aac3b10a6d813ae9280d9 (diff) |
[xbrust] Fix gpio and irq wakeup irq handling.
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@20070 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/xburst/files-2.6.32/arch/mips/jz4740/gpio.c')
-rw-r--r-- | target/linux/xburst/files-2.6.32/arch/mips/jz4740/gpio.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/target/linux/xburst/files-2.6.32/arch/mips/jz4740/gpio.c b/target/linux/xburst/files-2.6.32/arch/mips/jz4740/gpio.c index ccaa0602a..df5df5cd0 100644 --- a/target/linux/xburst/files-2.6.32/arch/mips/jz4740/gpio.c +++ b/target/linux/xburst/files-2.6.32/arch/mips/jz4740/gpio.c @@ -446,6 +446,7 @@ int jz_gpio_suspend(void) gpio = chip->gpio_chip.base; chip->suspend_mask = readl(GPIO_TO_REG(gpio, JZ_REG_GPIO_MASK)); writel(~(chip->wakeup), GPIO_TO_REG(gpio, JZ_REG_GPIO_MASK_SET)); + writel(chip->wakeup, GPIO_TO_REG(gpio, JZ_REG_GPIO_MASK_CLEAR)); } chip = jz_gpio_chips; @@ -459,7 +460,10 @@ int jz_gpio_resume(void) int i; for (i = 0; i < ARRAY_SIZE(jz_gpio_chips); ++i, ++chip) { - writel(~(chip->suspend_mask), GPIO_TO_REG(chip->gpio_chip.base, JZ_REG_GPIO_MASK_CLEAR)); + writel(~(chip->suspend_mask), GPIO_TO_REG(chip->gpio_chip.base, + JZ_REG_GPIO_MASK_CLEAR)); + writel(chip->suspend_mask, GPIO_TO_REG(chip->gpio_chip.base, + JZ_REG_GPIO_MASK_SET)); } return 0; |