diff options
Diffstat (limited to 'bootloader')
| -rw-r--r-- | bootloader/creativezvm.c | 5 | ||||
| -rw-r--r-- | bootloader/gigabeat-s.c | 16 | ||||
| -rw-r--r-- | bootloader/gigabeat.c | 3 | ||||
| -rw-r--r-- | bootloader/iaudio_coldfire.c | 2 | ||||
| -rw-r--r-- | bootloader/imx233.c | 3 | ||||
| -rw-r--r-- | bootloader/ipod.c | 10 | ||||
| -rw-r--r-- | bootloader/ipodnano2g.c | 4 | ||||
| -rw-r--r-- | bootloader/iriver_h1x0.c | 3 | ||||
| -rw-r--r-- | bootloader/iriver_h300.c | 4 | ||||
| -rw-r--r-- | bootloader/main-e200r-installer.c | 19 | ||||
| -rw-r--r-- | bootloader/main-pp.c | 15 | ||||
| -rw-r--r-- | bootloader/mini2440.c | 3 | ||||
| -rw-r--r-- | bootloader/mpio_hd200_hd300.c | 3 | ||||
| -rw-r--r-- | bootloader/mrobe500.c | 5 | ||||
| -rw-r--r-- | bootloader/ondavx747.c | 3 | ||||
| -rw-r--r-- | bootloader/rk27xx.c | 4 | ||||
| -rw-r--r-- | bootloader/sansa_as3525.c | 10 | ||||
| -rw-r--r-- | bootloader/sansaconnect.c | 3 | ||||
| -rw-r--r-- | bootloader/telechips.c | 3 | ||||
| -rw-r--r-- | bootloader/tpj1022.c | 3 |
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(§or[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 |