summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSolomon Peachy <pizza@shaftnet.org>2024-07-06 10:42:47 -0400
committerSolomon Peachy <pizza@shaftnet.org>2024-07-07 11:35:04 -0400
commitea80d1cc9cdaf1af5e1e5a42d878f3f231a3a65b (patch)
treef4ff5ca449f14827ef727f4ee23deac295910943
parentaf1eddb6e933b161938a372b86d1b0065d5b37e8 (diff)
downloadrockbox-ea80d1cc9c.tar.gz
rockbox-ea80d1cc9c.zip
config: Change default HAVE_MULTIVOLUME settings
* HAVE_MULTIDRIVE implies HAVE_MULTIVOLUME as the latter is always removeable storage * SD storage implies MULTIVOLUME * ATA storage (with HAVE_LBA48) implies MULTIVOLUME * Replace HAVE_MULTIDRIVE && NUM_DRIVES == 1 with HAVE_MULTIVOLUME Since SD and ATA can exceed 2TB, we need multiple volumes to fully utilize available storage with FAT32. In practice I believe this only affects the ipod devices. Change-Id: Ia597770948b0e2b47630f7264ad34f225a33a640
-rw-r--r--firmware/export/config.h16
-rw-r--r--firmware/export/config/cowond2.h3
-rw-r--r--firmware/export/config/creativezen.h1
-rw-r--r--firmware/export/config/creativezenxfi.h1
-rw-r--r--firmware/export/config/creativezenxfi2.h1
-rw-r--r--firmware/export/config/creativezenxfi3.h1
-rw-r--r--firmware/export/config/erosqnative.h2
-rw-r--r--firmware/export/config/fiiom3k.h2
-rw-r--r--firmware/export/config/ihifi760.h2
-rw-r--r--firmware/export/config/ihifi770.h1
-rw-r--r--firmware/export/config/ihifi770c.h1
-rw-r--r--firmware/export/config/ihifi800.h1
-rw-r--r--firmware/export/config/ihifi960.h1
-rw-r--r--firmware/export/config/mini2440.h3
-rw-r--r--firmware/export/config/ondavx747.h4
-rw-r--r--firmware/export/config/ondavx777.h4
-rw-r--r--firmware/export/config/rk27generic.h1
-rw-r--r--firmware/export/config/sansae200.h1
-rw-r--r--firmware/export/config/shanlingq1.h2
19 files changed, 18 insertions, 30 deletions
diff --git a/firmware/export/config.h b/firmware/export/config.h
index 5ea5c71c70..cad25facb0 100644
--- a/firmware/export/config.h
+++ b/firmware/export/config.h
@@ -868,6 +868,18 @@ Lyre prototype 1 */
#define CONFIG_STORAGE_MULTI
#endif
+#if !defined(HAVE_MULTIVOLUME)
+#if defined(HAVE_MULTIDRIVE)
+/* Multidrive strongly implies multivolume */
+#define HAVE_MULTIVOLUME
+#elif (CONFIG_STORAGE & STORAGE_SD)
+/* SD routinely have multiple partitions */
+#elif (CONFIG_STORAGE & STORAGE_ATA) && defined(HAVE_LBA48)
+/* ATA routinely haves multiple partitions, but don't bother if we can't do LBA48 */
+#define HAVE_MULTIVOLUME
+#endif
+#endif
+
/* Explicit HAVE_MULTIVOLUME in the config file. Allow the maximum number */
#ifdef HAVE_MULTIVOLUME
#define NUM_VOLUMES_PER_DRIVE 4
@@ -878,10 +890,6 @@ Lyre prototype 1 */
#define HAVE_MULTIDRIVE
#endif
-#if defined(HAVE_MULTIDRIVE) && !defined(HAVE_MULTIVOLUME)
-#define HAVE_MULTIVOLUME
-#endif
-
#if defined(HAVE_MULTIDRIVE) && !defined(NUM_DRIVES)
#error HAVE_MULTIDRIVE needs to have an explicit NUM_DRIVES
#endif
diff --git a/firmware/export/config/cowond2.h b/firmware/export/config/cowond2.h
index 5912fb63eb..fbfcc2c089 100644
--- a/firmware/export/config/cowond2.h
+++ b/firmware/export/config/cowond2.h
@@ -61,9 +61,8 @@
/* NAND is broken. */
//#define CONFIG_STORAGE (STORAGE_NAND | STORAGE_SD)
#define CONFIG_STORAGE STORAGE_SD
-#define HAVE_MULTIDRIVE
+#define HAVE_MULTIVOLUME
#define HAVE_HOTSWAP
-#define NUM_DRIVES 1
#define CONFIG_NAND NAND_TCC
diff --git a/firmware/export/config/creativezen.h b/firmware/export/config/creativezen.h
index b1f438c354..d70749e59f 100644
--- a/firmware/export/config/creativezen.h
+++ b/firmware/export/config/creativezen.h
@@ -133,7 +133,6 @@
#define CONFIG_STORAGE STORAGE_SD
#define NUM_DRIVES 2
#define HAVE_MULTIDRIVE
-#define HAVE_MULTIVOLUME
#define HAVE_HOTSWAP
/* todo */
diff --git a/firmware/export/config/creativezenxfi.h b/firmware/export/config/creativezenxfi.h
index 34cde37d9a..489dea80b7 100644
--- a/firmware/export/config/creativezenxfi.h
+++ b/firmware/export/config/creativezenxfi.h
@@ -138,7 +138,6 @@
#define CONFIG_STORAGE STORAGE_SD
#define NUM_DRIVES 2
#define HAVE_MULTIDRIVE
-#define HAVE_MULTIVOLUME
#define HAVE_HOTSWAP
/* todo */
diff --git a/firmware/export/config/creativezenxfi2.h b/firmware/export/config/creativezenxfi2.h
index 47a600e8f5..5db228e559 100644
--- a/firmware/export/config/creativezenxfi2.h
+++ b/firmware/export/config/creativezenxfi2.h
@@ -140,7 +140,6 @@
#define CONFIG_STORAGE (/*STORAGE_NAND |*/ STORAGE_SD)
#define NUM_DRIVES 2
#define HAVE_MULTIDRIVE
-#define HAVE_MULTIVOLUME
#define HAVE_HOTSWAP_STORAGE_AS_MAIN
#define HAVE_HOTSWAP
#define CONFIG_NAND NAND_IMX233
diff --git a/firmware/export/config/creativezenxfi3.h b/firmware/export/config/creativezenxfi3.h
index a558c2a7df..5ff5d889c7 100644
--- a/firmware/export/config/creativezenxfi3.h
+++ b/firmware/export/config/creativezenxfi3.h
@@ -144,7 +144,6 @@
#define CONFIG_STORAGE STORAGE_SD
#define NUM_DRIVES 2
#define HAVE_MULTIDRIVE
-#define HAVE_MULTIVOLUME
#define HAVE_HOTSWAP
/* Extra threads: touchpad */
diff --git a/firmware/export/config/erosqnative.h b/firmware/export/config/erosqnative.h
index f6e5b0d55e..26073a5f34 100644
--- a/firmware/export/config/erosqnative.h
+++ b/firmware/export/config/erosqnative.h
@@ -77,9 +77,7 @@
#define CONFIG_STORAGE STORAGE_SD
#define HAVE_HOTSWAP
#define HAVE_HOTSWAP_STORAGE_AS_MAIN
-#define HAVE_MULTIDRIVE
#define HAVE_MULTIVOLUME
-#define NUM_DRIVES 1
#define STORAGE_WANTS_ALIGN
#define STORAGE_NEEDS_BOUNCE_BUFFER
diff --git a/firmware/export/config/fiiom3k.h b/firmware/export/config/fiiom3k.h
index cf8509405f..a5e32af2a0 100644
--- a/firmware/export/config/fiiom3k.h
+++ b/firmware/export/config/fiiom3k.h
@@ -81,9 +81,7 @@
#define CONFIG_STORAGE STORAGE_SD
#define HAVE_HOTSWAP
#define HAVE_HOTSWAP_STORAGE_AS_MAIN
-#define HAVE_MULTIDRIVE
#define HAVE_MULTIVOLUME
-#define NUM_DRIVES 1
#define STORAGE_WANTS_ALIGN
#define STORAGE_NEEDS_BOUNCE_BUFFER
diff --git a/firmware/export/config/ihifi760.h b/firmware/export/config/ihifi760.h
index cc4152f5d8..b4a1e6ade0 100644
--- a/firmware/export/config/ihifi760.h
+++ b/firmware/export/config/ihifi760.h
@@ -57,8 +57,6 @@
/* commented for now */
/* #define HAVE_HOTSWAP */
-
-#define NUM_DRIVES 1
#define SECTOR_SIZE 512
/* for small(ish) SD cards */
diff --git a/firmware/export/config/ihifi770.h b/firmware/export/config/ihifi770.h
index 74b12de994..82a9b1b1eb 100644
--- a/firmware/export/config/ihifi770.h
+++ b/firmware/export/config/ihifi770.h
@@ -56,7 +56,6 @@
#define HAVE_HOTSWAP
-#define NUM_DRIVES 1
#define SECTOR_SIZE 512
/* for small(ish) SD cards */
diff --git a/firmware/export/config/ihifi770c.h b/firmware/export/config/ihifi770c.h
index 8224e2f368..1e945610bc 100644
--- a/firmware/export/config/ihifi770c.h
+++ b/firmware/export/config/ihifi770c.h
@@ -56,7 +56,6 @@
#define HAVE_HOTSWAP
-#define NUM_DRIVES 1
#define SECTOR_SIZE 512
/* for small(ish) SD cards */
diff --git a/firmware/export/config/ihifi800.h b/firmware/export/config/ihifi800.h
index 91981682c1..9c1614c30c 100644
--- a/firmware/export/config/ihifi800.h
+++ b/firmware/export/config/ihifi800.h
@@ -56,7 +56,6 @@
#define HAVE_HOTSWAP
-#define NUM_DRIVES 1
#define SECTOR_SIZE 512
/* for small(ish) SD cards */
diff --git a/firmware/export/config/ihifi960.h b/firmware/export/config/ihifi960.h
index 64c6c90874..f8bd46d1ea 100644
--- a/firmware/export/config/ihifi960.h
+++ b/firmware/export/config/ihifi960.h
@@ -58,7 +58,6 @@
/* commented for now */
/* #define HAVE_HOTSWAP */
-#define NUM_DRIVES 1
#define SECTOR_SIZE 512
/* for small(ish) SD cards */
diff --git a/firmware/export/config/mini2440.h b/firmware/export/config/mini2440.h
index 4fc483b324..4149835eec 100644
--- a/firmware/export/config/mini2440.h
+++ b/firmware/export/config/mini2440.h
@@ -38,8 +38,7 @@
/* define the storage type */
#define CONFIG_STORAGE STORAGE_SD
-#define HAVE_MULTIDRIVE
-#define NUM_DRIVES 1 // no access to NAND yet
+#define HAVE_MULTIVOLUME
#define HAVE_HOTSWAP
#define HAVE_HOTSWAP_STORAGE_AS_MAIN
#define INCLUDE_TIMEOUT_API
diff --git a/firmware/export/config/ondavx747.h b/firmware/export/config/ondavx747.h
index 7f4f1ea843..a9d4f0fecf 100644
--- a/firmware/export/config/ondavx747.h
+++ b/firmware/export/config/ondavx747.h
@@ -161,11 +161,11 @@
No access to the NAND yet..
#define CONFIG_STORAGE (STORAGE_NAND | STORAGE_SD)
+#define HAVE_MULTIDRIVE
#define NUM_DRIVES 2
*/
#define CONFIG_STORAGE (STORAGE_SD)
-#define HAVE_MULTIDRIVE
-#define NUM_DRIVES 1
+#define HAVE_MULTIVOLUME
#define HAVE_HOTSWAP_STORAGE_AS_MAIN
#define INCLUDE_TIMEOUT_API
diff --git a/firmware/export/config/ondavx777.h b/firmware/export/config/ondavx777.h
index ceea151d8c..1387898eff 100644
--- a/firmware/export/config/ondavx777.h
+++ b/firmware/export/config/ondavx777.h
@@ -152,11 +152,11 @@
No access to the NAND yet..
#define CONFIG_STORAGE (STORAGE_NAND | STORAGE_SD)
+#define HAVE_MULTIDRIVE
#define NUM_DRIVES 2
*/
#define CONFIG_STORAGE (STORAGE_SD)
-#define HAVE_MULTIDRIVE
-#define NUM_DRIVES 1
+#define HAVE_MULTIVOLUME
#define HAVE_HOTSWAP_STORAGE_AS_MAIN
#define INCLUDE_TIMEOUT_API
diff --git a/firmware/export/config/rk27generic.h b/firmware/export/config/rk27generic.h
index 967fc6d8ff..5a18f7a35e 100644
--- a/firmware/export/config/rk27generic.h
+++ b/firmware/export/config/rk27generic.h
@@ -63,7 +63,6 @@
/* commented for now */
/* #define HAVE_HOTSWAP */
-#define NUM_DRIVES 1
#define SECTOR_SIZE 512
/* for small(ish) SD cards */
diff --git a/firmware/export/config/sansae200.h b/firmware/export/config/sansae200.h
index 1c10f74845..70782aa147 100644
--- a/firmware/export/config/sansae200.h
+++ b/firmware/export/config/sansae200.h
@@ -181,7 +181,6 @@
#define CONFIG_LCD LCD_X5
#define HAVE_MULTIDRIVE
-//#define HAVE_MULTIVOLUME
#define NUM_DRIVES 2
#define HAVE_HOTSWAP /* required to access sd from bootloader */
diff --git a/firmware/export/config/shanlingq1.h b/firmware/export/config/shanlingq1.h
index a708cfc2a9..4e74f9e33c 100644
--- a/firmware/export/config/shanlingq1.h
+++ b/firmware/export/config/shanlingq1.h
@@ -64,9 +64,7 @@
#define CONFIG_STORAGE STORAGE_SD
#define HAVE_HOTSWAP
#define HAVE_HOTSWAP_STORAGE_AS_MAIN
-#define HAVE_MULTIDRIVE
#define HAVE_MULTIVOLUME
-#define NUM_DRIVES 1
#define STORAGE_WANTS_ALIGN
#define STORAGE_NEEDS_BOUNCE_BUFFER