summaryrefslogtreecommitdiff
path: root/firmware/target/arm
diff options
context:
space:
mode:
authorMichael Sevakis <jethead71@rockbox.org>2009-02-03 10:55:30 +0000
committerMichael Sevakis <jethead71@rockbox.org>2009-02-03 10:55:30 +0000
commite2a169bce53aff3e5fc300c00d3828129298d469 (patch)
tree94ebf4cc62c4a32d133ab1b6013363ad283981e8 /firmware/target/arm
parentaf5c4d1b272e1e05523e8ffdd0733104eaa3e199 (diff)
downloadrockbox-e2a169bce53aff3e5fc300c00d3828129298d469.tar.gz
rockbox-e2a169bce53aff3e5fc300c00d3828129298d469.zip
Gigabeat S: Get remote keymaps up to snuff and working. Do a couple tweaks on main unit ones. Cleanup keymap file a bit. Fix main button scanner to not clobber remote button. Fix a bug in actions.c where 'LAST_ITEM_IN_LIST' didn't really terminate scanning immediately. It would do an additional call into get_context_map and silently pick up ACTION_STD.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19909 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/target/arm')
-rw-r--r--firmware/target/arm/imx31/gigabeat-s/button-imx31.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/firmware/target/arm/imx31/gigabeat-s/button-imx31.c b/firmware/target/arm/imx31/gigabeat-s/button-imx31.c
index 9c35fb13da..d2a46f2c9f 100644
--- a/firmware/target/arm/imx31/gigabeat-s/button-imx31.c
+++ b/firmware/target/arm/imx31/gigabeat-s/button-imx31.c
@@ -55,8 +55,13 @@ static __attribute__((interrupt("IRQ"))) void KPP_HANDLER(void)
55 }; 55 };
56 56
57 int col; 57 int col;
58 /* Power button is handled separately on PMIC */ 58 /* Power button is handled separately on PMIC, remote read in headphone
59 * jack driver. */
60#ifdef HAVE_HEADPHONE_DETECTION
61 int button = int_btn & (BUTTON_POWER | BUTTON_REMOTE);
62#else
59 int button = int_btn & BUTTON_POWER; 63 int button = int_btn & BUTTON_POWER;
64#endif
60 65
61 int oldlevel = disable_irq_save(); 66 int oldlevel = disable_irq_save();
62 67
@@ -110,9 +115,9 @@ static __attribute__((interrupt("IRQ"))) void KPP_HANDLER(void)
110 else 115 else
111 KPP_KPSR |= KPP_KPSR_KDIE; 116 KPP_KPSR |= KPP_KPSR_KDIE;
112 117
113 restore_irq(oldlevel);
114
115 int_btn = button; 118 int_btn = button;
119
120 restore_irq(oldlevel);
116} 121}
117 122
118bool button_hold(void) 123bool button_hold(void)