diff options
author | Jörg Hohensohn <hohensoh@rockbox.org> | 2004-12-28 22:16:07 +0000 |
---|---|---|
committer | Jörg Hohensohn <hohensoh@rockbox.org> | 2004-12-28 22:16:07 +0000 |
commit | da848576312800dc229624e928d132d0702c1854 (patch) | |
tree | 38cd01b8a9c1069a1de734e0f7eb478436715573 /firmware/usb.c | |
parent | ae45d970d874217b779071b414dcd5edbf5647da (diff) | |
download | rockbox-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.c | 27 |
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 | ||