/* You want to define this in the config files */ #define CONFIG_STORAGE (STORAGE_SD | STORAGE_NAND) #define HAVE_HOTSWAP /* for card slot */ /* For the NAND part */ int nand_first_drive; int nand_num_drives(int first_drive) { nand_first_drive = first_drive; return 1; /* I have one NAND drive */ } void nand_enable(bool on) { } void nand_spindown(int seconds) { } void nand_sleep(void) { } void nand_sleepnow(void) { } bool nand_disk_is_active(void) { } int nand_soft_reset(void) { } int nand_init(void) { } void nand_close(void) { } int nand_read_sectors(IF_MD2(int drive,) unsigned long start, int count, void* buf) { /* If you have one drive, drive will equals nand_first_drive. * If you have two drives, drive will equals nand_first_drive or nand_first_drive + 1 * Etc */ return -1; } int nand_write_sectors(IF_MD2(int drive,) unsigned long start, int count, const void* buf) { return -1; } /* Depends on your other defines then */ #ifdef HAVE_STORAGE_FLUSH int nand_flush(void) { } #endif void nand_spin(void) { } int nand_spinup_time(void) /* ticks */ { } #ifdef STORAGE_GET_INFO void nand_get_info(IF_MD2(int drive,) struct storage_info *info) { } #endif /* For the SD part */ int sd_first_drive; int sd_num_drives(int first_drive) { sd_first_drive = first_drive; return 1; /* I have one SD drive */ } void sd_enable(bool on) { } void sd_spindown(int seconds) { } void sd_sleep(void) { } void sd_sleepnow(void) { } bool sd_disk_is_active(void) { } int sd_soft_reset(void) { } int sd_init(void) { } int sd_read_sectors(IF_MD2(int drive,) unsigned long start, int count, void* buf) { /* same thing as nand_read_sectors */ return -1; } int sd_write_sectors(IF_MD2(int drive,) unsigned long start, int count, const void* buf) { return -1; } void sd_spin(void) { } int sd_spinup_time(void) /* ticks */ { } #ifdef STORAGE_GET_INFO void sd_get_info(IF_MD2(int drive,) struct storage_info *info) { } #endif #ifdef HAVE_HOTSWAP bool sd_removable(IF_MV_NONVOID(int drive)) { /* drive should equal sd_first_drive if you only have one SD drive */ return true; } bool sd_present(IF_MV_NONVOID(int drive)) { /* you need to implement this since it's a card slot */ return false; } #endif long sd_last_disk_activity(void);