mmc: core: Re-factor code for sending CID

Instead of having the caller to check for SPI mode, let's leave that to
internals of mmc_send_cid(). In this way the code gets cleaner and it
becomes clear what is specific to SPI and non-SPI mode.

Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Reviewed-by: Shawn Lin <shawn.lin@rock-chips.com>
This commit is contained in:
Ulf Hansson 2017-06-08 15:27:43 +02:00
parent 3df66e77e1
commit a147373250
4 changed files with 12 additions and 12 deletions

View File

@ -1556,10 +1556,7 @@ static int mmc_init_card(struct mmc_host *host, u32 ocr,
/* /*
* Fetch CID from card. * Fetch CID from card.
*/ */
if (mmc_host_is_spi(host)) err = mmc_send_cid(host, cid);
err = mmc_send_cid(host, cid);
else
err = mmc_all_send_cid(host, cid);
if (err) if (err)
goto err; goto err;

View File

@ -207,7 +207,7 @@ int mmc_send_op_cond(struct mmc_host *host, u32 ocr, u32 *rocr)
return err; return err;
} }
int mmc_all_send_cid(struct mmc_host *host, u32 *cid) static int mmc_all_send_cid(struct mmc_host *host, u32 *cid)
{ {
int err; int err;
struct mmc_command cmd = {}; struct mmc_command cmd = {};
@ -334,7 +334,7 @@ err:
return ret; return ret;
} }
int mmc_send_cid(struct mmc_host *host, u32 *cid) static int mmc_spi_send_cid(struct mmc_host *host, u32 *cid)
{ {
int ret, i; int ret, i;
__be32 *cid_tmp; __be32 *cid_tmp;
@ -355,6 +355,14 @@ err:
return ret; return ret;
} }
int mmc_send_cid(struct mmc_host *host, u32 *cid)
{
if (mmc_host_is_spi(host))
return mmc_spi_send_cid(host, cid);
return mmc_all_send_cid(host, cid);
}
int mmc_get_ext_csd(struct mmc_card *card, u8 **new_ext_csd) int mmc_get_ext_csd(struct mmc_card *card, u8 **new_ext_csd)
{ {
int err; int err;

View File

@ -22,7 +22,6 @@ int mmc_deselect_cards(struct mmc_host *host);
int mmc_set_dsr(struct mmc_host *host); int mmc_set_dsr(struct mmc_host *host);
int mmc_go_idle(struct mmc_host *host); int mmc_go_idle(struct mmc_host *host);
int mmc_send_op_cond(struct mmc_host *host, u32 ocr, u32 *rocr); int mmc_send_op_cond(struct mmc_host *host, u32 ocr, u32 *rocr);
int mmc_all_send_cid(struct mmc_host *host, u32 *cid);
int mmc_set_relative_addr(struct mmc_card *card); int mmc_set_relative_addr(struct mmc_card *card);
int mmc_send_csd(struct mmc_card *card, u32 *csd); int mmc_send_csd(struct mmc_card *card, u32 *csd);
int __mmc_send_status(struct mmc_card *card, u32 *status, unsigned int retries); int __mmc_send_status(struct mmc_card *card, u32 *status, unsigned int retries);

View File

@ -788,11 +788,7 @@ try_again:
} }
} }
if (mmc_host_is_spi(host)) err = mmc_send_cid(host, cid);
err = mmc_send_cid(host, cid);
else
err = mmc_all_send_cid(host, cid);
return err; return err;
} }