mmcsd: Remove the not really used capacity field

to avoid the check of CONFIG_HAVE_LONG_LONG in many place

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
This commit is contained in:
Xiang Xiao 2022-07-14 05:34:28 +08:00 committed by Petro Karashchenko
parent 8e5e6ab8cb
commit a2239891e7

View File

@ -93,6 +93,8 @@
# define MMCSD_MULTIBLOCK_LIMIT CONFIG_MMCSD_MULTIBLOCK_LIMIT
#endif
#define MMCSD_CAPACITY(b, s) ((s) >= 10 ? (b) << ((s) - 10) : (b) >> (10 - (s)))
/****************************************************************************
* Private Types
****************************************************************************/
@ -130,12 +132,6 @@ struct mmcsd_state_s
uint8_t blockshift; /* Log2 of blocksize */
uint16_t blocksize; /* Read block length (== block size) */
uint32_t nblocks; /* Number of blocks */
#ifdef CONFIG_HAVE_LONG_LONG
uint64_t capacity; /* Total capacity of volume */
#else
uint32_t capacity; /* Total capacity of volume (Limited to 4Gb) */
#endif
};
/****************************************************************************
@ -537,7 +533,6 @@ static int mmcsd_get_scr(FAR struct mmcsd_state_s *priv, uint32_t scr[2])
* priv->wrprotect true: card is write protected (from CSD)
* priv->blocksize Read block length (== block size)
* priv->nblocks Number of blocks
* priv->capacity Total capacity of volume
*
****************************************************************************/
@ -655,11 +650,6 @@ static void mmcsd_decode_csd(FAR struct mmcsd_state_s *priv, uint32_t csd[4])
priv->blockshift = readbllen;
priv->blocksize = (1 << readbllen);
#ifdef CONFIG_HAVE_LONG_LONG
priv->capacity = ((uint64_t)(priv->nblocks)) << readbllen;
#else
priv->capacity = (priv->nblocks << readbllen);
#endif
if (priv->blocksize > 512)
{
@ -692,14 +682,10 @@ static void mmcsd_decode_csd(FAR struct mmcsd_state_s *priv, uint32_t csd[4])
*/
uint32_t csize = ((csd[1] & 0x3f) << 16) | (csd[2] >> 16);
#ifdef CONFIG_HAVE_LONG_LONG
priv->capacity = ((uint64_t)(csize + 1)) << 19;
#else
priv->capacity = (csize + 1) << 19;
#endif
priv->blockshift = 9;
priv->blocksize = 1 << 9;
priv->nblocks = priv->capacity >> 9;
priv->nblocks = (csize + 1) << (19 - priv->blockshift);
#ifdef CONFIG_DEBUG_FS_INFO
decoded.u.sdblock.csize = csize;
@ -724,7 +710,6 @@ static void mmcsd_decode_csd(FAR struct mmcsd_state_s *priv, uint32_t csd[4])
(1 << (csizemult + 2));
priv->blockshift = readbllen;
priv->blocksize = (1 << readbllen);
priv->capacity = (priv->nblocks << readbllen);
/* Some devices, such as 2Gb devices, report blocksizes larger than
* 512 bytes but still expect to be accessed with a 512 byte blocksize.
@ -893,8 +878,8 @@ static void mmcsd_decode_csd(FAR struct mmcsd_state_s *priv, uint32_t csd[4])
decoded.fileformat, decoded.mmcecc, decoded.crc);
finfo("Capacity: %luKb, Block size: %db, nblocks: %d wrprotect: %d\n",
(unsigned long)(priv->capacity / 1024), priv->blocksize,
priv->nblocks, priv->wrprotect);
(unsigned long)MMCSD_CAPACITY(priv->nblocks, priv->blockshift),
priv->blocksize, priv->nblocks, priv->wrprotect);
#endif
}
@ -3377,8 +3362,8 @@ static int mmcsd_probe(FAR struct mmcsd_state_s *priv)
{
/* Yes... */
finfo("Capacity: %lu Kbytes\n",
(unsigned long)(priv->capacity / 1024));
finfo("Capacity: %" PRIu32 " Kbytes\n",
MMCSD_CAPACITY(priv->nblocks, priv->blockshift));
priv->mediachanged = true;
}
@ -3432,7 +3417,6 @@ static int mmcsd_removed(FAR struct mmcsd_state_s *priv)
* be), and that the card has never been initialized.
*/
priv->capacity = 0; /* Capacity=0 sometimes means no media */
priv->blocksize = 0;
priv->probed = false;
priv->mediachanged = false;