Commit 56a590dc authored by Adrian Hunter's avatar Adrian Hunter Committed by Ulf Hansson

mmc: sdhci: Factor out sdhci_data_line_cmd()

Factor out sdhci_data_line_cmd() to improve readability and because it is
used in multiple places.
Signed-off-by: default avatarAdrian Hunter <adrian.hunter@intel.com>
Signed-off-by: default avatarUlf Hansson <ulf.hansson@linaro.org>
parent 5d0d11c5
...@@ -109,6 +109,11 @@ static void sdhci_dumpregs(struct sdhci_host *host) ...@@ -109,6 +109,11 @@ static void sdhci_dumpregs(struct sdhci_host *host)
* * * *
\*****************************************************************************/ \*****************************************************************************/
static inline bool sdhci_data_line_cmd(struct mmc_command *cmd)
{
return cmd->data || cmd->flags & MMC_RSP_BUSY;
}
static void sdhci_set_card_detection(struct sdhci_host *host, bool enable) static void sdhci_set_card_detection(struct sdhci_host *host, bool enable)
{ {
u32 present; u32 present;
...@@ -744,7 +749,7 @@ static void sdhci_prepare_data(struct sdhci_host *host, struct mmc_command *cmd) ...@@ -744,7 +749,7 @@ static void sdhci_prepare_data(struct sdhci_host *host, struct mmc_command *cmd)
u8 ctrl; u8 ctrl;
struct mmc_data *data = cmd->data; struct mmc_data *data = cmd->data;
if (data || (cmd->flags & MMC_RSP_BUSY)) if (sdhci_data_line_cmd(cmd))
sdhci_set_timeout(host, cmd); sdhci_set_timeout(host, cmd);
if (!data) if (!data)
...@@ -1013,7 +1018,7 @@ void sdhci_send_command(struct sdhci_host *host, struct mmc_command *cmd) ...@@ -1013,7 +1018,7 @@ void sdhci_send_command(struct sdhci_host *host, struct mmc_command *cmd)
timeout = 10; timeout = 10;
mask = SDHCI_CMD_INHIBIT; mask = SDHCI_CMD_INHIBIT;
if ((cmd->data != NULL) || (cmd->flags & MMC_RSP_BUSY)) if (sdhci_data_line_cmd(cmd))
mask |= SDHCI_DATA_INHIBIT; mask |= SDHCI_DATA_INHIBIT;
/* We shouldn't wait for data inihibit for stop commands, even /* We shouldn't wait for data inihibit for stop commands, even
...@@ -1042,7 +1047,7 @@ void sdhci_send_command(struct sdhci_host *host, struct mmc_command *cmd) ...@@ -1042,7 +1047,7 @@ void sdhci_send_command(struct sdhci_host *host, struct mmc_command *cmd)
mod_timer(&host->timer, timeout); mod_timer(&host->timer, timeout);
host->cmd = cmd; host->cmd = cmd;
if (cmd->data || cmd->flags & MMC_RSP_BUSY) { if (sdhci_data_line_cmd(cmd)) {
WARN_ON(host->data_cmd); WARN_ON(host->data_cmd);
host->data_cmd = cmd; host->data_cmd = cmd;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment