From ea80d1cc9cdaf1af5e1e5a42d878f3f231a3a65b Mon Sep 17 00:00:00 2001 From: Solomon Peachy Date: Sat, 6 Jul 2024 10:42:47 -0400 Subject: 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 --- firmware/export/config.h | 16 ++++++++++++---- firmware/export/config/cowond2.h | 3 +-- firmware/export/config/creativezen.h | 1 - firmware/export/config/creativezenxfi.h | 1 - firmware/export/config/creativezenxfi2.h | 1 - firmware/export/config/creativezenxfi3.h | 1 - firmware/export/config/erosqnative.h | 2 -- firmware/export/config/fiiom3k.h | 2 -- firmware/export/config/ihifi760.h | 2 -- firmware/export/config/ihifi770.h | 1 - firmware/export/config/ihifi770c.h | 1 - firmware/export/config/ihifi800.h | 1 - firmware/export/config/ihifi960.h | 1 - firmware/export/config/mini2440.h | 3 +-- firmware/export/config/ondavx747.h | 4 ++-- firmware/export/config/ondavx777.h | 4 ++-- firmware/export/config/rk27generic.h | 1 - firmware/export/config/sansae200.h | 1 - firmware/export/config/shanlingq1.h | 2 -- 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 -- cgit v1.2.3