summaryrefslogtreecommitdiffstats
path: root/firmware
diff options
context:
space:
mode:
authorRafaël Carré <rafael.carre@gmail.com>2009-07-17 16:34:34 +0000
committerRafaël Carré <rafael.carre@gmail.com>2009-07-17 16:34:34 +0000
commitbdb5974c0ef05ca548beabdd2ece0512a60024f9 (patch)
tree3d0fe4215ab3f1fdb2b0588f4d034e5d514874ea /firmware
parentcf9935d6362dd52e4b2f33dd19fff0a0860814d7 (diff)
downloadrockbox-bdb5974c0ef05ca548beabdd2ece0512a60024f9.tar.gz
rockbox-bdb5974c0ef05ca548beabdd2ece0512a60024f9.tar.bz2
rockbox-bdb5974c0ef05ca548beabdd2ece0512a60024f9.zip
Revert r21912 : "Storage API : remove undeeded target-specific functions"
After a discussion mixed on mailing list and irc, it was agreed that more abstraction for plugins is better (so developers don't have to add a check to HAVE_DISK_STORAGE when writing disk-specific code) git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21923 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware')
-rw-r--r--firmware/drivers/sd.c13
-rw-r--r--firmware/export/mmc.h3
-rw-r--r--firmware/export/nand.h3
-rw-r--r--firmware/export/sd.h3
-rw-r--r--firmware/export/storage.h18
-rw-r--r--firmware/target/arm/ata-nand-telechips.c13
-rw-r--r--firmware/target/arm/s5l8700/ata-nand-s5l8700.c23
-rw-r--r--firmware/target/mips/ingenic_jz47xx/ata-nand-jz4740.c28
8 files changed, 95 insertions, 9 deletions
diff --git a/firmware/drivers/sd.c b/firmware/drivers/sd.c
index fdc05c73b7..4034b9453d 100644
--- a/firmware/drivers/sd.c
+++ b/firmware/drivers/sd.c
@@ -66,6 +66,19 @@ void sd_parse_csd(tCardInfo *card)
logf("nsac: %d taac: %d r2w: %d", card->nsac, card->taac, card->r2w_factor);
}
+void sd_sleep(void)
+{
+}
+
+void sd_spin(void)
+{
+}
+
+void sd_spindown(int seconds)
+{
+ (void)seconds;
+}
+
#ifdef STORAGE_GET_INFO
void sd_get_info(IF_MV2(int drive,) struct storage_info *info)
{
diff --git a/firmware/export/mmc.h b/firmware/export/mmc.h
index bd4b7f93ec..06d99d219e 100644
--- a/firmware/export/mmc.h
+++ b/firmware/export/mmc.h
@@ -28,6 +28,8 @@
struct storage_info;
void mmc_enable(bool on);
+void mmc_spindown(int seconds);
+void mmc_sleep(void);
void mmc_sleepnow(void);
bool mmc_disk_is_active(void);
int mmc_soft_reset(void);
@@ -35,6 +37,7 @@ int mmc_init(void);
void mmc_close(void);
int mmc_read_sectors(IF_MV2(int drive,) unsigned long start, int count, void* buf);
int mmc_write_sectors(IF_MV2(int drive,) unsigned long start, int count, const void* buf);
+void mmc_spin(void);
int mmc_spinup_time(void);
#ifdef STORAGE_GET_INFO
diff --git a/firmware/export/nand.h b/firmware/export/nand.h
index 64416b9de5..a5b0a1ceee 100644
--- a/firmware/export/nand.h
+++ b/firmware/export/nand.h
@@ -28,12 +28,15 @@
struct storage_info;
void nand_enable(bool on);
+void nand_spindown(int seconds);
+void nand_sleep(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_MV2(int drive,) unsigned long start, int count, void* buf);
int nand_write_sectors(IF_MV2(int drive,) unsigned long start, int count, const void* buf);
+void nand_spin(void);
#ifdef STORAGE_GET_INFO
void nand_get_info(IF_MV2(int drive,) struct storage_info *info);
diff --git a/firmware/export/sd.h b/firmware/export/sd.h
index f100f3025f..d313a4c2e1 100644
--- a/firmware/export/sd.h
+++ b/firmware/export/sd.h
@@ -30,12 +30,15 @@
struct storage_info;
void sd_enable(bool on);
+void sd_spindown(int seconds);
+void sd_sleep(void);
bool sd_disk_is_active(void);
int sd_soft_reset(void);
int sd_init(void);
void sd_close(void);
int sd_read_sectors(IF_MV2(int drive,) unsigned long start, int count, void* buf);
int sd_write_sectors(IF_MV2(int drive,) unsigned long start, int count, const void* buf);
+void sd_spin(void);
#ifdef STORAGE_GET_INFO
void sd_get_info(IF_MV2(int drive,) struct storage_info *info);
diff --git a/firmware/export/storage.h b/firmware/export/storage.h
index 73ec970635..47d8abda52 100644
--- a/firmware/export/storage.h
+++ b/firmware/export/storage.h
@@ -81,9 +81,9 @@ struct storage_info
#define storage_present(drive) ata_present(IF_MV(drive))
#endif
#elif (CONFIG_STORAGE & STORAGE_SD)
- #define storage_spindown(seconds) (void)0
- #define storage_sleep() (void)0
- #define storage_spin() (void)0
+ #define storage_spindown sd_spindown
+ #define storage_sleep sd_sleep
+ #define storage_spin sd_spin
#define storage_enable(on) sd_enable(on)
#define storage_sleepnow() sd_sleepnow()
@@ -105,9 +105,9 @@ struct storage_info
#define storage_present(drive) sd_present(IF_MV(drive))
#endif
#elif (CONFIG_STORAGE & STORAGE_MMC)
- #define storage_spindown(seconds) (void)0
- #define storage_sleep() (void)0
- #define storage_spin() (void)0
+ #define storage_spindown mmc_spindown
+ #define storage_sleep mmc_sleep
+ #define storage_spin mmc_spin
#define storage_enable(on) mmc_enable(on)
#define storage_sleepnow() mmc_sleepnow()
@@ -129,9 +129,9 @@ struct storage_info
#define storage_present(drive) mmc_present(IF_MV(drive))
#endif
#elif (CONFIG_STORAGE & STORAGE_NAND)
- #define storage_spindown(seconds) (void)0
- #define storage_sleep() (void)0
- #define storage_spin() (void)0
+ #define storage_spindown nand_spindown
+ #define storage_sleep nand_sleep
+ #define storage_spin nand_spin
#define storage_enable(on) (void)0
#define storage_sleepnow() nand_sleepnow()
diff --git a/firmware/target/arm/ata-nand-telechips.c b/firmware/target/arm/ata-nand-telechips.c
index 698f2b9d42..8bef57ee21 100644
--- a/firmware/target/arm/ata-nand-telechips.c
+++ b/firmware/target/arm/ata-nand-telechips.c
@@ -900,3 +900,16 @@ long nand_last_disk_activity(void)
{
return last_disk_activity;
}
+
+void nand_sleep(void)
+{
+}
+
+void nand_spin(void)
+{
+}
+
+void nand_spindown(int seconds)
+{
+ (void)seconds;
+}
diff --git a/firmware/target/arm/s5l8700/ata-nand-s5l8700.c b/firmware/target/arm/s5l8700/ata-nand-s5l8700.c
index 183ef18f40..ee1e581270 100644
--- a/firmware/target/arm/s5l8700/ata-nand-s5l8700.c
+++ b/firmware/target/arm/s5l8700/ata-nand-s5l8700.c
@@ -64,6 +64,29 @@ int nand_write_sectors(IF_MV2(int drive,) unsigned long start, int count,
return 0;
}
+void nand_spindown(int seconds)
+{
+ (void)seconds;
+}
+
+bool nand_disk_is_active(void)
+{
+ return 0;
+}
+
+void nand_sleep(void)
+{
+}
+
+void nand_spin(void)
+{
+}
+
+int nand_soft_reset(void)
+{
+ return 0;
+}
+
void nand_enable(bool on)
{
(void)on;
diff --git a/firmware/target/mips/ingenic_jz47xx/ata-nand-jz4740.c b/firmware/target/mips/ingenic_jz47xx/ata-nand-jz4740.c
index 28325033b0..d9189280e8 100644
--- a/firmware/target/mips/ingenic_jz47xx/ata-nand-jz4740.c
+++ b/firmware/target/mips/ingenic_jz47xx/ata-nand-jz4740.c
@@ -685,6 +685,34 @@ int nand_write_sectors(IF_MV2(int drive,) unsigned long start, int count, const
return -1;
}
+void nand_spindown(int seconds)
+{
+ /* null */
+ (void)seconds;
+}
+
+bool nand_disk_is_active(void)
+{
+ /* null */
+ return false;
+}
+
+void nand_sleep(void)
+{
+ /* null */
+}
+
+void nand_spin(void)
+{
+ /* null */
+}
+
+int nand_soft_reset(void)
+{
+ /* null */
+ return 0;
+}
+
void nand_enable(bool on)
{
/* null - flash controller is enabled/disabled as needed. */