diff options
author | Russell King <rmk+kernel@arm.linux.org.uk> | 2012-01-22 15:05:24 -0500 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2012-02-18 18:15:43 -0500 |
commit | 33237616771bfc29a97f17e74efe3799bb790343 (patch) | |
tree | 4ad660084434e190150dab67170d3b65cf2e8a3a /include/linux/mfd | |
parent | a3364409c4af8bae42d04def48dc11409787e503 (diff) |
MFD: ucb1x00-core: add wakeup support
Add genirq wakeup support for the ucb1x00 device. This allows an
attached gpio_keys driver to wakeup the system. Touchscreen is also
possible.
When there are no wakeup sources, ask the platform to assert the reset
signal to avoid any unexpected behaviour; this also puts the reset
signal at the right level when power is removed from the device.
Acked-by: Jochen Friedrich <jochen@scram.de>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'include/linux/mfd')
-rw-r--r-- | include/linux/mfd/ucb1x00.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/include/linux/mfd/ucb1x00.h b/include/linux/mfd/ucb1x00.h index 6fb907446c33..28af41756360 100644 --- a/include/linux/mfd/ucb1x00.h +++ b/include/linux/mfd/ucb1x00.h | |||
@@ -106,6 +106,8 @@ | |||
106 | 106 | ||
107 | enum ucb1x00_reset { | 107 | enum ucb1x00_reset { |
108 | UCB_RST_PROBE, | 108 | UCB_RST_PROBE, |
109 | UCB_RST_RESUME, | ||
110 | UCB_RST_SUSPEND, | ||
109 | UCB_RST_REMOVE, | 111 | UCB_RST_REMOVE, |
110 | UCB_RST_PROBE_FAIL, | 112 | UCB_RST_PROBE_FAIL, |
111 | }; | 113 | }; |
@@ -114,6 +116,7 @@ struct ucb1x00_plat_data { | |||
114 | void (*reset)(enum ucb1x00_reset); | 116 | void (*reset)(enum ucb1x00_reset); |
115 | unsigned irq_base; | 117 | unsigned irq_base; |
116 | int gpio_base; | 118 | int gpio_base; |
119 | unsigned can_wakeup; | ||
117 | }; | 120 | }; |
118 | 121 | ||
119 | struct ucb1x00 { | 122 | struct ucb1x00 { |
@@ -130,6 +133,7 @@ struct ucb1x00 { | |||
130 | u16 irq_fal_enbl; | 133 | u16 irq_fal_enbl; |
131 | u16 irq_ris_enbl; | 134 | u16 irq_ris_enbl; |
132 | u16 irq_mask; | 135 | u16 irq_mask; |
136 | u16 irq_wake; | ||
133 | struct device dev; | 137 | struct device dev; |
134 | struct list_head node; | 138 | struct list_head node; |
135 | struct list_head devs; | 139 | struct list_head devs; |