summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRafaël Carré <rafael.carre@gmail.com>2009-07-01 23:39:57 +0000
committerRafaël Carré <rafael.carre@gmail.com>2009-07-01 23:39:57 +0000
commit293b499093baef544f7148a0fcfa18d28ed3d1ea (patch)
treed1b7dc73085f2d443a683cd40569ef3d9b558c6e
parentccbd8f4f31ec7f2c2ca03d3ac57ccdb28afc132c (diff)
downloadrockbox-293b499093baef544f7148a0fcfa18d28ed3d1ea.tar.gz
rockbox-293b499093baef544f7148a0fcfa18d28ed3d1ea.zip
Move sd_get_info() into common sd code
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21610 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--firmware/drivers/sd.c23
-rw-r--r--firmware/target/arm/as3525/ata_sd_as3525.c14
-rw-r--r--firmware/target/arm/ata-sd-pp.c21
-rw-r--r--firmware/target/mips/ingenic_jz47xx/ata-sd-jz4740.c18
4 files changed, 23 insertions, 53 deletions
diff --git a/firmware/drivers/sd.c b/firmware/drivers/sd.c
index 3e05b05742..d566e614d2 100644
--- a/firmware/drivers/sd.c
+++ b/firmware/drivers/sd.c
@@ -21,6 +21,7 @@
21 21
22#include "config.h" 22#include "config.h"
23#include "hotswap.h" 23#include "hotswap.h"
24#include "storage.h"
24 25
25static const unsigned char sd_mantissa[] = { /* *10 */ 26static const unsigned char sd_mantissa[] = { /* *10 */
26 0, 10, 12, 13, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 70, 80 }; 27 0, 10, 12, 13, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 70, 80 };
@@ -75,3 +76,25 @@ void sd_spindown(int seconds)
75{ 76{
76 (void)seconds; 77 (void)seconds;
77} 78}
79
80#ifdef STORAGE_GET_INFO
81void sd_get_info(IF_MV2(int drive,) struct storage_info *info)
82{
83#ifndef HAVE_MULTIVOLUME
84 const int drive=0;
85#endif
86
87 tCardInfo *card = card_get_info_target(drive);
88
89 info->sector_size=card->blocksize;
90 info->num_sectors=card->numblocks;
91 info->vendor="Rockbox";
92#if CONFIG_STORAGE == STORAGE_SD
93 info->product = (drive==0) ? "Internal Storage" : "SD Card Slot";
94#else /* Internal storage is not SD */
95 info->product = "SD Card Slot";
96#endif
97 info->revision="0.00";
98}
99#endif
100
diff --git a/firmware/target/arm/as3525/ata_sd_as3525.c b/firmware/target/arm/as3525/ata_sd_as3525.c
index f32e527ff2..4ce14383f0 100644
--- a/firmware/target/arm/as3525/ata_sd_as3525.c
+++ b/firmware/target/arm/as3525/ata_sd_as3525.c
@@ -495,20 +495,6 @@ int sd_init(void)
495 return 0; 495 return 0;
496} 496}
497 497
498#ifdef STORAGE_GET_INFO
499void sd_get_info(IF_MV2(int drive,) struct storage_info *info)
500{
501#ifndef HAVE_MULTIVOLUME
502 const int drive=0;
503#endif
504 info->sector_size=card_info[drive].blocksize;
505 info->num_sectors=card_info[drive].numblocks;
506 info->vendor="Rockbox";
507 info->product = (drive == 0) ? "Internal Storage" : "SD Card Slot";
508 info->revision="0.00";
509}
510#endif
511
512#ifdef HAVE_HOTSWAP 498#ifdef HAVE_HOTSWAP
513bool sd_removable(IF_MV_NONVOID(int drive)) 499bool sd_removable(IF_MV_NONVOID(int drive))
514{ 500{
diff --git a/firmware/target/arm/ata-sd-pp.c b/firmware/target/arm/ata-sd-pp.c
index 9c89c78da8..e1e85b8a92 100644
--- a/firmware/target/arm/ata-sd-pp.c
+++ b/firmware/target/arm/ata-sd-pp.c
@@ -1334,27 +1334,6 @@ long sd_last_disk_activity(void)
1334 return last_disk_activity; 1334 return last_disk_activity;
1335} 1335}
1336 1336
1337#ifdef STORAGE_GET_INFO
1338void sd_get_info(IF_MV2(int drive,) struct storage_info *info)
1339{
1340#ifndef HAVE_MULTIVOLUME
1341 const int drive=0;
1342#endif
1343 info->sector_size=card_info[drive].blocksize;
1344 info->num_sectors=card_info[drive].numblocks;
1345 info->vendor="Rockbox";
1346 if(drive==0)
1347 {
1348 info->product="Internal Storage";
1349 }
1350 else
1351 {
1352 info->product="SD Card Slot";
1353 }
1354 info->revision="0.00";
1355}
1356#endif
1357
1358#ifdef HAVE_HOTSWAP 1337#ifdef HAVE_HOTSWAP
1359bool sd_removable(IF_MV_NONVOID(int drive)) 1338bool sd_removable(IF_MV_NONVOID(int drive))
1360{ 1339{
diff --git a/firmware/target/mips/ingenic_jz47xx/ata-sd-jz4740.c b/firmware/target/mips/ingenic_jz47xx/ata-sd-jz4740.c
index 957db2af0e..c48ee0be73 100644
--- a/firmware/target/mips/ingenic_jz47xx/ata-sd-jz4740.c
+++ b/firmware/target/mips/ingenic_jz47xx/ata-sd-jz4740.c
@@ -1743,21 +1743,3 @@ bool sd_present(IF_MV_NONVOID(int drive))
1743#endif 1743#endif
1744 return (sdinfo.block_num > 0 && card_detect_target()); 1744 return (sdinfo.block_num > 0 && card_detect_target());
1745} 1745}
1746
1747#ifdef STORAGE_GET_INFO
1748void sd_get_info(IF_MV2(int drive,) struct storage_info *info)
1749{
1750#ifdef HAVE_MULTIVOLUME
1751 (void)drive;
1752#endif
1753 /* firmware version */
1754 info->revision="0.00";
1755
1756 info->vendor="Rockbox";
1757 info->product="SD Storage";
1758
1759 /* blocks count */
1760 info->num_sectors = sdinfo.block_num;
1761 info->sector_size = sdinfo.block_len;
1762}
1763#endif