diff options
author | Shiraz Hashim <shiraz.hashim@st.com> | 2012-07-13 03:11:10 -0400 |
---|---|---|
committer | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2012-07-13 03:14:01 -0400 |
commit | 8314f532ebd55f1d6dc23b143cda3c1714ffe201 (patch) | |
tree | f9845473fd28cbcc33c3ac4de1427c1f58b82a28 /arch/arm | |
parent | 53fe628558bab9a11050ba067a09442c92dca6bb (diff) |
Input: spear_keyboard - reconfigure operating frequency on suspend
On some platform it may happen that the input clock to keyboard may
change during suspend, thus impacting its wakeup capability.
There is no means for keyboard driver to know this frequency before
hand. Hence introduce a platform data 'suspended_rate' which indicates
the frequency during suspend at which keyboard operates.
Accordingly reprogram keyboard while going into suspend and restore
original configuration at the time of resume.
Signed-off-by: Shiraz Hashim <shiraz.hashim@st.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Diffstat (limited to 'arch/arm')
-rw-r--r-- | arch/arm/plat-spear/include/plat/keyboard.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/arm/plat-spear/include/plat/keyboard.h b/arch/arm/plat-spear/include/plat/keyboard.h index 0562f134621d..9248e3a7e333 100644 --- a/arch/arm/plat-spear/include/plat/keyboard.h +++ b/arch/arm/plat-spear/include/plat/keyboard.h | |||
@@ -149,6 +149,7 @@ int _name[] = { \ | |||
149 | * keymap: pointer to keymap data (table and size) | 149 | * keymap: pointer to keymap data (table and size) |
150 | * rep: enables key autorepeat | 150 | * rep: enables key autorepeat |
151 | * mode: choose keyboard support(9x9, 6x6, 2x2) | 151 | * mode: choose keyboard support(9x9, 6x6, 2x2) |
152 | * suspended_rate: rate at which keyboard would operate in suspended mode | ||
152 | * | 153 | * |
153 | * This structure is supposed to be used by platform code to supply | 154 | * This structure is supposed to be used by platform code to supply |
154 | * keymaps to drivers that implement keyboards. | 155 | * keymaps to drivers that implement keyboards. |
@@ -157,6 +158,7 @@ struct kbd_platform_data { | |||
157 | const struct matrix_keymap_data *keymap; | 158 | const struct matrix_keymap_data *keymap; |
158 | bool rep; | 159 | bool rep; |
159 | unsigned int mode; | 160 | unsigned int mode; |
161 | unsigned int suspended_rate; | ||
160 | }; | 162 | }; |
161 | 163 | ||
162 | #endif /* __PLAT_KEYBOARD_H */ | 164 | #endif /* __PLAT_KEYBOARD_H */ |