summaryrefslogtreecommitdiff
path: root/bootloader
diff options
context:
space:
mode:
Diffstat (limited to 'bootloader')
-rw-r--r--bootloader/creativezvm.c5
-rw-r--r--bootloader/gigabeat-s.c16
-rw-r--r--bootloader/gigabeat.c3
-rw-r--r--bootloader/iaudio_coldfire.c2
-rw-r--r--bootloader/imx233.c3
-rw-r--r--bootloader/ipod.c10
-rw-r--r--bootloader/ipodnano2g.c4
-rw-r--r--bootloader/iriver_h1x0.c3
-rw-r--r--bootloader/iriver_h300.c4
-rw-r--r--bootloader/main-e200r-installer.c19
-rw-r--r--bootloader/main-pp.c15
-rw-r--r--bootloader/mini2440.c3
-rw-r--r--bootloader/mpio_hd200_hd300.c3
-rw-r--r--bootloader/mrobe500.c5
-rw-r--r--bootloader/ondavx747.c3
-rw-r--r--bootloader/rk27xx.c4
-rw-r--r--bootloader/sansa_as3525.c10
-rw-r--r--bootloader/sansaconnect.c3
-rw-r--r--bootloader/telechips.c3
-rw-r--r--bootloader/tpj1022.c3
20 files changed, 70 insertions, 51 deletions
diff --git a/bootloader/creativezvm.c b/bootloader/creativezvm.c
index f31f649..6597448 100644
--- a/bootloader/creativezvm.c
+++ b/bootloader/creativezvm.c
@@ -22,6 +22,7 @@
#include "../kernel-internal.h"
#include "storage.h"
#include "ata-target.h"
+#include "file_internal.h"
#include "disk.h"
#include "font.h"
#include "backlight.h"
@@ -73,6 +74,8 @@ void main(void)
ret = storage_init();
if(ret)
printf("ATA error: %d", ret);
+
+ filesystem_init();
/* If no button is held, start the OF */
if(button_read_device() == 0)
@@ -93,8 +96,6 @@ void main(void)
}
else
{
- disk_init();
-
ret = disk_mount_all();
if (ret <= 0)
error(EDISK, ret, true);
diff --git a/bootloader/gigabeat-s.c b/bootloader/gigabeat-s.c
index 3b852db..499d9c2 100644
--- a/bootloader/gigabeat-s.c
+++ b/bootloader/gigabeat-s.c
@@ -21,13 +21,16 @@
#include "config.h"
#include "system.h"
#include <stdio.h>
+#include <errno.h>
#include "../kernel-internal.h"
#include "gcc_extensions.h"
#include "string.h"
#include "adc.h"
#include "powermgmt.h"
#include "storage.h"
+#include "file_internal.h"
#include "dir.h"
+#include "file.h"
#include "disk.h"
#include "common.h"
#include "rb-loader.h"
@@ -219,7 +222,7 @@ static void untar(int tar_fd)
/* Create the dir */
ret = mkdir(path);
- if (ret < 0 && ret != -4)
+ if (ret < 0 && errno != EEXIST)
{
printf("failed to create dir (%d)", ret);
}
@@ -233,14 +236,14 @@ static void handle_untar(void)
char buf[MAX_PATH];
char tarstring[6];
char model[5];
- struct dirent_uncached* entry;
- DIR_UNCACHED* dir;
+ struct dirent* entry;
+ DIR* dir;
int fd;
int rc;
- dir = opendir_uncached(basedir);
+ dir = opendir(basedir);
- while ((entry = readdir_uncached(dir)))
+ while ((entry = readdir(dir)))
{
if (*entry->d_name == '.')
continue;
@@ -262,7 +265,6 @@ static void handle_untar(void)
verbose = true;
printf("Found rockbox binary. Moving...");
close(fd);
- remove( BOOTDIR "/" BOOTFILE);
int ret = rename(buf, BOOTDIR "/" BOOTFILE);
printf("returned %d", ret);
sleep(HZ);
@@ -365,7 +367,7 @@ void main(void)
if(rc)
error(EATA, rc, true);
- disk_init();
+ filesystem_init();
rc = disk_mount_all();
if (rc <= 0)
diff --git a/bootloader/gigabeat.c b/bootloader/gigabeat.c
index 52f55a5..4d52407 100644
--- a/bootloader/gigabeat.c
+++ b/bootloader/gigabeat.c
@@ -30,6 +30,7 @@
#include "../kernel-internal.h"
#include "storage.h"
#include "fat.h"
+#include "file_internal.h"
#include "disk.h"
#include "font.h"
#include "adc.h"
@@ -185,7 +186,7 @@ void main(void)
error(EATA, rc, true);
}
- disk_init();
+ filesystem_init();
rc = disk_mount_all();
if (rc<=0)
diff --git a/bootloader/iaudio_coldfire.c b/bootloader/iaudio_coldfire.c
index 013e885..2f31958 100644
--- a/bootloader/iaudio_coldfire.c
+++ b/bootloader/iaudio_coldfire.c
@@ -196,7 +196,7 @@ void main(void)
if(rc)
error(EATA, rc, true);
- disk_init();
+ filesystem_init();
rc = disk_mount_all();
if (rc<=0)
diff --git a/bootloader/imx233.c b/bootloader/imx233.c
index d2562d0..76fdf88 100644
--- a/bootloader/imx233.c
+++ b/bootloader/imx233.c
@@ -35,6 +35,7 @@
#include "rb-loader.h"
#include "loader_strerror.h"
#include "storage.h"
+#include "file_internal.h"
#include "disk.h"
#include "panic.h"
#include "power.h"
@@ -171,7 +172,7 @@ void main(uint32_t arg, uint32_t addr)
if(ret < 0)
error(EATA, ret, true);
- disk_init_subsystem();
+ filesystem_init();
/* NOTE: disk_mount_all to fail since we can do USB after.
* We need this order to determine the correct logical sector size */
diff --git a/bootloader/ipod.c b/bootloader/ipod.c
index b2d4532..8580886 100644
--- a/bootloader/ipod.c
+++ b/bootloader/ipod.c
@@ -33,6 +33,7 @@
#include "../kernel-internal.h"
#include "ata.h"
#include "fat.h"
+#include "file_internal.h"
#include "disk.h"
#include "font.h"
#include "adc.h"
@@ -295,7 +296,7 @@ void* main(void)
int rc;
bool haveramos;
bool button_was_held;
- struct partinfo* pinfo;
+ struct partinfo pinfo;
unsigned short* identify_info;
/* Check the button hold status as soon as possible - to
@@ -353,7 +354,8 @@ void* main(void)
printf("ATA: %d", i);
}
- disk_init();
+ filesystem_init();
+
rc = disk_mount_all();
if (rc<=0)
{
@@ -361,9 +363,9 @@ void* main(void)
fatal_error();
}
- pinfo = disk_partinfo(1);
+ disk_partinfo(1, &pinfo);
printf("Partition 1: 0x%02x %ld sectors",
- pinfo->type, pinfo->size);
+ pinfo.type, pinfo.size);
if (button_was_held || (btn==BUTTON_MENU)) {
/* If either the hold switch was on, or the Menu button was held, then
diff --git a/bootloader/ipodnano2g.c b/bootloader/ipodnano2g.c
index cdd866f..d0a8e02 100644
--- a/bootloader/ipodnano2g.c
+++ b/bootloader/ipodnano2g.c
@@ -32,6 +32,7 @@
#include "lcd.h"
#include "i2c-s5l8700.h"
#include "../kernel-internal.h"
+#include "file_internal.h"
#include "storage.h"
#include "fat.h"
#include "disk.h"
@@ -213,7 +214,8 @@ void main(void)
fatal_error();
}
- disk_init();
+ filesystem_init();
+
rc = disk_mount_all();
if (rc<=0)
{
diff --git a/bootloader/iriver_h1x0.c b/bootloader/iriver_h1x0.c
index 7f236d4..742d0dd 100644
--- a/bootloader/iriver_h1x0.c
+++ b/bootloader/iriver_h1x0.c
@@ -31,6 +31,7 @@
#include "scroll_engine.h"
#include "../kernel-internal.h"
#include "storage.h"
+#include "file_internal.h"
#include "usb.h"
#include "disk.h"
#include "font.h"
@@ -596,7 +597,7 @@ void main(void)
}
- disk_init();
+ filesystem_init();
rc = disk_mount_all();
if (rc<=0)
diff --git a/bootloader/iriver_h300.c b/bootloader/iriver_h300.c
index 362eb94..100e660 100644
--- a/bootloader/iriver_h300.c
+++ b/bootloader/iriver_h300.c
@@ -31,6 +31,7 @@
#include "scroll_engine.h"
#include "../kernel-internal.h"
#include "storage.h"
+#include "file_internal.h"
#include "usb.h"
#include "disk.h"
#include "font.h"
@@ -349,8 +350,7 @@ void main(void)
while(!(button_get(true) & BUTTON_REL));
}
-
- disk_init();
+ filesystem_init();
rc = disk_mount_all();
if (rc<=0)
diff --git a/bootloader/main-e200r-installer.c b/bootloader/main-e200r-installer.c
index 490f1f0..c5751d3 100644
--- a/bootloader/main-e200r-installer.c
+++ b/bootloader/main-e200r-installer.c
@@ -26,12 +26,13 @@
#include <stdlib.h>
#include "common.h"
#include "cpu.h"
-#include "file.h"
#include "system.h"
#include "../kernel-internal.h"
#include "lcd.h"
#include "font.h"
#include "storage.h"
+#include "file_internal.h"
+#include "file.h"
#include "button.h"
#include "disk.h"
#include "crc32-mi4.h"
@@ -92,7 +93,7 @@ void* main(void)
int num_partitions;
int crc32;
char sector[512];
- struct partinfo* pinfo;
+ struct partinfo pinfo;
system_init();
kernel_init();
@@ -117,7 +118,7 @@ void* main(void)
printf("");
i=storage_init();
- disk_init(IF_MV(0));
+ filesystem_init();
num_partitions = disk_mount_all();
if (num_partitions<=0)
@@ -125,17 +126,17 @@ void* main(void)
error(EDISK, num_partitions, true);
}
- pinfo = disk_partinfo(1);
+ disk_partinfo(1, &pinfo);
#if 0 /* not needed in release builds */
printf("--- Partition info ---");
- printf("start: %x", pinfo->start);
- printf("size: %x", pinfo->size);
- printf("type: %x", pinfo->type);
+ printf("start: %x", pinfo.start);
+ printf("size: %x", pinfo.size);
+ printf("type: %x", pinfo.type);
printf("reading: %x", (START_SECTOR_OF_ROM + ROMSECTOR_TO_HACK)*512);
#endif
- storage_read_sectors(pinfo->start + START_SECTOR_OF_ROM + ROMSECTOR_TO_HACK,
+ storage_read_sectors(pinfo.start + START_SECTOR_OF_ROM + ROMSECTOR_TO_HACK,
1 , sector);
crc32 = chksum_crc32 (sector, 512);
@@ -157,7 +158,7 @@ void* main(void)
memcpy(&sector[HACK_OFFSET], changedBytes,
sizeof(changedBytes)/sizeof(*changedBytes));
storage_write_sectors(
- pinfo->start + START_SECTOR_OF_ROM + ROMSECTOR_TO_HACK,
+ pinfo.start + START_SECTOR_OF_ROM + ROMSECTOR_TO_HACK,
1 , sector);
printf("Firmware unlocked");
printf("Proceed to Step 2");
diff --git a/bootloader/main-pp.c b/bootloader/main-pp.c
index 38760a0..562cf17 100644
--- a/bootloader/main-pp.c
+++ b/bootloader/main-pp.c
@@ -33,6 +33,7 @@
#include "lcd.h"
#include "font.h"
#include "storage.h"
+#include "file_internal.h"
#include "adc.h"
#include "button.h"
#include "disk.h"
@@ -291,7 +292,7 @@ void* main(void)
int btn;
int rc;
int num_partitions;
- struct partinfo* pinfo;
+ struct partinfo pinfo;
#if !(CONFIG_STORAGE & STORAGE_SD)
char buf[256];
unsigned short* identify_info;
@@ -370,7 +371,7 @@ void* main(void)
}
#endif
- disk_init(IF_MV(0));
+ filesystem_init();
num_partitions = disk_mount_all();
if (num_partitions<=0)
{
@@ -381,9 +382,9 @@ void* main(void)
that have more than that */
for(i=0; i<NUM_PARTITIONS; i++)
{
- pinfo = disk_partinfo(i);
+ disk_partinfo(i, &pinfo);
printf("Partition %d: 0x%02x %ld MB",
- i, pinfo->type, pinfo->size / 2048);
+ i, pinfo.type, pinfo.size / 2048);
}
/* Now that storage is initialized, check for USB connection */
@@ -430,10 +431,10 @@ void* main(void)
#if (CONFIG_STORAGE & STORAGE_SD)
/* First try a (hidden) firmware partition */
printf("Trying firmware partition");
- pinfo = disk_partinfo(1);
- if(pinfo->type == PARTITION_TYPE_OS2_HIDDEN_C_DRIVE)
+ disk_partinfo(1, &pinfo);
+ if(pinfo.type == PARTITION_TYPE_OS2_HIDDEN_C_DRIVE)
{
- rc = load_mi4_part(loadbuffer, pinfo, MAX_LOADSIZE,
+ rc = load_mi4_part(loadbuffer, &pinfo, MAX_LOADSIZE,
usb == USB_INSERTED);
if (rc <= EFILE_EMPTY) {
printf("Can't load from partition");
diff --git a/bootloader/mini2440.c b/bootloader/mini2440.c
index b3d73d1..4088065 100644
--- a/bootloader/mini2440.c
+++ b/bootloader/mini2440.c
@@ -29,6 +29,7 @@
#include "lcd.h"
#include "../kernel-internal.h"
#include "storage.h"
+#include "file_internal.h"
#include "fat.h"
#include "disk.h"
#include "font.h"
@@ -88,7 +89,7 @@ int main(void)
error(EATA, rc, true);
}
- disk_init(IF_MD(0));
+ filesystem_init();
rc = disk_mount_all();
if (rc<=0)
{
diff --git a/bootloader/mpio_hd200_hd300.c b/bootloader/mpio_hd200_hd300.c
index a4e13e1..e66732f 100644
--- a/bootloader/mpio_hd200_hd300.c
+++ b/bootloader/mpio_hd200_hd300.c
@@ -29,6 +29,7 @@
#include "lcd.h"
#include "../kernel-internal.h"
#include "storage.h"
+#include "file_internal.h"
#include "usb.h"
#include "disk.h"
#include "font.h"
@@ -202,7 +203,7 @@ static void rb_boot(void)
if(rc)
error(EATA, rc, true);
- disk_init();
+ filesystem_init();
rc = disk_mount_all();
if (rc <= 0)
diff --git a/bootloader/mrobe500.c b/bootloader/mrobe500.c
index 0b9ffb6..08ba6f2 100644
--- a/bootloader/mrobe500.c
+++ b/bootloader/mrobe500.c
@@ -26,6 +26,7 @@
#include "lcd.h"
#include "../kernel-internal.h"
#include "storage.h"
+#include "file_internal.h"
#include "fat.h"
#include "disk.h"
#include "font.h"
@@ -123,8 +124,8 @@ void main(void)
error(EATA, rc, true);
}
- printf("disk");
- disk_init();
+ printf("filesystem");
+ filesystem_init();
printf("mount");
rc = disk_mount_all();
diff --git a/bootloader/ondavx747.c b/bootloader/ondavx747.c
index 3d03c36..0f1c504 100644
--- a/bootloader/ondavx747.c
+++ b/bootloader/ondavx747.c
@@ -33,6 +33,7 @@
#include "rb-loader.h"
#include "loader_strerror.h"
#include "storage.h"
+#include "file_internal.h"
#include "disk.h"
#include "string.h"
#include "adc.h"
@@ -269,6 +270,8 @@ int main(void)
show_logo();
+ filesystem_init();
+
rc = storage_init();
if(rc)
error(EATA, rc, true);
diff --git a/bootloader/rk27xx.c b/bootloader/rk27xx.c
index d190ea5..57e5868 100644
--- a/bootloader/rk27xx.c
+++ b/bootloader/rk27xx.c
@@ -12,6 +12,7 @@
#include "button.h"
#include "common.h"
#include "storage.h"
+#include "file_internal.h"
#include "disk.h"
#include "panic.h"
#include "power.h"
@@ -146,8 +147,7 @@ void main(void)
if(ret < 0)
error(EATA, ret, true);
- while(!disk_init(IF_MV(0)))
- panicf("disk_init failed!");
+ filesystem_init();
while((ret = disk_mount_all()) <= 0)
error(EDISK, ret, true);
diff --git a/bootloader/sansa_as3525.c b/bootloader/sansa_as3525.c
index 8592f24..01fb845 100644
--- a/bootloader/sansa_as3525.c
+++ b/bootloader/sansa_as3525.c
@@ -39,6 +39,7 @@
#include "rb-loader.h"
#include "loader_strerror.h"
#include "storage.h"
+#include "file_internal.h"
#include "disk.h"
#include "panic.h"
#include "power.h"
@@ -119,6 +120,8 @@ void main(void)
if(ret < 0)
error(EATA, ret, true);
+ filesystem_init();
+
#ifdef USE_ROCKBOX_USB
usb_init();
usb_start_monitoring();
@@ -128,13 +131,6 @@ void main(void)
usb_mode();
#endif /* USE_ROCKBOX_USB */
- while(!disk_init(IF_MV(0)))
-#ifdef USE_ROCKBOX_USB
- usb_mode();
-#else
- panicf("disk_init failed!");
-#endif
-
while((ret = disk_mount_all()) <= 0)
{
#ifdef USE_ROCKBOX_USB
diff --git a/bootloader/sansaconnect.c b/bootloader/sansaconnect.c
index 48617ec..5bd59b3 100644
--- a/bootloader/sansaconnect.c
+++ b/bootloader/sansaconnect.c
@@ -21,6 +21,7 @@
#include "lcd.h"
#include "../kernel-internal.h"
#include "storage.h"
+#include "file_internal.h"
#include "disk.h"
#include "font.h"
#include "backlight.h"
@@ -72,7 +73,7 @@ void main(void)
if(ret)
printf("SD error: %d", ret);
- disk_init(IF_MD(0));
+ filesystem_init();
ret = disk_mount_all();
if (ret <= 0)
diff --git a/bootloader/telechips.c b/bootloader/telechips.c
index 17ba509..d2cf10e 100644
--- a/bootloader/telechips.c
+++ b/bootloader/telechips.c
@@ -30,6 +30,7 @@
#include "lcd.h"
#include "../kernel-internal.h"
#include "storage.h"
+#include "file_internal.h"
#include "fat.h"
#include "disk.h"
#include "font.h"
@@ -162,6 +163,8 @@ void* main(void)
error(EATA, rc, true);
}
+ filesystem_init();
+
printf("mount");
rc = disk_mount_all();
if (rc<=0)
diff --git a/bootloader/tpj1022.c b/bootloader/tpj1022.c
index 159dcc6..30adb6b 100644
--- a/bootloader/tpj1022.c
+++ b/bootloader/tpj1022.c
@@ -31,6 +31,7 @@
#include "kernel.h"
#include "thread.h"
#include "storage.h"
+#include "file_internal.h"
#include "fat.h"
#include "disk.h"
#include "font.h"
@@ -56,7 +57,7 @@ void* main(void)
i=storage_init();
- disk_init();
+ filesystem_init();
rc = disk_mount_all();
#if 0