On Thu, Aug 25, 2011 at 5:54 PM, Chunhe Lan <Chunhe.Lan@xxxxxxxxxxxxx> wrote: > The mmc_delay() is a wrapper function for mdelay() and msleep(). > > o mdelay() -- block the system when busy-waiting. > o msleep() -- suspend the currently running task to enable CPU > to process other tasks, so it is non-blocking > regarding the whole system. > > When the desired delay time is more than a period of timer interrupt, > just use msleep(). Change mdelay() to mmc_delay() to avoid chewing > CPU when busy wait. > > Signed-off-by: Shengzhou Liu <b36685@xxxxxxxxxxxxx> > Signed-off-by: Chunhe Lan <Chunhe.Lan@xxxxxxxxxxxxx> > Cc: Chris Ball <cjb@xxxxxxxxxx> > --- > drivers/mmc/host/sdhci.c | 11 ++++++----- > 1 files changed, 6 insertions(+), 5 deletions(-) > > diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c > index 0e02cc1..0cb5dc1 100644 > --- a/drivers/mmc/host/sdhci.c > +++ b/drivers/mmc/host/sdhci.c > @@ -27,6 +27,7 @@ > #include <linux/mmc/host.h> > > #include "sdhci.h" > +#include "../core/core.h" Doesn't better to move the mmc_delay() to "include/linux/mmc/core.h"? and include it. I think It's not proper include syntax using relative path. Thank you, Kyungmin Park > > #define DRIVER_NAME "sdhci" > > @@ -186,7 +187,7 @@ static void sdhci_reset(struct sdhci_host *host, u8 mask) > return; > } > timeout--; > - mdelay(1); > + mmc_delay(1); > } > > if (host->ops->platform_reset_exit) > @@ -957,7 +958,7 @@ static void sdhci_send_command(struct sdhci_host *host, struct mmc_command *cmd) > return; > } > timeout--; > - mdelay(1); > + mmc_delay(1); > } > > mod_timer(&host->timer, jiffies + 10 * HZ); > @@ -1127,7 +1128,7 @@ static void sdhci_set_clock(struct sdhci_host *host, unsigned int clock) > return; > } > timeout--; > - mdelay(1); > + mmc_delay(1); > } > > clk |= SDHCI_CLOCK_CARD_EN; > @@ -1192,7 +1193,7 @@ static void sdhci_set_power(struct sdhci_host *host, unsigned short power) > * can apply clock after applying power > */ > if (host->quirks & SDHCI_QUIRK_DELAY_AFTER_POWER) > - mdelay(10); > + mmc_delay(10); > } > > /*****************************************************************************\ > @@ -1712,7 +1713,7 @@ static int sdhci_execute_tuning(struct mmc_host *mmc) > ctrl = sdhci_readw(host, SDHCI_HOST_CONTROL2); > tuning_loop_counter--; > timeout--; > - mdelay(1); > + mmc_delay(1); > } while (ctrl & SDHCI_CTRL_EXEC_TUNING); > > /* > -- > 1.7.5.1 > > > -- > To unsubscribe from this list: send the line "unsubscribe linux-mmc" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html > -- To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html