diff options
| author | Jens Arnold <amiconn@rockbox.org> | 2008-04-13 12:24:47 +0000 |
|---|---|---|
| committer | Jens Arnold <amiconn@rockbox.org> | 2008-04-13 12:24:47 +0000 |
| commit | 2bf4178018930b8af6d7082f7dd1a3302e09932b (patch) | |
| tree | 3f6e2177e31f09157fc782d4239b944a6f6d8963 /apps | |
| parent | 4c5a735a023755cedc264a4cad89f1ab0c256e17 (diff) | |
| download | rockbox-2bf4178018930b8af6d7082f7dd1a3302e09932b.zip rockbox-2bf4178018930b8af6d7082f7dd1a3302e09932b.tar.gz rockbox-2bf4178018930b8af6d7082f7dd1a3302e09932b.tar.bz2 rockbox-2bf4178018930b8af6d7082f7dd1a3302e09932b.tar.xz | |
Make mpegplayer sleep the disk after buffering to save battery. * Add a simulator stub for ata_sleep(), and un-ifdef most calls to it.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17096 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps')
| -rw-r--r-- | apps/buffering.c | 2 | ||||
| -rw-r--r-- | apps/plugin.c | 2 | ||||
| -rw-r--r-- | apps/plugin.h | 6 | ||||
| -rw-r--r-- | apps/plugins/clock/clock_settings.c | 2 | ||||
| -rw-r--r-- | apps/plugins/mpegplayer/disk_buf.c | 3 |
5 files changed, 7 insertions, 8 deletions
diff --git a/apps/buffering.c b/apps/buffering.c index 99a4a3b..f123d8f 100644 --- a/apps/buffering.c +++ b/apps/buffering.c @@ -813,11 +813,9 @@ static bool fill_buffer(void) } else { -#ifndef SIMULATOR /* only spin the disk down if the filling wasn't interrupted by an event arriving in the queue. */ ata_sleep(); -#endif return false; } } diff --git a/apps/plugin.c b/apps/plugin.c index 7a8e0e0..a7baa6d3 100644 --- a/apps/plugin.c +++ b/apps/plugin.c @@ -234,8 +234,8 @@ static const struct plugin_api rockbox_api = { fdprintf, read_line, settings_parseline, -#ifndef SIMULATOR ata_sleep, +#ifndef SIMULATOR ata_disk_is_active, #endif ata_spin, diff --git a/apps/plugin.h b/apps/plugin.h index c638688..2db38ed 100644 --- a/apps/plugin.h +++ b/apps/plugin.h @@ -120,12 +120,12 @@ #define PLUGIN_MAGIC 0x526F634B /* RocK */ /* increase this every time the api struct changes */ -#define PLUGIN_API_VERSION 107 +#define PLUGIN_API_VERSION 108 /* update this to latest version if a change to the api struct breaks backwards compatibility (and please take the opportunity to sort in any new function which are "waiting" at the end of the function table) */ -#define PLUGIN_MIN_API_VERSION 107 +#define PLUGIN_MIN_API_VERSION 108 /* plugin return codes */ enum plugin_status { @@ -331,8 +331,8 @@ struct plugin_api { int (*fdprintf)(int fd, const char *fmt, ...) ATTRIBUTE_PRINTF(2, 3); int (*read_line)(int fd, char* buffer, int buffer_size); bool (*settings_parseline)(char* line, char** name, char** value); -#ifndef SIMULATOR void (*ata_sleep)(void); +#ifndef SIMULATOR bool (*ata_disk_is_active)(void); #endif void (*ata_spin)(void); diff --git a/apps/plugins/clock/clock_settings.c b/apps/plugins/clock/clock_settings.c index fddea57..233be65 100644 --- a/apps/plugins/clock/clock_settings.c +++ b/apps/plugins/clock/clock_settings.c @@ -171,9 +171,7 @@ void load_settings(void){ draw_message(display, MESSAGE_ERRLOAD, 1); display->update(); } -#ifndef SIMULATOR rb->ata_sleep(); -#endif rb->sleep(HZ); } diff --git a/apps/plugins/mpegplayer/disk_buf.c b/apps/plugins/mpegplayer/disk_buf.c index 46a0602..7ecf51c 100644 --- a/apps/plugins/mpegplayer/disk_buf.c +++ b/apps/plugins/mpegplayer/disk_buf.c @@ -169,6 +169,7 @@ static inline void disk_buf_buffer(void) if (!stream_get_window(&sw)) { disk_buf.state = TSTATE_DATA; + rb->ata_sleep(); break; } @@ -183,6 +184,7 @@ static inline void disk_buf_buffer(void) /* Free space is less than one page */ disk_buf.state = TSTATE_DATA; disk_buf.low_wm = DISK_BUF_LOW_WATERMARK; + rb->ata_sleep(); break; } @@ -204,6 +206,7 @@ static inline void disk_buf_buffer(void) { /* Error or end of stream */ disk_buf.state = TSTATE_EOS; + rb->ata_sleep(); break; } |