diff options
author | Paul Parsons <lost.distance@yahoo.com> | 2012-05-02 11:49:24 -0400 |
---|---|---|
committer | Haojian Zhuang <haojian.zhuang@gmail.com> | 2012-05-02 21:51:20 -0400 |
commit | e949f93c591352f0376fdd192b4060a38c102ba5 (patch) | |
tree | 207fcd8c715847a2b38d5071faacb90bb6586d31 /arch/arm/mach-pxa/hx4700.c | |
parent | 89619d44eec8ed95b3b62b2fd6ddc56aeea41a95 (diff) |
ARM: pxa: hx4700: Enable ASIC3 GPIO as a wakeup source
This patch enables the ASIC3 GPIO (12) as a wakeup source:
1. Set the WAKEUP_ON_EDGE_RISE MFP config bits for GPIO12 in
hx4700_pin_config[].
2. Call gpio_set_wake() for GPIO12.
With GPIO12 thus enabled, the mfd/asic3 driver can enable its own GPIOs
as wakeup sources by implementing a irq_set_wake() handler.
Signed-off-by: Paul Parsons <lost.distance@yahoo.com>
Cc: Philipp Zabel <philipp.zabel@gmail.com>
Signed-off-by: Haojian Zhuang <haojian.zhuang@gmail.com>
Diffstat (limited to 'arch/arm/mach-pxa/hx4700.c')
-rw-r--r-- | arch/arm/mach-pxa/hx4700.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/arm/mach-pxa/hx4700.c b/arch/arm/mach-pxa/hx4700.c index fe8fb7adcac8..2fe0fa0cb383 100644 --- a/arch/arm/mach-pxa/hx4700.c +++ b/arch/arm/mach-pxa/hx4700.c | |||
@@ -125,7 +125,7 @@ static unsigned long hx4700_pin_config[] __initdata = { | |||
125 | GPIO88_GPIO, | 125 | GPIO88_GPIO, |
126 | 126 | ||
127 | /* HX4700 specific input GPIOs */ | 127 | /* HX4700 specific input GPIOs */ |
128 | GPIO12_GPIO, /* ASIC3_IRQ */ | 128 | GPIO12_GPIO | WAKEUP_ON_EDGE_RISE, /* ASIC3_IRQ */ |
129 | GPIO13_GPIO, /* W3220_IRQ */ | 129 | GPIO13_GPIO, /* W3220_IRQ */ |
130 | GPIO14_GPIO, /* nWLAN_IRQ */ | 130 | GPIO14_GPIO, /* nWLAN_IRQ */ |
131 | 131 | ||
@@ -860,6 +860,7 @@ static void __init hx4700_init(void) | |||
860 | int ret; | 860 | int ret; |
861 | 861 | ||
862 | pxa2xx_mfp_config(ARRAY_AND_SIZE(hx4700_pin_config)); | 862 | pxa2xx_mfp_config(ARRAY_AND_SIZE(hx4700_pin_config)); |
863 | gpio_set_wake(GPIO12_HX4700_ASIC3_IRQ, 1); | ||
863 | ret = gpio_request_array(ARRAY_AND_SIZE(global_gpios)); | 864 | ret = gpio_request_array(ARRAY_AND_SIZE(global_gpios)); |
864 | if (ret) | 865 | if (ret) |
865 | pr_err ("hx4700: Failed to request GPIOs.\n"); | 866 | pr_err ("hx4700: Failed to request GPIOs.\n"); |