summaryrefslogtreecommitdiff
path: root/firmware/target/arm/imx31/gigabeat-s/button-gigabeat-s.c
diff options
context:
space:
mode:
authorMichael Sevakis <jethead71@rockbox.org>2017-01-28 14:43:35 -0500
committerMichael Sevakis <jethead71@rockbox.org>2017-01-29 19:07:55 -0500
commit2220a4b695f2f5ac9fe212de4bcfa5365318136f (patch)
treeef0b31d798b12cbc5cd61e3f020f1856c1759db4 /firmware/target/arm/imx31/gigabeat-s/button-gigabeat-s.c
parentd4303ac900bae6b0fd2320db33bdb4f10861a430 (diff)
downloadrockbox-2220a4b695f2f5ac9fe212de4bcfa5365318136f.tar.gz
rockbox-2220a4b695f2f5ac9fe212de4bcfa5365318136f.zip
Improve imx31 interrupt code for PMIC and GPIO
Fix stuff that was bugging me about the way I did it at first. While messing around I found RDS code wasn't masking its GPIO ISR as it should, which might lead to two different interrupts messing with the static data. Change-Id: I54626809ea3039a842af0cc9e3e42853326c4193
Diffstat (limited to 'firmware/target/arm/imx31/gigabeat-s/button-gigabeat-s.c')
-rw-r--r--firmware/target/arm/imx31/gigabeat-s/button-gigabeat-s.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/firmware/target/arm/imx31/gigabeat-s/button-gigabeat-s.c b/firmware/target/arm/imx31/gigabeat-s/button-gigabeat-s.c
index 3972e5722f..cdd6da041b 100644
--- a/firmware/target/arm/imx31/gigabeat-s/button-gigabeat-s.c
+++ b/firmware/target/arm/imx31/gigabeat-s/button-gigabeat-s.c
@@ -157,9 +157,9 @@ static void power_button_update(bool pressed)
157} 157}
158 158
159/* Power button event - called from PMIC ISR */ 159/* Power button event - called from PMIC ISR */
160void button_power_event(void) 160void MC13783_EVENT_CB_ONOFD1(void)
161{ 161{
162 power_button_update(!mc13783_event_sense(MC13783_ONOFD1_EVENT)); 162 power_button_update(!mc13783_event_sense());
163} 163}
164 164
165void button_init_device(void) 165void button_init_device(void)
@@ -197,7 +197,7 @@ void button_init_device(void)
197 197
198 power_button_update(!(mc13783_read(MC13783_INTERRUPT_SENSE1) 198 power_button_update(!(mc13783_read(MC13783_INTERRUPT_SENSE1)
199 & MC13783_ONOFD1S)); 199 & MC13783_ONOFD1S));
200 mc13783_enable_event(MC13783_ONOFD1_EVENT, true); 200 mc13783_enable_event(MC13783_INT_ID_ONOFD1, true);
201 201
202#ifdef HAVE_HEADPHONE_DETECTION 202#ifdef HAVE_HEADPHONE_DETECTION
203 headphone_init(); 203 headphone_init();
@@ -213,7 +213,7 @@ void button_close_device(void)
213 /* Assumes HP detection is not available */ 213 /* Assumes HP detection is not available */
214 initialized = false; 214 initialized = false;
215 215
216 mc13783_enable_event(MC13783_ONOFD1_EVENT, false); 216 mc13783_enable_event(MC13783_INT_ID_ONOFD1, false);
217 ext_btn = BUTTON_NONE; 217 ext_btn = BUTTON_NONE;
218} 218}
219#endif /* BUTTON_DRIVER_CLOSE */ 219#endif /* BUTTON_DRIVER_CLOSE */