diff options
author | Jens Arnold <amiconn@rockbox.org> | 2007-03-11 22:27:35 +0000 |
---|---|---|
committer | Jens Arnold <amiconn@rockbox.org> | 2007-03-11 22:27:35 +0000 |
commit | 1b3fc39a658644b85800a900ab7c56303d163aa9 (patch) | |
tree | 38b0ea1a3097dce73b0aaf1823f76daa00d99113 /firmware/drivers | |
parent | e814bb66b3e826bc04ecbf68a3126aa17c363655 (diff) | |
download | rockbox-1b3fc39a658644b85800a900ab7c56303d163aa9.tar.gz rockbox-1b3fc39a658644b85800a900ab7c56303d163aa9.zip |
Make private function static on variable CPU frequency targets. Kill it on fixed frequency targets, regaining 1/3 of the waste on archos...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12731 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/drivers')
-rw-r--r-- | firmware/drivers/button.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/firmware/drivers/button.c b/firmware/drivers/button.c index 7c5858a1e3..dcf77ff661 100644 --- a/firmware/drivers/button.c +++ b/firmware/drivers/button.c | |||
@@ -256,7 +256,8 @@ static void button_tick(void) | |||
256 | lastbtn = btn & ~(BUTTON_REL | BUTTON_REPEAT); | 256 | lastbtn = btn & ~(BUTTON_REL | BUTTON_REPEAT); |
257 | } | 257 | } |
258 | 258 | ||
259 | void button_boost(bool state) | 259 | #ifdef HAVE_ADJUSTABLE_CPU_FREQ |
260 | static void button_boost(bool state) | ||
260 | { | 261 | { |
261 | static bool boosted = false; | 262 | static bool boosted = false; |
262 | 263 | ||
@@ -271,17 +272,20 @@ void button_boost(bool state) | |||
271 | boosted = false; | 272 | boosted = false; |
272 | } | 273 | } |
273 | } | 274 | } |
275 | #endif /* HAVE_ADJUSTABLE_CPU_FREQ */ | ||
274 | 276 | ||
275 | long button_get(bool block) | 277 | long button_get(bool block) |
276 | { | 278 | { |
277 | struct event ev; | 279 | struct event ev; |
278 | int pending_count = queue_count(&button_queue); | 280 | int pending_count = queue_count(&button_queue); |
279 | 281 | ||
282 | #ifdef HAVE_ADJUSTABLE_CPU_FREQ | ||
280 | /* Control the CPU boost trying to keep queue empty. */ | 283 | /* Control the CPU boost trying to keep queue empty. */ |
281 | if (pending_count == 0) | 284 | if (pending_count == 0) |
282 | button_boost(false); | 285 | button_boost(false); |
283 | else if (pending_count > 2) | 286 | else if (pending_count > 2) |
284 | button_boost(true); | 287 | button_boost(true); |
288 | #endif | ||
285 | 289 | ||
286 | if ( block || pending_count ) | 290 | if ( block || pending_count ) |
287 | { | 291 | { |
@@ -296,11 +300,13 @@ long button_get_w_tmo(int ticks) | |||
296 | { | 300 | { |
297 | struct event ev; | 301 | struct event ev; |
298 | 302 | ||
303 | #ifdef HAVE_ADJUSTABLE_CPU_FREQ | ||
299 | /* Be sure to keep boosted state. */ | 304 | /* Be sure to keep boosted state. */ |
300 | if (!queue_empty(&button_queue)) | 305 | if (!queue_empty(&button_queue)) |
301 | return button_get(true); | 306 | return button_get(true); |
302 | 307 | ||
303 | button_boost(false); | 308 | button_boost(false); |
309 | #endif | ||
304 | 310 | ||
305 | queue_wait_w_tmo(&button_queue, &ev, ticks); | 311 | queue_wait_w_tmo(&button_queue, &ev, ticks); |
306 | return (ev.id != SYS_TIMEOUT)? ev.id: BUTTON_NONE; | 312 | return (ev.id != SYS_TIMEOUT)? ev.id: BUTTON_NONE; |