summaryrefslogtreecommitdiff
path: root/firmware/usb.c
diff options
context:
space:
mode:
authorJörg Hohensohn <hohensoh@rockbox.org>2004-12-28 22:16:07 +0000
committerJörg Hohensohn <hohensoh@rockbox.org>2004-12-28 22:16:07 +0000
commitda848576312800dc229624e928d132d0702c1854 (patch)
tree38cd01b8a9c1069a1de734e0f7eb478436715573 /firmware/usb.c
parentae45d970d874217b779071b414dcd5edbf5647da (diff)
downloadrockbox-da848576312800dc229624e928d132d0702c1854.tar.gz
rockbox-da848576312800dc229624e928d132d0702c1854.zip
prepared to mount multiple partitions into one logical file system (most useful for Ondio, internal memory + external MMC)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5514 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/usb.c')
-rw-r--r--firmware/usb.c27
1 files changed, 24 insertions, 3 deletions
diff --git a/firmware/usb.c b/firmware/usb.c
index e27c003154..ab8e080c45 100644
--- a/firmware/usb.c
+++ b/firmware/usb.c
@@ -157,17 +157,38 @@ static void usb_slave_mode(bool on)
157 panicf("ata: %d",rc); 157 panicf("ata: %d",rc);
158 } 158 }
159 159
160 pinfo = disk_init(); 160 pinfo = disk_init(IF_MV(0));
161 if (!pinfo) 161 if (!pinfo)
162 panicf("disk: NULL"); 162 panicf("disk: NULL");
163 163
164 fat_init();
164 for ( i=0; i<4; i++ ) { 165 for ( i=0; i<4; i++ ) {
165 rc = fat_mount(pinfo[i].start); 166 rc = fat_mount(IF_MV2(0,) IF_MV2(0,) pinfo[i].start);
166 if (!rc) 167 if (!rc)
167 break; 168 break; /* only one partition gets mounted as of now */
168 } 169 }
169 if (i==4) 170 if (i==4)
170 panicf("mount: %d",rc); 171 panicf("mount: %d",rc);
172#ifdef HAVE_MULTIVOLUME
173 /* mount partition on the optional volume */
174#ifdef HAVE_MMC
175 if (mmc_detect()) /* for Ondio, only if card detected */
176#endif
177 {
178 pinfo = disk_init(1);
179 if (pinfo)
180 {
181 for ( i=0; i<4; i++ ) {
182 if (!fat_mount(1, 1, pinfo[i].start))
183 break; /* only one partition gets mounted as of now */
184 }
185
186 if ( i==4 ) {
187 rc = fat_mount(1, 1, 0);
188 }
189 }
190 }
191#endif /* #ifdef HAVE_MULTIVOLUME */
171 } 192 }
172} 193}
173 194