summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrank Gevaerts <frank@gevaerts.be>2008-10-07 19:37:33 +0000
committerFrank Gevaerts <frank@gevaerts.be>2008-10-07 19:37:33 +0000
commit46573019a53dca411f754d40d0f21c1e4eafaedf (patch)
treefa2f3baf19b8bc7ed25b709c7dda76272e85a57c
parent23b7e957708ff7272ed10cbeae24cf9fd7d7ad65 (diff)
downloadrockbox-46573019a53dca411f754d40d0f21c1e4eafaedf.tar.gz
rockbox-46573019a53dca411f754d40d0f21c1e4eafaedf.zip
add HAVE_DISK_STORAGE, and use that instead of HAVE_FLASH_STORAGE when checking for an actual disk (i.e. related to spindown, skipping,...)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18735 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--apps/features.txt4
-rw-r--r--apps/menus/playback_menu.c6
-rw-r--r--apps/menus/settings_menu.c8
-rw-r--r--apps/playback.c6
-rw-r--r--apps/playlist.c2
-rw-r--r--apps/plugins/jpeg.c4
-rw-r--r--apps/plugins/mpegplayer/stream_mgr.h2
-rw-r--r--apps/plugins/video.c2
-rw-r--r--apps/settings.c4
-rw-r--r--apps/settings.h2
-rw-r--r--apps/settings_list.c8
-rw-r--r--apps/tagtree.c2
-rw-r--r--firmware/export/audio.h2
-rw-r--r--firmware/export/config-creativezv.h4
-rw-r--r--firmware/export/config-creativezvm.h4
-rw-r--r--firmware/export/config-creativezvm60gb.h4
-rw-r--r--firmware/export/config-fmrecorder.h4
-rw-r--r--firmware/export/config-gigabeat-s.h4
-rw-r--r--firmware/export/config-gigabeat.h4
-rw-r--r--firmware/export/config-h10.h4
-rw-r--r--firmware/export/config-h100.h4
-rw-r--r--firmware/export/config-h10_5gb.h4
-rw-r--r--firmware/export/config-h120.h4
-rw-r--r--firmware/export/config-h300.h4
-rwxr-xr-xfirmware/export/config-hdd1630.h4
-rw-r--r--firmware/export/config-iaudiom3.h4
-rw-r--r--firmware/export/config-iaudiom5.h4
-rw-r--r--firmware/export/config-iaudiox5.h4
-rw-r--r--firmware/export/config-ipod1g2g.h4
-rw-r--r--firmware/export/config-ipod3g.h4
-rw-r--r--firmware/export/config-ipod4g.h4
-rw-r--r--firmware/export/config-ipodcolor.h4
-rw-r--r--firmware/export/config-ipodmini.h4
-rw-r--r--firmware/export/config-ipodmini2g.h4
-rw-r--r--firmware/export/config-ipodvideo.h4
-rw-r--r--firmware/export/config-mrobe100.h4
-rw-r--r--firmware/export/config-mrobe500.h4
-rw-r--r--firmware/export/config-player.h4
-rw-r--r--firmware/export/config-recorder.h4
-rw-r--r--firmware/export/config-recorderv2.h4
-rw-r--r--firmware/export/config-tpj1022.h4
-rw-r--r--firmware/mpeg.c2
-rw-r--r--firmware/usb.c2
43 files changed, 142 insertions, 26 deletions
diff --git a/apps/features.txt b/apps/features.txt
index 2aa6035388..84edad1a61 100644
--- a/apps/features.txt
+++ b/apps/features.txt
@@ -36,6 +36,10 @@ dircache
36flash_storage 36flash_storage
37#endif 37#endif
38 38
39#if defined(HAVE_DISK_STORAGE)
40disk_storage
41#endif
42
39#if defined(HAVE_HEADPHONE_DETECTION) 43#if defined(HAVE_HEADPHONE_DETECTION)
40headphone_detection 44headphone_detection
41#endif 45#endif
diff --git a/apps/menus/playback_menu.c b/apps/menus/playback_menu.c
index eb1597948b..5d1421b966 100644
--- a/apps/menus/playback_menu.c
+++ b/apps/menus/playback_menu.c
@@ -67,7 +67,7 @@ MENUITEM_SETTING(ff_rewind_accel, &global_settings.ff_rewind_accel, NULL);
67MENUITEM_SETTING(ff_rewind_min_step, &global_settings.ff_rewind_min_step, NULL); 67MENUITEM_SETTING(ff_rewind_min_step, &global_settings.ff_rewind_min_step, NULL);
68MAKE_MENU(ff_rewind_settings_menu, ID2P(LANG_WIND_MENU), 0, Icon_NOICON, 68MAKE_MENU(ff_rewind_settings_menu, ID2P(LANG_WIND_MENU), 0, Icon_NOICON,
69 &ff_rewind_min_step, &ff_rewind_accel); 69 &ff_rewind_min_step, &ff_rewind_accel);
70#ifndef HAVE_FLASH_STORAGE 70#ifdef HAVE_DISK_STORAGE
71#if CONFIG_CODEC == SWCODEC 71#if CONFIG_CODEC == SWCODEC
72static int buffermargin_callback(int action,const struct menu_item_ex *this_item) 72static int buffermargin_callback(int action,const struct menu_item_ex *this_item)
73{ 73{
@@ -85,7 +85,7 @@ static int buffermargin_callback(int action,const struct menu_item_ex *this_item
85#endif 85#endif
86MENUITEM_SETTING(buffer_margin, &global_settings.buffer_margin, 86MENUITEM_SETTING(buffer_margin, &global_settings.buffer_margin,
87 buffermargin_callback); 87 buffermargin_callback);
88#endif /*HAVE_FLASH_STORAGE */ 88#endif /*HAVE_DISK_STORAGE */
89MENUITEM_SETTING(fade_on_stop, &global_settings.fade_on_stop, NULL); 89MENUITEM_SETTING(fade_on_stop, &global_settings.fade_on_stop, NULL);
90MENUITEM_SETTING(party_mode, &global_settings.party_mode, NULL); 90MENUITEM_SETTING(party_mode, &global_settings.party_mode, NULL);
91 91
@@ -181,7 +181,7 @@ MAKE_MENU(playback_settings,ID2P(LANG_PLAYBACK),0,
181 Icon_Playback_menu, 181 Icon_Playback_menu,
182 &shuffle_item, &repeat_mode, &play_selected, 182 &shuffle_item, &repeat_mode, &play_selected,
183 &ff_rewind_settings_menu, 183 &ff_rewind_settings_menu,
184#ifndef HAVE_FLASH_STORAGE 184#ifdef HAVE_DISK_STORAGE
185 &buffer_margin, 185 &buffer_margin,
186#endif 186#endif
187 &fade_on_stop, &party_mode, 187 &fade_on_stop, &party_mode,
diff --git a/apps/menus/settings_menu.c b/apps/menus/settings_menu.c
index d5ddc168a0..48ab316a87 100644
--- a/apps/menus/settings_menu.c
+++ b/apps/menus/settings_menu.c
@@ -173,7 +173,7 @@ MAKE_MENU(battery_menu, ID2P(LANG_BATTERY_MENU), 0, Icon_NOICON,
173#endif 173#endif
174 ); 174 );
175/* Disk */ 175/* Disk */
176#ifndef HAVE_FLASH_STORAGE 176#ifdef HAVE_DISK_STORAGE
177MENUITEM_SETTING(disk_spindown, &global_settings.disk_spindown, NULL); 177MENUITEM_SETTING(disk_spindown, &global_settings.disk_spindown, NULL);
178#endif 178#endif
179#ifdef HAVE_DIRCACHE 179#ifdef HAVE_DIRCACHE
@@ -200,9 +200,9 @@ static int dircache_callback(int action,const struct menu_item_ex *this_item)
200} 200}
201MENUITEM_SETTING(dircache, &global_settings.dircache, dircache_callback); 201MENUITEM_SETTING(dircache, &global_settings.dircache, dircache_callback);
202#endif 202#endif
203#if defined(HAVE_DIRCACHE) || !defined(HAVE_FLASH_STORAGE) 203#if defined(HAVE_DIRCACHE) || defined(HAVE_DISK_STORAGE)
204MAKE_MENU(disk_menu, ID2P(LANG_DISK_MENU), 0, Icon_NOICON, 204MAKE_MENU(disk_menu, ID2P(LANG_DISK_MENU), 0, Icon_NOICON,
205#ifndef HAVE_FLASH_STORAGE 205#ifdef HAVE_DISK_STORAGE
206 &disk_spindown, 206 &disk_spindown,
207#endif 207#endif
208#ifdef HAVE_DIRCACHE 208#ifdef HAVE_DIRCACHE
@@ -374,7 +374,7 @@ MAKE_MENU(system_menu, ID2P(LANG_SYSTEM),
374#if (BATTERY_CAPACITY_INC > 0) || (BATTERY_TYPES_COUNT > 1) 374#if (BATTERY_CAPACITY_INC > 0) || (BATTERY_TYPES_COUNT > 1)
375 &battery_menu, 375 &battery_menu,
376#endif 376#endif
377#if defined(HAVE_DIRCACHE) || !defined(HAVE_FLASH_STORAGE) 377#if defined(HAVE_DIRCACHE) || defined(HAVE_DISK_STORAGE)
378 &disk_menu, 378 &disk_menu,
379#endif 379#endif
380#if CONFIG_RTC 380#if CONFIG_RTC
diff --git a/apps/playback.c b/apps/playback.c
index ee1993a2da..925092a3dd 100644
--- a/apps/playback.c
+++ b/apps/playback.c
@@ -783,7 +783,7 @@ int audio_get_file_pos(void)
783 return 0; 783 return 0;
784} 784}
785 785
786#ifndef HAVE_FLASH_STORAGE 786#ifdef HAVE_DISK_STORAGE
787void audio_set_buffer_margin(int setting) 787void audio_set_buffer_margin(int setting)
788{ 788{
789 static const int lookup[] = {5, 15, 30, 60, 120, 180, 300, 600}; 789 static const int lookup[] = {5, 15, 30, 60, 120, 180, 300, 600};
@@ -2187,7 +2187,7 @@ static void audio_play_start(size_t offset)
2187 /* Officially playing */ 2187 /* Officially playing */
2188 queue_reply(&audio_queue, 1); 2188 queue_reply(&audio_queue, 1);
2189 2189
2190#ifndef HAVE_FLASH_STORAGE 2190#ifdef HAVE_DISK_STORAGE
2191 set_filebuf_watermark(buffer_margin, 0); 2191 set_filebuf_watermark(buffer_margin, 0);
2192#endif 2192#endif
2193 2193
@@ -2584,7 +2584,7 @@ void audio_init(void)
2584 audio_is_initialized = true; 2584 audio_is_initialized = true;
2585 2585
2586 sound_settings_apply(); 2586 sound_settings_apply();
2587#ifndef HAVE_FLASH_STORAGE 2587#ifdef HAVE_DISK_STORAGE
2588 audio_set_buffer_margin(global_settings.buffer_margin); 2588 audio_set_buffer_margin(global_settings.buffer_margin);
2589#endif 2589#endif
2590 2590
diff --git a/apps/playlist.c b/apps/playlist.c
index 8dd444889a..018a39ae41 100644
--- a/apps/playlist.c
+++ b/apps/playlist.c
@@ -1245,7 +1245,7 @@ static void playlist_thread(void)
1245 1245
1246 int sleep_time = 5; 1246 int sleep_time = 5;
1247 1247
1248#ifndef HAVE_FLASH_STORAGE 1248#ifdef HAVE_DISK_STORAGE
1249 if (global_settings.disk_spindown > 1 && 1249 if (global_settings.disk_spindown > 1 &&
1250 global_settings.disk_spindown <= 5) 1250 global_settings.disk_spindown <= 5)
1251 sleep_time = global_settings.disk_spindown - 1; 1251 sleep_time = global_settings.disk_spindown - 1;
diff --git a/apps/plugins/jpeg.c b/apps/plugins/jpeg.c
index b43dee5d74..397fab7bd6 100644
--- a/apps/plugins/jpeg.c
+++ b/apps/plugins/jpeg.c
@@ -2633,7 +2633,7 @@ int show_menu(void) /* return 1 to quit */
2633 break; 2633 break;
2634 } 2634 }
2635 2635
2636#if !defined(SIMULATOR) && !defined(HAVE_FLASH_STORAGE) 2636#if !defined(SIMULATOR) && defined(HAVE_DISK_STORAGE)
2637 /* change ata spindown time based on slideshow time setting */ 2637 /* change ata spindown time based on slideshow time setting */
2638 immediate_ata_off = false; 2638 immediate_ata_off = false;
2639 rb->ata_spindown(rb->global_settings->disk_spindown); 2639 rb->ata_spindown(rb->global_settings->disk_spindown);
@@ -3412,7 +3412,7 @@ enum plugin_status plugin_start(const struct plugin_api* api, const void* parame
3412 ARRAYLEN(jpeg_config), JPEG_SETTINGS_VERSION); 3412 ARRAYLEN(jpeg_config), JPEG_SETTINGS_VERSION);
3413 } 3413 }
3414 3414
3415#if !defined(SIMULATOR) && !defined(HAVE_FLASH_STORAGE) 3415#if !defined(SIMULATOR) && defined(HAVE_DISK_STORAGE)
3416 /* set back ata spindown time in case we changed it */ 3416 /* set back ata spindown time in case we changed it */
3417 rb->ata_spindown(rb->global_settings->disk_spindown); 3417 rb->ata_spindown(rb->global_settings->disk_spindown);
3418#endif 3418#endif
diff --git a/apps/plugins/mpegplayer/stream_mgr.h b/apps/plugins/mpegplayer/stream_mgr.h
index 71a3fd51c6..c94fa84089 100644
--- a/apps/plugins/mpegplayer/stream_mgr.h
+++ b/apps/plugins/mpegplayer/stream_mgr.h
@@ -152,7 +152,7 @@ static inline bool stream_can_seek(void)
152/* Keep the disk spinning (for seeking and browsing) */ 152/* Keep the disk spinning (for seeking and browsing) */
153static inline void stream_keep_disk_active(void) 153static inline void stream_keep_disk_active(void)
154{ 154{
155#ifndef HAVE_FLASH_STORAGE 155#ifdef HAVE_DISK_STORAGE
156 rb->ata_spin(); 156 rb->ata_spin();
157#endif 157#endif
158 } 158 }
diff --git a/apps/plugins/video.c b/apps/plugins/video.c
index fbd05bd006..6a380b8e3c 100644
--- a/apps/plugins/video.c
+++ b/apps/plugins/video.c
@@ -656,7 +656,7 @@ int PlayTick(int fd)
656 } 656 }
657 657
658 if (!gPlay.bRefilling 658 if (!gPlay.bRefilling
659#ifndef HAVE_FLASH_STORAGE 659#ifdef HAVE_DISK_STORAGE
660 && rb->global_settings->disk_spindown < 20 /* condition for test only */ 660 && rb->global_settings->disk_spindown < 20 /* condition for test only */
661#endif 661#endif
662 ) 662 )
diff --git a/apps/settings.c b/apps/settings.c
index f598876818..709e05e086 100644
--- a/apps/settings.c
+++ b/apps/settings.c
@@ -721,7 +721,7 @@ void settings_apply(bool read_disk)
721 721
722 sound_settings_apply(); 722 sound_settings_apply();
723 723
724#ifndef HAVE_FLASH_STORAGE 724#ifdef HAVE_DISK_STORAGE
725 audio_set_buffer_margin(global_settings.buffer_margin); 725 audio_set_buffer_margin(global_settings.buffer_margin);
726#endif 726#endif
727 727
@@ -767,7 +767,7 @@ void settings_apply(bool read_disk)
767#ifdef HAVE_BUTTON_LIGHT 767#ifdef HAVE_BUTTON_LIGHT
768 buttonlight_set_timeout(global_settings.buttonlight_timeout); 768 buttonlight_set_timeout(global_settings.buttonlight_timeout);
769#endif 769#endif
770#ifndef HAVE_FLASH_STORAGE 770#ifdef HAVE_DISK_STORAGE
771 ata_spindown(global_settings.disk_spindown); 771 ata_spindown(global_settings.disk_spindown);
772#endif 772#endif
773#if (CONFIG_CODEC == MAS3507D) && !defined(SIMULATOR) 773#if (CONFIG_CODEC == MAS3507D) && !defined(SIMULATOR)
diff --git a/apps/settings.h b/apps/settings.h
index 902956e471..f1fd7cc2c4 100644
--- a/apps/settings.h
+++ b/apps/settings.h
@@ -449,7 +449,7 @@ struct user_settings
449 int ff_rewind_min_step; /* FF/Rewind minimum step size */ 449 int ff_rewind_min_step; /* FF/Rewind minimum step size */
450 int ff_rewind_accel; /* FF/Rewind acceleration (in seconds per doubling) */ 450 int ff_rewind_accel; /* FF/Rewind acceleration (in seconds per doubling) */
451 451
452#ifndef HAVE_FLASH_STORAGE 452#ifdef HAVE_DISK_STORAGE
453 int disk_spindown; /* time until disk spindown, in seconds (0=off) */ 453 int disk_spindown; /* time until disk spindown, in seconds (0=off) */
454 int buffer_margin; /* MP3 buffer watermark margin, in seconds */ 454 int buffer_margin; /* MP3 buffer watermark margin, in seconds */
455#endif 455#endif
diff --git a/apps/settings_list.c b/apps/settings_list.c
index e70f587b5a..8994ca45b7 100644
--- a/apps/settings_list.c
+++ b/apps/settings_list.c
@@ -695,22 +695,22 @@ const struct settings_list settings[] = {
695 "seek acceleration", "very fast,fast,normal,slow,very slow", NULL, 5, 695 "seek acceleration", "very fast,fast,normal,slow,very slow", NULL, 5,
696 ID2P(LANG_VERY_FAST), ID2P(LANG_FAST), ID2P(LANG_NORMAL), 696 ID2P(LANG_VERY_FAST), ID2P(LANG_FAST), ID2P(LANG_NORMAL),
697 ID2P(LANG_SLOW) , ID2P(LANG_VERY_SLOW)), 697 ID2P(LANG_SLOW) , ID2P(LANG_VERY_SLOW)),
698#if (CONFIG_CODEC == SWCODEC) && !defined(HAVE_FLASH_STORAGE) 698#if (CONFIG_CODEC == SWCODEC) && defined(HAVE_DISK_STORAGE)
699 STRINGCHOICE_SETTING(0, buffer_margin, LANG_MP3BUFFER_MARGIN, 0,"antiskip", 699 STRINGCHOICE_SETTING(0, buffer_margin, LANG_MP3BUFFER_MARGIN, 0,"antiskip",
700 "5s,15s,30s,1min,2min,3min,5min,10min", NULL, 8, 700 "5s,15s,30s,1min,2min,3min,5min,10min", NULL, 8,
701 TALK_ID(5, UNIT_SEC), TALK_ID(15, UNIT_SEC), 701 TALK_ID(5, UNIT_SEC), TALK_ID(15, UNIT_SEC),
702 TALK_ID(30, UNIT_SEC), TALK_ID(1, UNIT_MIN), 702 TALK_ID(30, UNIT_SEC), TALK_ID(1, UNIT_MIN),
703 TALK_ID(2, UNIT_MIN), TALK_ID(3, UNIT_MIN), 703 TALK_ID(2, UNIT_MIN), TALK_ID(3, UNIT_MIN),
704 TALK_ID(5, UNIT_MIN), TALK_ID(10, UNIT_MIN)), 704 TALK_ID(5, UNIT_MIN), TALK_ID(10, UNIT_MIN)),
705#elif !defined(HAVE_FLASH_STORAGE) 705#elif defined(HAVE_DISK_STORAGE)
706 INT_SETTING(0, buffer_margin, LANG_MP3BUFFER_MARGIN, 0, "antiskip", 706 INT_SETTING(0, buffer_margin, LANG_MP3BUFFER_MARGIN, 0, "antiskip",
707 UNIT_SEC, 0, 7, 1, NULL, NULL, audio_set_buffer_margin), 707 UNIT_SEC, 0, 7, 1, NULL, NULL, audio_set_buffer_margin),
708#endif 708#endif
709 /* disk */ 709 /* disk */
710#ifndef HAVE_FLASH_STORAGE 710#ifdef HAVE_DISK_STORAGE
711 INT_SETTING(0, disk_spindown, LANG_SPINDOWN, 5, "disk spindown", 711 INT_SETTING(0, disk_spindown, LANG_SPINDOWN, 5, "disk spindown",
712 UNIT_SEC, 3, 254, 1, NULL, NULL, ata_spindown), 712 UNIT_SEC, 3, 254, 1, NULL, NULL, ata_spindown),
713#endif /* HAVE_FLASH_STORAGE */ 713#endif /* HAVE_DISK_STORAGE */
714 /* browser */ 714 /* browser */
715 CHOICE_SETTING(0, dirfilter, LANG_FILTER, SHOW_SUPPORTED, "show files", 715 CHOICE_SETTING(0, dirfilter, LANG_FILTER, SHOW_SUPPORTED, "show files",
716 "all,supported,music,playlists", NULL, 4, ID2P(LANG_ALL), 716 "all,supported,music,playlists", NULL, 4, ID2P(LANG_ALL),
diff --git a/apps/tagtree.c b/apps/tagtree.c
index 5415610501..92bf18bc26 100644
--- a/apps/tagtree.c
+++ b/apps/tagtree.c
@@ -1056,7 +1056,7 @@ static int retrieve_entries(struct tree_context *c, struct tagcache_search *tcs,
1056 /* Show search progress straight away if the disk needs to spin up, 1056 /* Show search progress straight away if the disk needs to spin up,
1057 otherwise show it after the normal 1/2 second delay */ 1057 otherwise show it after the normal 1/2 second delay */
1058 show_search_progress( 1058 show_search_progress(
1059#if !defined(HAVE_FLASH_STORAGE) 1059#ifdef HAVE_DISK_STORAGE
1060 ata_disk_is_active() 1060 ata_disk_is_active()
1061#else 1061#else
1062 true 1062 true
diff --git a/firmware/export/audio.h b/firmware/export/audio.h
index b10d5863d7..aedaffbe89 100644
--- a/firmware/export/audio.h
+++ b/firmware/export/audio.h
@@ -92,7 +92,7 @@ struct mp3entry* audio_current_track(void);
92struct mp3entry* audio_next_track(void); 92struct mp3entry* audio_next_track(void);
93bool audio_has_changed_track(void); 93bool audio_has_changed_track(void);
94void audio_get_debugdata(struct audio_debug *dbgdata); 94void audio_get_debugdata(struct audio_debug *dbgdata);
95#ifndef HAVE_FLASH_STORAGE 95#ifdef HAVE_DISK_STORAGE
96void audio_set_buffer_margin(int seconds); 96void audio_set_buffer_margin(int seconds);
97#endif 97#endif
98unsigned int audio_error(void); 98unsigned int audio_error(void);
diff --git a/firmware/export/config-creativezv.h b/firmware/export/config-creativezv.h
index b8850a3af6..0cb487ad6d 100644
--- a/firmware/export/config-creativezv.h
+++ b/firmware/export/config-creativezv.h
@@ -85,6 +85,10 @@
85/* define this if you have a real-time clock */ 85/* define this if you have a real-time clock */
86//#define CONFIG_RTC RTC_RX5X348AB 86//#define CONFIG_RTC RTC_RX5X348AB
87 87
88/* define this if you have a disk storage, i.e. something
89 that needs spinups and can cause skips when shaked */
90#define HAVE_DISK_STORAGE
91
88/* Define this for LCD backlight available */ 92/* Define this for LCD backlight available */
89//#define HAVE_BACKLIGHT 93//#define HAVE_BACKLIGHT
90 94
diff --git a/firmware/export/config-creativezvm.h b/firmware/export/config-creativezvm.h
index 4c1f4624b3..e4ccfc775f 100644
--- a/firmware/export/config-creativezvm.h
+++ b/firmware/export/config-creativezvm.h
@@ -85,6 +85,10 @@
85/* define this if you have a real-time clock */ 85/* define this if you have a real-time clock */
86//#define CONFIG_RTC RTC_RX5X348AB 86//#define CONFIG_RTC RTC_RX5X348AB
87 87
88/* define this if you have a disk storage, i.e. something
89 that needs spinups and can cause skips when shaked */
90#define HAVE_DISK_STORAGE
91
88/* Define this for LCD backlight available */ 92/* Define this for LCD backlight available */
89//#define HAVE_BACKLIGHT 93//#define HAVE_BACKLIGHT
90 94
diff --git a/firmware/export/config-creativezvm60gb.h b/firmware/export/config-creativezvm60gb.h
index 3f98059a28..bcf361690d 100644
--- a/firmware/export/config-creativezvm60gb.h
+++ b/firmware/export/config-creativezvm60gb.h
@@ -85,6 +85,10 @@
85/* define this if you have a real-time clock */ 85/* define this if you have a real-time clock */
86//#define CONFIG_RTC RTC_RX5X348AB 86//#define CONFIG_RTC RTC_RX5X348AB
87 87
88/* define this if you have a disk storage, i.e. something
89 that needs spinups and can cause skips when shaked */
90#define HAVE_DISK_STORAGE
91
88/* Define this for LCD backlight available */ 92/* Define this for LCD backlight available */
89//#define HAVE_BACKLIGHT 93//#define HAVE_BACKLIGHT
90 94
diff --git a/firmware/export/config-fmrecorder.h b/firmware/export/config-fmrecorder.h
index fd85e51b46..1908f6a29d 100644
--- a/firmware/export/config-fmrecorder.h
+++ b/firmware/export/config-fmrecorder.h
@@ -65,6 +65,10 @@
65/* Define this for LCD backlight available */ 65/* Define this for LCD backlight available */
66#define HAVE_BACKLIGHT 66#define HAVE_BACKLIGHT
67 67
68/* define this if you have a disk storage, i.e. something
69 that needs spinups and can cause skips when shaked */
70#define HAVE_DISK_STORAGE
71
68#define CONFIG_I2C I2C_PLAYREC 72#define CONFIG_I2C I2C_PLAYREC
69 73
70#define BATTERY_CAPACITY_DEFAULT 2200 /* default battery capacity */ 74#define BATTERY_CAPACITY_DEFAULT 2200 /* default battery capacity */
diff --git a/firmware/export/config-gigabeat-s.h b/firmware/export/config-gigabeat-s.h
index 1f40339065..92813c6b00 100644
--- a/firmware/export/config-gigabeat-s.h
+++ b/firmware/export/config-gigabeat-s.h
@@ -56,6 +56,10 @@
56/* Define this for LCD backlight available */ 56/* Define this for LCD backlight available */
57#define HAVE_BACKLIGHT 57#define HAVE_BACKLIGHT
58 58
59/* define this if you have a disk storage, i.e. something
60 that needs spinups and can cause skips when shaked */
61#define HAVE_DISK_STORAGE
62
59/* Define this if you have a software controlled poweroff */ 63/* Define this if you have a software controlled poweroff */
60#define HAVE_SW_POWEROFF 64#define HAVE_SW_POWEROFF
61 65
diff --git a/firmware/export/config-gigabeat.h b/firmware/export/config-gigabeat.h
index 27bd51e3ab..c2ac7a9483 100644
--- a/firmware/export/config-gigabeat.h
+++ b/firmware/export/config-gigabeat.h
@@ -62,6 +62,10 @@
62/* define this if you have a real-time clock */ 62/* define this if you have a real-time clock */
63#define CONFIG_RTC RTC_S3C2440 63#define CONFIG_RTC RTC_S3C2440
64 64
65/* define this if you have a disk storage, i.e. something
66 that needs spinups and can cause skips when shaked */
67#define HAVE_DISK_STORAGE
68
65/* Define this for LCD backlight available */ 69/* Define this for LCD backlight available */
66#define HAVE_BACKLIGHT 70#define HAVE_BACKLIGHT
67 71
diff --git a/firmware/export/config-h10.h b/firmware/export/config-h10.h
index d38a5df636..6f66555d7d 100644
--- a/firmware/export/config-h10.h
+++ b/firmware/export/config-h10.h
@@ -79,6 +79,10 @@
79#define HAVE_RTC_ALARM 79#define HAVE_RTC_ALARM
80#endif 80#endif
81 81
82/* define this if you have a disk storage, i.e. something
83 that needs spinups and can cause skips when shaked */
84#define HAVE_DISK_STORAGE
85
82/* Define this if you have a software controlled poweroff */ 86/* Define this if you have a software controlled poweroff */
83#define HAVE_SW_POWEROFF 87#define HAVE_SW_POWEROFF
84 88
diff --git a/firmware/export/config-h100.h b/firmware/export/config-h100.h
index f250c5f862..dcb0e6d9f0 100644
--- a/firmware/export/config-h100.h
+++ b/firmware/export/config-h100.h
@@ -66,6 +66,10 @@
66 66
67#define CONFIG_LCD LCD_S1D15E06 67#define CONFIG_LCD LCD_S1D15E06
68 68
69/* define this if you have a disk storage, i.e. something
70 that needs spinups and can cause skips when shaked */
71#define HAVE_DISK_STORAGE
72
69/* Define this for LCD backlight available */ 73/* Define this for LCD backlight available */
70#define HAVE_BACKLIGHT 74#define HAVE_BACKLIGHT
71 75
diff --git a/firmware/export/config-h10_5gb.h b/firmware/export/config-h10_5gb.h
index 56a61c8be5..29f0e55b6b 100644
--- a/firmware/export/config-h10_5gb.h
+++ b/firmware/export/config-h10_5gb.h
@@ -83,6 +83,10 @@
83#define CONFIG_TUNER TEA5767 83#define CONFIG_TUNER TEA5767
84#define CONFIG_TUNER_XTAL 32768 84#define CONFIG_TUNER_XTAL 32768
85 85
86/* define this if you have a disk storage, i.e. something
87 that needs spinups and can cause skips when shaked */
88#define HAVE_DISK_STORAGE
89
86/* Define this for LCD backlight available */ 90/* Define this for LCD backlight available */
87#define HAVE_BACKLIGHT 91#define HAVE_BACKLIGHT
88 92
diff --git a/firmware/export/config-h120.h b/firmware/export/config-h120.h
index 9cea95eb6f..c75734f7b7 100644
--- a/firmware/export/config-h120.h
+++ b/firmware/export/config-h120.h
@@ -53,6 +53,10 @@
53/* Define this if you do software codec */ 53/* Define this if you do software codec */
54#define CONFIG_CODEC SWCODEC 54#define CONFIG_CODEC SWCODEC
55 55
56/* define this if you have a disk storage, i.e. something
57 that needs spinups and can cause skips when shaked */
58#define HAVE_DISK_STORAGE
59
56/* Define this if you have an remote lcd */ 60/* Define this if you have an remote lcd */
57#define HAVE_REMOTE_LCD 61#define HAVE_REMOTE_LCD
58 62
diff --git a/firmware/export/config-h300.h b/firmware/export/config-h300.h
index 4aae255daa..134e90cd17 100644
--- a/firmware/export/config-h300.h
+++ b/firmware/export/config-h300.h
@@ -55,6 +55,10 @@
55/* define this if you have a real-time clock */ 55/* define this if you have a real-time clock */
56#define CONFIG_RTC RTC_PCF50606 56#define CONFIG_RTC RTC_PCF50606
57 57
58/* define this if you have a disk storage, i.e. something
59 that needs spinups and can cause skips when shaked */
60#define HAVE_DISK_STORAGE
61
58/* Define this if you have an remote lcd */ 62/* Define this if you have an remote lcd */
59#define HAVE_REMOTE_LCD 63#define HAVE_REMOTE_LCD
60 64
diff --git a/firmware/export/config-hdd1630.h b/firmware/export/config-hdd1630.h
index 55ad5a1340..5a311993fe 100755
--- a/firmware/export/config-hdd1630.h
+++ b/firmware/export/config-hdd1630.h
@@ -101,6 +101,10 @@
101/* #define CONFIG_TUNER TEA5767 */ 101/* #define CONFIG_TUNER TEA5767 */
102/* #define CONFIG_TUNER_XTAL 32768 */ 102/* #define CONFIG_TUNER_XTAL 32768 */
103 103
104/* define this if you have a disk storage, i.e. something
105 that needs spinups and can cause skips when shaked */
106#define HAVE_DISK_STORAGE
107
104/* Define this for LCD backlight available */ 108/* Define this for LCD backlight available */
105#define HAVE_BACKLIGHT 109#define HAVE_BACKLIGHT
106/* #define HAVE_BACKLIGHT_BRIGHTNESS */ 110/* #define HAVE_BACKLIGHT_BRIGHTNESS */
diff --git a/firmware/export/config-iaudiom3.h b/firmware/export/config-iaudiom3.h
index b8dc52c91e..429e922529 100644
--- a/firmware/export/config-iaudiom3.h
+++ b/firmware/export/config-iaudiom3.h
@@ -71,6 +71,10 @@
71/* Define this for LCD backlight available */ 71/* Define this for LCD backlight available */
72#define HAVE_BACKLIGHT 72#define HAVE_BACKLIGHT
73 73
74/* define this if you have a disk storage, i.e. something
75 that needs spinups and can cause skips when shaked */
76#define HAVE_DISK_STORAGE
77
74/* Define this if you have a software controlled poweroff */ 78/* Define this if you have a software controlled poweroff */
75#define HAVE_SW_POWEROFF 79#define HAVE_SW_POWEROFF
76 80
diff --git a/firmware/export/config-iaudiom5.h b/firmware/export/config-iaudiom5.h
index a5b0f3d7bd..eb3b1216eb 100644
--- a/firmware/export/config-iaudiom5.h
+++ b/firmware/export/config-iaudiom5.h
@@ -78,6 +78,10 @@
78/* Define this for LCD backlight available */ 78/* Define this for LCD backlight available */
79#define HAVE_BACKLIGHT 79#define HAVE_BACKLIGHT
80 80
81/* define this if you have a disk storage, i.e. something
82 that needs spinups and can cause skips when shaked */
83#define HAVE_DISK_STORAGE
84
81/* Define this if you have a software controlled poweroff */ 85/* Define this if you have a software controlled poweroff */
82#define HAVE_SW_POWEROFF 86#define HAVE_SW_POWEROFF
83 87
diff --git a/firmware/export/config-iaudiox5.h b/firmware/export/config-iaudiox5.h
index c29d4242fe..be21006295 100644
--- a/firmware/export/config-iaudiox5.h
+++ b/firmware/export/config-iaudiox5.h
@@ -91,6 +91,10 @@
91#define HAVE_BACKLIGHT 91#define HAVE_BACKLIGHT
92#define HAVE_BACKLIGHT_BRIGHTNESS 92#define HAVE_BACKLIGHT_BRIGHTNESS
93 93
94/* define this if you have a disk storage, i.e. something
95 that needs spinups and can cause skips when shaked */
96#define HAVE_DISK_STORAGE
97
94/* Define this if you have a software controlled poweroff */ 98/* Define this if you have a software controlled poweroff */
95#define HAVE_SW_POWEROFF 99#define HAVE_SW_POWEROFF
96 100
diff --git a/firmware/export/config-ipod1g2g.h b/firmware/export/config-ipod1g2g.h
index 2d3dff1edc..5727e46616 100644
--- a/firmware/export/config-ipod1g2g.h
+++ b/firmware/export/config-ipod1g2g.h
@@ -78,6 +78,10 @@
78/* Define this if you have the WM8731L audio codec */ 78/* Define this if you have the WM8731L audio codec */
79#define HAVE_WM8721 79#define HAVE_WM8721
80 80
81/* define this if you have a disk storage, i.e. something
82 that needs spinups and can cause skips when shaked */
83#define HAVE_DISK_STORAGE
84
81/* WM8721 has no tone controls, so we use the software ones */ 85/* WM8721 has no tone controls, so we use the software ones */
82#define HAVE_SW_TONE_CONTROLS 86#define HAVE_SW_TONE_CONTROLS
83 87
diff --git a/firmware/export/config-ipod3g.h b/firmware/export/config-ipod3g.h
index d5b593388e..285043a77f 100644
--- a/firmware/export/config-ipod3g.h
+++ b/firmware/export/config-ipod3g.h
@@ -91,6 +91,10 @@
91/* WM8731 has no tone controls, so we use the software ones */ 91/* WM8731 has no tone controls, so we use the software ones */
92#define HAVE_SW_TONE_CONTROLS 92#define HAVE_SW_TONE_CONTROLS
93 93
94/* define this if you have a disk storage, i.e. something
95 that needs spinups and can cause skips when shaked */
96#define HAVE_DISK_STORAGE
97
94/* Define this for LCD backlight available */ 98/* Define this for LCD backlight available */
95#define HAVE_BACKLIGHT 99#define HAVE_BACKLIGHT
96 100
diff --git a/firmware/export/config-ipod4g.h b/firmware/export/config-ipod4g.h
index c5c592dfca..dddda21e07 100644
--- a/firmware/export/config-ipod4g.h
+++ b/firmware/export/config-ipod4g.h
@@ -91,6 +91,10 @@
91#define AB_REPEAT_ENABLE 1 91#define AB_REPEAT_ENABLE 1
92#define ACTION_WPSAB_SINGLE ACTION_WPS_BROWSE 92#define ACTION_WPSAB_SINGLE ACTION_WPS_BROWSE
93 93
94/* define this if you have a disk storage, i.e. something
95 that needs spinups and can cause skips when shaked */
96#define HAVE_DISK_STORAGE
97
94/* Define this for LCD backlight available */ 98/* Define this for LCD backlight available */
95#define HAVE_BACKLIGHT 99#define HAVE_BACKLIGHT
96 100
diff --git a/firmware/export/config-ipodcolor.h b/firmware/export/config-ipodcolor.h
index cda0857b19..f4db7d8b98 100644
--- a/firmware/export/config-ipodcolor.h
+++ b/firmware/export/config-ipodcolor.h
@@ -78,6 +78,10 @@
78#define AB_REPEAT_ENABLE 1 78#define AB_REPEAT_ENABLE 1
79#define ACTION_WPSAB_SINGLE ACTION_WPS_BROWSE 79#define ACTION_WPSAB_SINGLE ACTION_WPS_BROWSE
80 80
81/* define this if you have a disk storage, i.e. something
82 that needs spinups and can cause skips when shaked */
83#define HAVE_DISK_STORAGE
84
81/* Define this for LCD backlight available */ 85/* Define this for LCD backlight available */
82#define HAVE_BACKLIGHT 86#define HAVE_BACKLIGHT
83 87
diff --git a/firmware/export/config-ipodmini.h b/firmware/export/config-ipodmini.h
index eadd3a6b1d..37fb083af4 100644
--- a/firmware/export/config-ipodmini.h
+++ b/firmware/export/config-ipodmini.h
@@ -93,6 +93,10 @@
93#define AB_REPEAT_ENABLE 1 93#define AB_REPEAT_ENABLE 1
94#define ACTION_WPSAB_SINGLE ACTION_WPS_BROWSE 94#define ACTION_WPSAB_SINGLE ACTION_WPS_BROWSE
95 95
96/* define this if you have a disk storage, i.e. something
97 that needs spinups and can cause skips when shaked */
98#define HAVE_DISK_STORAGE
99
96/* Define this for LCD backlight available */ 100/* Define this for LCD backlight available */
97#define HAVE_BACKLIGHT 101#define HAVE_BACKLIGHT
98 102
diff --git a/firmware/export/config-ipodmini2g.h b/firmware/export/config-ipodmini2g.h
index 259cb2f874..a96e71dbc7 100644
--- a/firmware/export/config-ipodmini2g.h
+++ b/firmware/export/config-ipodmini2g.h
@@ -93,6 +93,10 @@
93#define AB_REPEAT_ENABLE 1 93#define AB_REPEAT_ENABLE 1
94#define ACTION_WPSAB_SINGLE ACTION_WPS_BROWSE 94#define ACTION_WPSAB_SINGLE ACTION_WPS_BROWSE
95 95
96/* define this if you have a disk storage, i.e. something
97 that needs spinups and can cause skips when shaked */
98#define HAVE_DISK_STORAGE
99
96/* Define this for LCD backlight available */ 100/* Define this for LCD backlight available */
97#define HAVE_BACKLIGHT 101#define HAVE_BACKLIGHT
98 102
diff --git a/firmware/export/config-ipodvideo.h b/firmware/export/config-ipodvideo.h
index 4c56d74c72..9b322f2ffd 100644
--- a/firmware/export/config-ipodvideo.h
+++ b/firmware/export/config-ipodvideo.h
@@ -78,6 +78,10 @@
78#define AB_REPEAT_ENABLE 1 78#define AB_REPEAT_ENABLE 1
79#define ACTION_WPSAB_SINGLE ACTION_WPS_BROWSE 79#define ACTION_WPSAB_SINGLE ACTION_WPS_BROWSE
80 80
81/* define this if you have a disk storage, i.e. something
82 that needs spinups and can cause skips when shaked */
83#define HAVE_DISK_STORAGE
84
81/* Define this for LCD backlight available */ 85/* Define this for LCD backlight available */
82#define HAVE_BACKLIGHT 86#define HAVE_BACKLIGHT
83#define HAVE_BACKLIGHT_BRIGHTNESS 87#define HAVE_BACKLIGHT_BRIGHTNESS
diff --git a/firmware/export/config-mrobe100.h b/firmware/export/config-mrobe100.h
index 6aaa2b005a..03011745eb 100644
--- a/firmware/export/config-mrobe100.h
+++ b/firmware/export/config-mrobe100.h
@@ -61,6 +61,10 @@
61 61
62#define AB_REPEAT_ENABLE 1 62#define AB_REPEAT_ENABLE 1
63 63
64/* define this if you have a disk storage, i.e. something
65 that needs spinups and can cause skips when shaked */
66#define HAVE_DISK_STORAGE
67
64/* Define this for LCD backlight available */ 68/* Define this for LCD backlight available */
65#define HAVE_BACKLIGHT 69#define HAVE_BACKLIGHT
66 70
diff --git a/firmware/export/config-mrobe500.h b/firmware/export/config-mrobe500.h
index b9b8ee65ab..3eab1209f4 100644
--- a/firmware/export/config-mrobe500.h
+++ b/firmware/export/config-mrobe500.h
@@ -96,6 +96,10 @@
96/* define this if you have a real-time clock */ 96/* define this if you have a real-time clock */
97#define CONFIG_RTC RTC_RX5X348AB 97#define CONFIG_RTC RTC_RX5X348AB
98 98
99/* define this if you have a disk storage, i.e. something
100 that needs spinups and can cause skips when shaked */
101#define HAVE_DISK_STORAGE
102
99/* Define this for LCD backlight available */ 103/* Define this for LCD backlight available */
100#define HAVE_BACKLIGHT 104#define HAVE_BACKLIGHT
101 105
diff --git a/firmware/export/config-player.h b/firmware/export/config-player.h
index 186bd5a58d..a88e75e743 100644
--- a/firmware/export/config-player.h
+++ b/firmware/export/config-player.h
@@ -30,6 +30,10 @@
30/* Define this if you have a DAC3550A */ 30/* Define this if you have a DAC3550A */
31#define HAVE_DAC3550A 31#define HAVE_DAC3550A
32 32
33/* define this if you have a disk storage, i.e. something
34 that needs spinups and can cause skips when shaked */
35#define HAVE_DISK_STORAGE
36
33/* Define this for LCD backlight available */ 37/* Define this for LCD backlight available */
34#define HAVE_BACKLIGHT 38#define HAVE_BACKLIGHT
35 39
diff --git a/firmware/export/config-recorder.h b/firmware/export/config-recorder.h
index b86e31630a..f6ddb88af6 100644
--- a/firmware/export/config-recorder.h
+++ b/firmware/export/config-recorder.h
@@ -53,6 +53,10 @@
53/* Define this if you have a MAS3587F */ 53/* Define this if you have a MAS3587F */
54#define CONFIG_CODEC MAS3587F 54#define CONFIG_CODEC MAS3587F
55 55
56/* define this if you have a disk storage, i.e. something
57 that needs spinups and can cause skips when shaked */
58#define HAVE_DISK_STORAGE
59
56/* Define this for LCD backlight available */ 60/* Define this for LCD backlight available */
57#define HAVE_BACKLIGHT 61#define HAVE_BACKLIGHT
58 62
diff --git a/firmware/export/config-recorderv2.h b/firmware/export/config-recorderv2.h
index fd00b78887..5d62ec464c 100644
--- a/firmware/export/config-recorderv2.h
+++ b/firmware/export/config-recorderv2.h
@@ -59,6 +59,10 @@
59/* Define this if you have a MAS3587F */ 59/* Define this if you have a MAS3587F */
60#define CONFIG_CODEC MAS3587F 60#define CONFIG_CODEC MAS3587F
61 61
62/* define this if you have a disk storage, i.e. something
63 that needs spinups and can cause skips when shaked */
64#define HAVE_DISK_STORAGE
65
62/* Define this for LCD backlight available */ 66/* Define this for LCD backlight available */
63#define HAVE_BACKLIGHT 67#define HAVE_BACKLIGHT
64 68
diff --git a/firmware/export/config-tpj1022.h b/firmware/export/config-tpj1022.h
index 5307074aa1..6f23b86f06 100644
--- a/firmware/export/config-tpj1022.h
+++ b/firmware/export/config-tpj1022.h
@@ -67,6 +67,10 @@
67 67
68#define AB_REPEAT_ENABLE 1 68#define AB_REPEAT_ENABLE 1
69 69
70/* define this if you have a disk storage, i.e. something
71 that needs spinups and can cause skips when shaked */
72#define HAVE_DISK_STORAGE
73
70/* Define this for LCD backlight available */ 74/* Define this for LCD backlight available */
71#define HAVE_BACKLIGHT 75#define HAVE_BACKLIGHT
72 76
diff --git a/firmware/mpeg.c b/firmware/mpeg.c
index 530de6a372..2503ba11e0 100644
--- a/firmware/mpeg.c
+++ b/firmware/mpeg.c
@@ -535,7 +535,7 @@ static void recalculate_watermark(int bitrate)
535 } 535 }
536} 536}
537 537
538#ifndef HAVE_FLASH_STORAGE 538#ifdef HAVE_DISK_STORAGE
539void audio_set_buffer_margin(int seconds) 539void audio_set_buffer_margin(int seconds)
540{ 540{
541 low_watermark_margin = seconds; 541 low_watermark_margin = seconds;
diff --git a/firmware/usb.c b/firmware/usb.c
index ae1fbeb8c0..ab4f0403b9 100644
--- a/firmware/usb.c
+++ b/firmware/usb.c
@@ -132,7 +132,7 @@ static void usb_slave_mode(bool on)
132 132
133static void try_reboot(void) 133static void try_reboot(void)
134{ 134{
135#ifndef HAVE_FLASH_STORAGE 135#ifdef HAVE_DISK_STORAGE
136 ata_sleepnow(); /* Immediately spindown the disk. */ 136 ata_sleepnow(); /* Immediately spindown the disk. */
137 sleep(HZ*2); 137 sleep(HZ*2);
138#endif 138#endif