Re: [PATCH 4/4] mmc: Add mmc_host_<level> logging

From: NamJae Jeon
Date: Tue Nov 15 2011 - 19:54:49 EST


2011/11/16 Joe Perches <joe@xxxxxxxxxxx>:
> Centralize the pr_<level> uses of mmc_hostname into specific
> mmc_host_<level> calls to allow a flexible presentation style
> and shorten the code a bit.
>
> Add mmc_host_<level> macros.
> Convert the logging calls from:
> Â Â Â Âpr_<level>("%s: ...", mmc_hostname(foo)
> to:
> Â Â Â Âmmc_host_<level>(foo, ...)
>
> Add a couple of missing newlines.
> Convert bare printks to pr_cont where appropriate.
> Spelling/typo fix of initialiazed to initialized.
>
> Signed-off-by: Joe Perches <joe@xxxxxxxxxxx>
> ---
> Âdrivers/mmc/card/mmc_test.c   |  66 +++++++++++---------------
> Âdrivers/mmc/core/bus.c     Â|  27 +++++------
> Âdrivers/mmc/core/core.c     | Â101 ++++++++++++++++++---------------------
> Âdrivers/mmc/core/host.c     |  13 ++---
> Âdrivers/mmc/core/mmc.c     Â|  67 ++++++++++---------------
> Âdrivers/mmc/core/mmc_ops.c   Â|  11 ++--
> Âdrivers/mmc/core/sd.c      |  62 ++++++++---------------
> Âdrivers/mmc/core/sdio.c     |  10 ++--
> Âdrivers/mmc/core/sdio_cis.c   |  Â9 ++--
> Âdrivers/mmc/core/sdio_irq.c   |  Â7 +--
> Âdrivers/mmc/host/at91_mci.c   |  Â9 ++--
> Âdrivers/mmc/host/dw_mmc.c    |  Â2 +-
> Âdrivers/mmc/host/msm_sdcc.c   | Â101 ++++++++++++++++++---------------------
> Âdrivers/mmc/host/mvsdio.c    |  35 ++++++--------
> Âdrivers/mmc/host/omap_hsmmc.c  |  Â7 +--
> Âdrivers/mmc/host/pxamci.c    |  Â4 +-
> Âdrivers/mmc/host/sdhci.c    Â|  81 +++++++++++++------------------
> Âdrivers/mmc/host/tmio_mmc.c   |  Â4 +-
> Âdrivers/mmc/host/tmio_mmc_pio.c | Â Â4 +-
> Âdrivers/mmc/host/via-sdmmc.c  Â|  21 ++++-----
> Âdrivers/mmc/host/wbsd.c     |  27 +++++-----
> Âinclude/linux/mmc/host.h    Â|  11 ++++
> Â22 files changed, 298 insertions(+), 381 deletions(-)
>
> diff --git a/drivers/mmc/card/mmc_test.c b/drivers/mmc/card/mmc_test.c
> index f079555..5a263c6 100644
> --- a/drivers/mmc/card/mmc_test.c
> +++ b/drivers/mmc/card/mmc_test.c
> @@ -253,8 +253,7 @@ static int mmc_test_wait_busy(struct mmc_test_card *test)
> Â Â Â Â Â Â Â Âif (!busy && mmc_test_busy(&cmd)) {
> Â Â Â Â Â Â Â Â Â Â Â Âbusy = 1;
> Â Â Â Â Â Â Â Â Â Â Â Âif (test->card->host->caps & MMC_CAP_WAIT_WHILE_BUSY)
> - Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â pr_info("%s: Warning: Host did not wait for busy state to end\n",
> - Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â mmc_hostname(test->card->host));
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â mmc_host_info(test->card->host, "Warning: Host did not wait for busy state to end\n");
> Â Â Â Â Â Â Â Â}
> Â Â Â Â} while (mmc_test_busy(&cmd));
>
> @@ -554,11 +553,11 @@ static void mmc_test_print_rate(struct mmc_test_card *test, uint64_t bytes,
> Â Â Â Ârate = mmc_test_rate(bytes, &ts);
> Â Â Â Âiops = mmc_test_rate(100, &ts); /* I/O ops per sec x 100 */
>
> - Â Â Â pr_info("%s: Transfer of %u sectors (%u%s KiB) took %lu.%09lu seconds (%u kB/s, %u KiB/s, %u.%02u IOPS)\n",
> - Â Â Â Â Â Â Â mmc_hostname(test->card->host), sectors, sectors >> 1,
> - Â Â Â Â Â Â Â (sectors & 1 ? ".5" : ""), (unsigned long)ts.tv_sec,
> - Â Â Â Â Â Â Â (unsigned long)ts.tv_nsec, rate / 1000, rate / 1024,
> - Â Â Â Â Â Â Â iops / 100, iops % 100);
> + Â Â Â mmc_host_info(test->card->host, "Transfer of %u sectors (%u%s KiB) took %lu.%09lu seconds (%u kB/s, %u KiB/s, %u.%02u IOPS)\n",
> + Â Â Â Â Â Â Â Â Â Â sectors, sectors >> 1,
> + Â Â Â Â Â Â Â Â Â Â (sectors & 1 ? ".5" : ""), (unsigned long)ts.tv_sec,
> + Â Â Â Â Â Â Â Â Â Â (unsigned long)ts.tv_nsec, rate / 1000, rate / 1024,
> + Â Â Â Â Â Â Â Â Â Â iops / 100, iops % 100);
>
> Â Â Â Âmmc_test_save_transfer_result(test, 1, sectors, ts, rate, iops);
> Â}
> @@ -579,12 +578,12 @@ static void mmc_test_print_avg_rate(struct mmc_test_card *test, uint64_t bytes,
> Â Â Â Ârate = mmc_test_rate(tot, &ts);
> Â Â Â Âiops = mmc_test_rate(count * 100, &ts); /* I/O ops per sec x 100 */
>
> - Â Â Â pr_info("%s: Transfer of %u x %u sectors (%u x %u%s KiB) took %lu.%09lu seconds (%u kB/s, %u KiB/s, %u.%02u IOPS, sg_len %d)\n",
> - Â Â Â Â Â Â Â mmc_hostname(test->card->host), count, sectors, count,
> - Â Â Â Â Â Â Â sectors >> 1, (sectors & 1 ? ".5" : ""),
> - Â Â Â Â Â Â Â (unsigned long)ts.tv_sec, (unsigned long)ts.tv_nsec,
> - Â Â Â Â Â Â Â rate / 1000, rate / 1024, iops / 100, iops % 100,
> - Â Â Â Â Â Â Â test->area.sg_len);
> + Â Â Â mmc_host_info(test->card->host, "Transfer of %u x %u sectors (%u x %u%s KiB) took %lu.%09lu seconds (%u kB/s, %u KiB/s, %u.%02u IOPS, sg_len %d)\n",
> + Â Â Â Â Â Â Â Â Â Â count, sectors, count,
> + Â Â Â Â Â Â Â Â Â Â sectors >> 1, (sectors & 1 ? ".5" : ""),
> + Â Â Â Â Â Â Â Â Â Â (unsigned long)ts.tv_sec, (unsigned long)ts.tv_nsec,
> + Â Â Â Â Â Â Â Â Â Â rate / 1000, rate / 1024, iops / 100, iops % 100,
> + Â Â Â Â Â Â Â Â Â Â test->area.sg_len);
I don't know why pr_info should be surely replaced by mmc_host_info.
if it is needed for only host name, I think that existing
pr_info/err/debug is sufficient.

>
> Â Â Â Âmmc_test_save_transfer_result(test, count, sectors, ts, rate, iops);
> Â}
> @@ -1407,8 +1406,7 @@ static int mmc_test_multi_read_high(struct mmc_test_card *test)
>
> Âstatic int mmc_test_no_highmem(struct mmc_test_card *test)
> Â{
> - Â Â Â pr_info("%s: Highmem not configured - test skipped\n",
> - Â Â Â Â Â Â Â mmc_hostname(test->card->host));
> + Â Â Â mmc_host_info(test->card->host, "Highmem not configured - test skipped\n");
> Â Â Â Âreturn 0;
> Â}
>
> @@ -1434,8 +1432,7 @@ static int mmc_test_area_map(struct mmc_test_card *test, unsigned long sz,
> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Ât->max_seg_sz, &t->sg_len, min_sg_len);
> Â Â Â Â}
> Â Â Â Âif (err)
> - Â Â Â Â Â Â Â pr_info("%s: Failed to map sg list\n",
> - Â Â Â Â Â Â Â Â Â Â Â mmc_hostname(test->card->host));
> + Â Â Â Â Â Â Â mmc_host_info(test->card->host, "Failed to map sg list\n");
> Â Â Â Âreturn err;
> Â}
>
> @@ -2689,8 +2686,8 @@ static void mmc_test_run(struct mmc_test_card *test, int testcase)
> Â{
> Â Â Â Âint i, ret;
>
> - Â Â Â pr_info("%s: Starting tests of card %s...\n",
> - Â Â Â Â Â Â Â mmc_hostname(test->card->host), mmc_card_id(test->card));
> + Â Â Â mmc_host_info(test->card->host, "Starting tests of card %s...\n",
> + Â Â Â Â Â Â Â Â Â Â mmc_card_id(test->card));
>
> Â Â Â Âmmc_claim_host(test->card->host);
>
> @@ -2700,16 +2697,14 @@ static void mmc_test_run(struct mmc_test_card *test, int testcase)
> Â Â Â Â Â Â Â Âif (testcase && ((i + 1) != testcase))
> Â Â Â Â Â Â Â Â Â Â Â Âcontinue;
>
> - Â Â Â Â Â Â Â pr_info("%s: Test case %d. %s...\n",
> - Â Â Â Â Â Â Â Â Â Â Â mmc_hostname(test->card->host), i + 1,
> - Â Â Â Â Â Â Â Â Â Â Â mmc_test_cases[i].name);
> + Â Â Â Â Â Â Â mmc_host_info(test->card->host, "Test case %d. %s...\n",
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Â i + 1, mmc_test_cases[i].name);
>
> Â Â Â Â Â Â Â Âif (mmc_test_cases[i].prepare) {
> Â Â Â Â Â Â Â Â Â Â Â Âret = mmc_test_cases[i].prepare(test);
> Â Â Â Â Â Â Â Â Â Â Â Âif (ret) {
> - Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â pr_info("%s: Result: Prepare stage failed! (%d)\n",
> - Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â mmc_hostname(test->card->host),
> - Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â ret);
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â mmc_host_info(test->card->host, "Result: Prepare stage failed! (%d)\n",
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â ret);
> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Âcontinue;
> Â Â Â Â Â Â Â Â Â Â Â Â}
> Â Â Â Â Â Â Â Â}
> @@ -2736,24 +2731,20 @@ static void mmc_test_run(struct mmc_test_card *test, int testcase)
> Â Â Â Â Â Â Â Âret = mmc_test_cases[i].run(test);
> Â Â Â Â Â Â Â Âswitch (ret) {
> Â Â Â Â Â Â Â Âcase RESULT_OK:
> - Â Â Â Â Â Â Â Â Â Â Â pr_info("%s: Result: OK\n",
> - Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â mmc_hostname(test->card->host));
> + Â Â Â Â Â Â Â Â Â Â Â mmc_host_info(test->card->host, "Result: OK\n");
> Â Â Â Â Â Â Â Â Â Â Â Âbreak;
> Â Â Â Â Â Â Â Âcase RESULT_FAIL:
> - Â Â Â Â Â Â Â Â Â Â Â pr_info("%s: Result: FAILED\n",
> - Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â mmc_hostname(test->card->host));
> + Â Â Â Â Â Â Â Â Â Â Â mmc_host_info(test->card->host, "Result: FAILED\n");
> Â Â Â Â Â Â Â Â Â Â Â Âbreak;
> Â Â Â Â Â Â Â Âcase RESULT_UNSUP_HOST:
> - Â Â Â Â Â Â Â Â Â Â Â pr_info("%s: Result: UNSUPPORTED (by host)\n",
> - Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â mmc_hostname(test->card->host));
> + Â Â Â Â Â Â Â Â Â Â Â mmc_host_info(test->card->host, "Result: UNSUPPORTED (by host)\n");
> Â Â Â Â Â Â Â Â Â Â Â Âbreak;
> Â Â Â Â Â Â Â Âcase RESULT_UNSUP_CARD:
> - Â Â Â Â Â Â Â Â Â Â Â pr_info("%s: Result: UNSUPPORTED (by card)\n",
> - Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â mmc_hostname(test->card->host));
> + Â Â Â Â Â Â Â Â Â Â Â mmc_host_info(test->card->host, "Result: UNSUPPORTED (by card)\n");
> Â Â Â Â Â Â Â Â Â Â Â Âbreak;
> Â Â Â Â Â Â Â Âdefault:
> - Â Â Â Â Â Â Â Â Â Â Â pr_info("%s: Result: ERROR (%d)\n",
> - Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â mmc_hostname(test->card->host), ret);
> + Â Â Â Â Â Â Â Â Â Â Â mmc_host_info(test->card->host, "Result: ERROR (%d)\n",
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â ret);
> Â Â Â Â Â Â Â Â}
>
> Â Â Â Â Â Â Â Â/* Save the result */
> @@ -2763,8 +2754,7 @@ static void mmc_test_run(struct mmc_test_card *test, int testcase)
> Â Â Â Â Â Â Â Âif (mmc_test_cases[i].cleanup) {
> Â Â Â Â Â Â Â Â Â Â Â Âret = mmc_test_cases[i].cleanup(test);
> Â Â Â Â Â Â Â Â Â Â Â Âif (ret) {
> - Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â pr_info("%s: Warning: Cleanup stage failed! (%d)\n",
> - Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â mmc_hostname(test->card->host),
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â mmc_host_info(test->card->host, "Warning: Cleanup stage failed! (%d)\n",
> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Âret);
> Â Â Â Â Â Â Â Â Â Â Â Â}
> Â Â Â Â Â Â Â Â}
> @@ -2772,7 +2762,7 @@ static void mmc_test_run(struct mmc_test_card *test, int testcase)
>
> Â Â Â Âmmc_release_host(test->card->host);
>
> - Â Â Â pr_info("%s: Tests completed\n", mmc_hostname(test->card->host));
> + Â Â Â mmc_host_info(test->card->host, "Tests completed\n");
> Â}
>
> Âstatic void mmc_test_free_result(struct mmc_card *card)
> diff --git a/drivers/mmc/core/bus.c b/drivers/mmc/core/bus.c
> index 2e1f028..e976d85 100644
> --- a/drivers/mmc/core/bus.c
> +++ b/drivers/mmc/core/bus.c
> @@ -297,18 +297,16 @@ int mmc_add_card(struct mmc_card *card)
> Â Â Â Â}
>
> Â Â Â Âif (mmc_host_is_spi(card->host)) {
> - Â Â Â Â Â Â Â pr_info("%s: new %s%s%s card on SPI\n",
> - Â Â Â Â Â Â Â Â Â Â Â mmc_hostname(card->host),
> - Â Â Â Â Â Â Â Â Â Â Â mmc_card_highspeed(card) ? "high speed " : "",
> - Â Â Â Â Â Â Â Â Â Â Â mmc_card_ddr_mode(card) ? "DDR " : "",
> - Â Â Â Â Â Â Â Â Â Â Â type);
> + Â Â Â Â Â Â Â mmc_host_info(card->host, "new %s%s%s card on SPI\n",
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Â mmc_card_highspeed(card) ? "high speed " : "",
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Â mmc_card_ddr_mode(card) ? "DDR " : "",
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Â type);
> Â Â Â Â} else {
> - Â Â Â Â Â Â Â pr_info("%s: new %s%s%s card at address %04x\n",
> - Â Â Â Â Â Â Â Â Â Â Â mmc_hostname(card->host),
> - Â Â Â Â Â Â Â Â Â Â Â mmc_sd_card_uhs(card) ? "ultra high speed " :
> - Â Â Â Â Â Â Â Â Â Â Â mmc_card_highspeed(card) ? "high speed " : "",
> - Â Â Â Â Â Â Â Â Â Â Â mmc_card_ddr_mode(card) ? "DDR " : "",
> - Â Â Â Â Â Â Â Â Â Â Â type, card->rca);
> + Â Â Â Â Â Â Â mmc_host_info(card->host, "new %s%s%s card at address %04x\n",
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Â mmc_sd_card_uhs(card) ? "ultra high speed " :
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Â mmc_card_highspeed(card) ? "high speed " : "",
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Â mmc_card_ddr_mode(card) ? "DDR " : "",
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Â type, card->rca);
> Â Â Â Â}
>
> Â#ifdef CONFIG_DEBUG_FS
> @@ -336,11 +334,10 @@ void mmc_remove_card(struct mmc_card *card)
>
> Â Â Â Âif (mmc_card_present(card)) {
> Â Â Â Â Â Â Â Âif (mmc_host_is_spi(card->host)) {
> - Â Â Â Â Â Â Â Â Â Â Â pr_info("%s: SPI card removed\n",
> - Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â mmc_hostname(card->host));
> + Â Â Â Â Â Â Â Â Â Â Â mmc_host_info(card->host, "SPI card removed\n");
> Â Â Â Â Â Â Â Â} else {
> - Â Â Â Â Â Â Â Â Â Â Â pr_info("%s: card %04x removed\n",
> - Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â mmc_hostname(card->host), card->rca);
> + Â Â Â Â Â Â Â Â Â Â Â mmc_host_info(card->host, "card %04x removed\n",
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â card->rca);
> Â Â Â Â Â Â Â Â}
> Â Â Â Â Â Â Â Âdevice_del(&card->dev);
> Â Â Â Â}
> diff --git a/drivers/mmc/core/core.c b/drivers/mmc/core/core.c
> index 39e1311..39779d7 100644
> --- a/drivers/mmc/core/core.c
> +++ b/drivers/mmc/core/core.c
> @@ -155,23 +155,23 @@ void mmc_request_done(struct mmc_host *host, struct mmc_request *mrq)
>
> Â Â Â Â Â Â Â Âled_trigger_event(host->led, LED_OFF);
>
> - Â Â Â Â Â Â Â pr_debug("%s: req done (CMD%u): %d: %08x %08x %08x %08x\n",
> - Â Â Â Â Â Â Â Â Â Â Â Âmmc_hostname(host), cmd->opcode, err,
> - Â Â Â Â Â Â Â Â Â Â Â Âcmd->resp[0], cmd->resp[1],
> - Â Â Â Â Â Â Â Â Â Â Â Âcmd->resp[2], cmd->resp[3]);
> + Â Â Â Â Â Â Â mmc_host_debug(host, "req done (CMD%u): %d: %08x %08x %08x %08x\n",
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Â Âcmd->opcode, err,
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Â Âcmd->resp[0], cmd->resp[1],
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Â Âcmd->resp[2], cmd->resp[3]);
>
> Â Â Â Â Â Â Â Âif (mrq->data) {
> - Â Â Â Â Â Â Â Â Â Â Â pr_debug("%s: Â Â %d bytes transferred: %d\n",
> - Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Âmmc_hostname(host),
> - Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Âmrq->data->bytes_xfered, mrq->data->error);
> + Â Â Â Â Â Â Â Â Â Â Â mmc_host_debug(host, " Â Â%d bytes transferred: %d\n",
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Âmrq->data->bytes_xfered,
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Âmrq->data->error);
> Â Â Â Â Â Â Â Â}
>
> Â Â Â Â Â Â Â Âif (mrq->stop) {
> - Â Â Â Â Â Â Â Â Â Â Â pr_debug("%s: Â Â (CMD%u): %d: %08x %08x %08x %08x\n",
> - Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Âmmc_hostname(host), mrq->stop->opcode,
> - Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Âmrq->stop->error,
> - Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Âmrq->stop->resp[0], mrq->stop->resp[1],
> - Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Âmrq->stop->resp[2], mrq->stop->resp[3]);
> + Â Â Â Â Â Â Â Â Â Â Â mmc_host_debug(host, " Â Â(CMD%u): %d: %08x %08x %08x %08x\n",
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Âmrq->stop->opcode,
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Âmrq->stop->error,
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Âmrq->stop->resp[0], mrq->stop->resp[1],
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Âmrq->stop->resp[2], mrq->stop->resp[3]);
> Â Â Â Â Â Â Â Â}
>
> Â Â Â Â Â Â Â Âif (mrq->done)
> @@ -191,22 +191,21 @@ mmc_start_request(struct mmc_host *host, struct mmc_request *mrq)
> Â Â Â Âstruct scatterlist *sg;
> Â#endif
>
> - Â Â Â pr_debug("%s: starting CMD%u arg %08x flags %08x\n",
> - Â Â Â Â Â Â Â Âmmc_hostname(host), mrq->cmd->opcode,
> - Â Â Â Â Â Â Â Âmrq->cmd->arg, mrq->cmd->flags);
> + Â Â Â mmc_host_debug(host, "starting CMD%u arg %08x flags %08x\n",
> + Â Â Â Â Â Â Â Â Â Â Âmrq->cmd->opcode, mrq->cmd->arg, mrq->cmd->flags);
>
> Â Â Â Âif (mrq->data) {
> - Â Â Â Â Â Â Â pr_debug("%s: Â Â blksz %d blocks %d flags %08x tsac %d ms nsac %d\n",
> - Â Â Â Â Â Â Â Â Â Â Â Âmmc_hostname(host), mrq->data->blksz,
> - Â Â Â Â Â Â Â Â Â Â Â Âmrq->data->blocks, mrq->data->flags,
> - Â Â Â Â Â Â Â Â Â Â Â Âmrq->data->timeout_ns / 1000000,
> - Â Â Â Â Â Â Â Â Â Â Â Âmrq->data->timeout_clks);
> + Â Â Â Â Â Â Â mmc_host_debug(host, " Â Âblksz %d blocks %d flags %08x tsac %d ms nsac %d\n",
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Â Âmrq->data->blksz,
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Â Âmrq->data->blocks, mrq->data->flags,
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Â Âmrq->data->timeout_ns / 1000000,
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Â Âmrq->data->timeout_clks);
> Â Â Â Â}
>
> Â Â Â Âif (mrq->stop) {
> - Â Â Â Â Â Â Â pr_debug("%s: Â Â CMD%u arg %08x flags %08x\n",
> - Â Â Â Â Â Â Â Â Â Â Â Âmmc_hostname(host), mrq->stop->opcode,
> - Â Â Â Â Â Â Â Â Â Â Â Âmrq->stop->arg, mrq->stop->flags);
> + Â Â Â Â Â Â Â mmc_host_debug(host, " Â ÂCMD%u arg %08x flags %08x\n",
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Â Âmrq->stop->opcode,
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Â Âmrq->stop->arg, mrq->stop->flags);
> Â Â Â Â}
>
> Â Â Â ÂWARN_ON(!host->claimed);
> @@ -264,8 +263,8 @@ static void mmc_wait_for_req_done(struct mmc_host *host,
> Â Â Â Â Â Â Â Âif (!cmd->error || !cmd->retries)
> Â Â Â Â Â Â Â Â Â Â Â Âbreak;
>
> - Â Â Â Â Â Â Â pr_debug("%s: req failed (CMD%u): %d, retrying...\n",
> - Â Â Â Â Â Â Â Â Â Â Â Âmmc_hostname(host), cmd->opcode, cmd->error);
> + Â Â Â Â Â Â Â mmc_host_debug(host, "req failed (CMD%u): %d, retrying...\n",
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Â Âcmd->opcode, cmd->error);
> Â Â Â Â Â Â Â Âcmd->retries--;
> Â Â Â Â Â Â Â Âcmd->error = 0;
> Â Â Â Â Â Â Â Âhost->ops->request(host, mrq);
> @@ -396,14 +395,14 @@ int mmc_interrupt_hpi(struct mmc_card *card)
> Â Â Â ÂBUG_ON(!card);
>
> Â Â Â Âif (!card->ext_csd.hpi_en) {
> - Â Â Â Â Â Â Â pr_info("%s: HPI enable bit unset\n", mmc_hostname(card->host));
> + Â Â Â Â Â Â Â mmc_host_info(card->host, "HPI enable bit unset\n");
> Â Â Â Â Â Â Â Âreturn 1;
> Â Â Â Â}
>
> Â Â Â Âmmc_claim_host(card->host);
> Â Â Â Âerr = mmc_send_status(card, &status);
> Â Â Â Âif (err) {
> - Â Â Â Â Â Â Â pr_err("%s: Get card status fail\n", mmc_hostname(card->host));
> + Â Â Â Â Â Â Â mmc_host_err(card->host, "Get card status fail\n");
> Â Â Â Â Â Â Â Âgoto out;
> Â Â Â Â}
>
> @@ -422,15 +421,15 @@ int mmc_interrupt_hpi(struct mmc_card *card)
> Â Â Â Â Â Â Â Â Â Â Â Â */
> Â Â Â Â Â Â Â Â Â Â Â Âerr = mmc_send_hpi_cmd(card, &status);
> Â Â Â Â Â Â Â Â Â Â Â Âif (err)
> - Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â pr_debug("%s: abort HPI (%d error)\n",
> - Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Âmmc_hostname(card->host), err);
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â mmc_host_debug(card->host, "abort HPI (%d error)\n",
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Âerr);
>
> Â Â Â Â Â Â Â Â Â Â Â Âerr = mmc_send_status(card, &status);
> Â Â Â Â Â Â Â Â Â Â Â Âif (err)
> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Âbreak;
> Â Â Â Â Â Â Â Â} while (R1_CURRENT_STATE(status) == R1_STATE_PRG);
> Â Â Â Â} else
> - Â Â Â Â Â Â Â pr_debug("%s: Left prg-state\n", mmc_hostname(card->host));
> + Â Â Â Â Â Â Â mmc_host_debug(card->host, "Left prg-state\n");
>
> Âout:
> Â Â Â Âmmc_release_host(card->host);
> @@ -620,8 +619,7 @@ int mmc_host_enable(struct mmc_host *host)
> Â Â Â Â Â Â Â Âhost->en_dis_recurs = 0;
>
> Â Â Â Â Â Â Â Âif (err) {
> - Â Â Â Â Â Â Â Â Â Â Â pr_debug("%s: enable error %d\n",
> - Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Âmmc_hostname(host), err);
> + Â Â Â Â Â Â Â Â Â Â Â mmc_host_debug(host, "enable error %d\n", err);
> Â Â Â Â Â Â Â Â Â Â Â Âreturn err;
> Â Â Â Â Â Â Â Â}
> Â Â Â Â}
> @@ -640,8 +638,7 @@ static int mmc_host_do_disable(struct mmc_host *host, int lazy)
> Â Â Â Â Â Â Â Âhost->en_dis_recurs = 0;
>
> Â Â Â Â Â Â Â Âif (err < 0) {
> - Â Â Â Â Â Â Â Â Â Â Â pr_debug("%s: disable error %d\n",
> - Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Âmmc_hostname(host), err);
> + Â Â Â Â Â Â Â Â Â Â Â mmc_host_debug(host, "disable error %d\n", err);
> Â Â Â Â Â Â Â Â Â Â Â Âreturn err;
> Â Â Â Â Â Â Â Â}
> Â Â Â Â Â Â Â Âif (err > 0) {
> @@ -844,10 +841,10 @@ static inline void mmc_set_ios(struct mmc_host *host)
> Â{
> Â Â Â Âstruct mmc_ios *ios = &host->ios;
>
> - Â Â Â pr_debug("%s: clock %uHz busmode %u powermode %u cs %u Vdd %u width %u timing %u\n",
> - Â Â Â Â Â Â Â Âmmc_hostname(host), ios->clock, ios->bus_mode,
> - Â Â Â Â Â Â Â Âios->power_mode, ios->chip_select, ios->vdd,
> - Â Â Â Â Â Â Â Âios->bus_width, ios->timing);
> + Â Â Â mmc_host_debug(host, "clock %uHz busmode %u powermode %u cs %u Vdd %u width %u timing %u\n",
> + Â Â Â Â Â Â Â Â Â Â Âios->clock, ios->bus_mode,
> + Â Â Â Â Â Â Â Â Â Â Âios->power_mode, ios->chip_select, ios->vdd,
> + Â Â Â Â Â Â Â Â Â Â Âios->bus_width, ios->timing);
>
> Â Â Â Âif (ios->clock > 0)
> Â Â Â Â Â Â Â Âmmc_set_ungated(host);
> @@ -1164,8 +1161,7 @@ u32 mmc_select_voltage(struct mmc_host *host, u32 ocr)
> Â Â Â Â Â Â Â Âmmc_set_ios(host);
> Â Â Â Â Â Â Â Âmmc_host_clk_release(host);
> Â Â Â Â} else {
> - Â Â Â Â Â Â Â pr_warn("%s: host doesn't support card's voltages\n",
> - Â Â Â Â Â Â Â Â Â Â Â mmc_hostname(host));
> + Â Â Â Â Â Â Â mmc_host_warn(host, "host doesn't support card's voltages\n");
> Â Â Â Â Â Â Â Âocr = 0;
> Â Â Â Â}
>
> @@ -1893,8 +1889,8 @@ unsigned int mmc_calc_max_discard(struct mmc_card *card)
> Â Â Â Â} else if (max_discard < card->erase_size) {
> Â Â Â Â Â Â Â Âmax_discard = 0;
> Â Â Â Â}
> - Â Â Â pr_debug("%s: calculated max. discard sectors %u for timeout %u ms\n",
> - Â Â Â Â Â Â Â Âmmc_hostname(host), max_discard, host->max_discard_to);
> + Â Â Â mmc_host_debug(host, "calculated max. discard sectors %u for timeout %u ms\n",
> + Â Â Â Â Â Â Â Â Â Â Âmax_discard, host->max_discard_to);
> Â Â Â Âreturn max_discard;
> Â}
> ÂEXPORT_SYMBOL(mmc_calc_max_discard);
> @@ -2006,8 +2002,8 @@ static int mmc_rescan_try_freq(struct mmc_host *host, unsigned freq)
> Â Â Â Âhost->f_init = freq;
>
> Â#ifdef CONFIG_MMC_DEBUG
> - Â Â Â pr_info("%s: %s: trying to init card at %u Hz\n",
> - Â Â Â Â Â Â Â mmc_hostname(host), __func__, host->f_init);
> + Â Â Â mmc_host_info(host, "%s: trying to init card at %u Hz\n",
> + Â Â Â Â Â Â Â Â Â Â __func__, host->f_init);
> Â#endif
> Â Â Â Âmmc_power_up(host);
>
> @@ -2142,7 +2138,7 @@ int mmc_power_save_host(struct mmc_host *host)
> Â Â Â Âint ret = 0;
>
> Â#ifdef CONFIG_MMC_DEBUG
> - Â Â Â pr_info("%s: %s: powering down\n", mmc_hostname(host), __func__);
> + Â Â Â mmc_host_info(host, "%s: powering down\n", __func__);
> Â#endif
>
> Â Â Â Âmmc_bus_get(host);
> @@ -2168,7 +2164,7 @@ int mmc_power_restore_host(struct mmc_host *host)
> Â Â Â Âint ret;
>
> Â#ifdef CONFIG_MMC_DEBUG
> - Â Â Â pr_info("%s: %s: powering up\n", mmc_hostname(host), __func__);
> + Â Â Â mmc_host_info(host, "%s: powering up\n", __func__);
> Â#endif
>
> Â Â Â Âmmc_bus_get(host);
> @@ -2244,8 +2240,7 @@ int mmc_flush_cache(struct mmc_card *card)
> Â Â Â Â Â Â Â Âerr = mmc_switch(card, EXT_CSD_CMD_SET_NORMAL,
> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â ÂEXT_CSD_FLUSH_CACHE, 1, 0);
> Â Â Â Â Â Â Â Âif (err)
> - Â Â Â Â Â Â Â Â Â Â Â pr_err("%s: cache flush error %d\n",
> - Â Â Â Â Â Â Â Â Â Â Â Â Â Â Âmmc_hostname(card->host), err);
> + Â Â Â Â Â Â Â Â Â Â Â mmc_host_err(card->host, "cache flush error %d\n", err);
> Â Â Â Â}
>
> Â Â Â Âreturn err;
> @@ -2274,10 +2269,8 @@ int mmc_cache_ctrl(struct mmc_host *host, u8 enable)
> Â Â Â Â Â Â Â Â Â Â Â Âerr = mmc_switch(card, EXT_CSD_CMD_SET_NORMAL,
> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â ÂEXT_CSD_CACHE_CTRL, enable, 0);
> Â Â Â Â Â Â Â Âif (err)
> - Â Â Â Â Â Â Â Â Â Â Â pr_err("%s: cache %s error %d\n",
> - Â Â Â Â Â Â Â Â Â Â Â Â Â Â Âmmc_hostname(card->host),
> - Â Â Â Â Â Â Â Â Â Â Â Â Â Â Âenable ? "on" : "off",
> - Â Â Â Â Â Â Â Â Â Â Â Â Â Â Âerr);
> + Â Â Â Â Â Â Â Â Â Â Â mmc_host_err(card->host, "cache %s error %d\n",
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Âenable ? "on" : "off", err);
> Â Â Â Â Â Â Â Âelse
> Â Â Â Â Â Â Â Â Â Â Â Âcard->ext_csd.cache_ctrl = enable;
> Â Â Â Â}
> @@ -2375,8 +2368,8 @@ int mmc_resume_host(struct mmc_host *host)
> Â Â Â Â Â Â Â ÂBUG_ON(!host->bus_ops->resume);
> Â Â Â Â Â Â Â Âerr = host->bus_ops->resume(host);
> Â Â Â Â Â Â Â Âif (err) {
> - Â Â Â Â Â Â Â Â Â Â Â pr_warn("%s: error %d during resume (card was removed?)\n",
> - Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â mmc_hostname(host), err);
> + Â Â Â Â Â Â Â Â Â Â Â mmc_host_warn(host, "error %d during resume (card was removed?)\n",
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â err);
> Â Â Â Â Â Â Â Â Â Â Â Âerr = 0;
> Â Â Â Â Â Â Â Â}
> Â Â Â Â}
> diff --git a/drivers/mmc/core/host.c b/drivers/mmc/core/host.c
> index 7f963c0..40d177f 100644
> --- a/drivers/mmc/core/host.c
> +++ b/drivers/mmc/core/host.c
> @@ -75,8 +75,7 @@ static ssize_t clkgate_delay_store(struct device *dev,
> Â Â Â Âhost->clkgate_delay = value;
> Â Â Â Âspin_unlock_irqrestore(&host->clk_lock, flags);
>
> - Â Â Â pr_info("%s: clock gate delay set to %lu ms\n",
> - Â Â Â Â Â Â Â Â Â Â Â mmc_hostname(host), value);
> + Â Â Â mmc_host_info(host, "clock gate delay set to %lu ms\n", value);
> Â Â Â Âreturn count;
> Â}
>
> @@ -94,8 +93,7 @@ static void mmc_host_clk_gate_delayed(struct mmc_host *host)
> Â Â Â Âunsigned long flags;
>
> Â Â Â Âif (!freq) {
> - Â Â Â Â Â Â Â pr_debug("%s: frequency set to 0 in disable function, this means the clock is already disabled\n",
> - Â Â Â Â Â Â Â Â Â Â Â Âmmc_hostname(host));
> + Â Â Â Â Â Â Â mmc_host_debug(host, "frequency set to 0 in disable function, this means the clock is already disabled\n");
> Â Â Â Â Â Â Â Âreturn;
> Â Â Â Â}
> Â Â Â Â/*
> @@ -126,7 +124,7 @@ static void mmc_host_clk_gate_delayed(struct mmc_host *host)
> Â Â Â Â Â Â Â Â/* This will set host->ios.clock to 0 */
> Â Â Â Â Â Â Â Âmmc_gate_clock(host);
> Â Â Â Â Â Â Â Âspin_lock_irqsave(&host->clk_lock, flags);
> - Â Â Â Â Â Â Â pr_debug("%s: gated MCI clock\n", mmc_hostname(host));
> + Â Â Â Â Â Â Â mmc_host_debug(host, "gated MCI clock\n");
> Â Â Â Â}
> Â Â Â Âspin_unlock_irqrestore(&host->clk_lock, flags);
> Â Â Â Âmutex_unlock(&host->clk_gate_mutex);
> @@ -163,7 +161,7 @@ void mmc_host_clk_hold(struct mmc_host *host)
> Â Â Â Â Â Â Â Âspin_unlock_irqrestore(&host->clk_lock, flags);
> Â Â Â Â Â Â Â Âmmc_ungate_clock(host);
> Â Â Â Â Â Â Â Âspin_lock_irqsave(&host->clk_lock, flags);
> - Â Â Â Â Â Â Â pr_debug("%s: ungated MCI clock\n", mmc_hostname(host));
> + Â Â Â Â Â Â Â mmc_host_debug(host, "ungated MCI clock\n");
> Â Â Â Â}
> Â Â Â Âhost->clk_requests++;
> Â Â Â Âspin_unlock_irqrestore(&host->clk_lock, flags);
> @@ -277,8 +275,7 @@ static inline void mmc_host_clk_sysfs_init(struct mmc_host *host)
> Â Â Â Âhost->clkgate_delay_attr.attr.name = "clkgate_delay";
> Â Â Â Âhost->clkgate_delay_attr.attr.mode = S_IRUGO | S_IWUSR;
> Â Â Â Âif (device_create_file(&host->class_dev, &host->clkgate_delay_attr))
> - Â Â Â Â Â Â Â pr_err("%s: Failed to create clkgate_delay sysfs entry\n",
> - Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â mmc_hostname(host));
> + Â Â Â Â Â Â Â mmc_host_err(host, "Failed to create clkgate_delay sysfs entry\n");
> Â}
> Â#else
>
> diff --git a/drivers/mmc/core/mmc.c b/drivers/mmc/core/mmc.c
> index f6db788..c7efe5a 100644
> --- a/drivers/mmc/core/mmc.c
> +++ b/drivers/mmc/core/mmc.c
> @@ -102,8 +102,8 @@ static int mmc_decode_cid(struct mmc_card *card)
> Â Â Â Â Â Â Â Âbreak;
>
> Â Â Â Âdefault:
> - Â Â Â Â Â Â Â pr_err("%s: card has unknown MMCA version %d\n",
> - Â Â Â Â Â Â Â Â Â Â Â mmc_hostname(card->host), card->csd.mmca_vsn);
> + Â Â Â Â Â Â Â mmc_host_err(card->host, "card has unknown MMCA version %d\n",
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Âcard->csd.mmca_vsn);
> Â Â Â Â Â Â Â Âreturn -EINVAL;
> Â Â Â Â}
>
> @@ -136,8 +136,8 @@ static int mmc_decode_csd(struct mmc_card *card)
> Â Â Â Â */
> Â Â Â Âcsd->structure = UNSTUFF_BITS(resp, 126, 2);
> Â Â Â Âif (csd->structure == 0) {
> - Â Â Â Â Â Â Â pr_err("%s: unrecognised CSD structure version %d\n",
> - Â Â Â Â Â Â Â Â Â Â Â mmc_hostname(card->host), csd->structure);
> + Â Â Â Â Â Â Â mmc_host_err(card->host, "unrecognised CSD structure version %d\n",
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Âcsd->structure);
> Â Â Â Â Â Â Â Âreturn -EINVAL;
> Â Â Â Â}
>
> @@ -196,8 +196,7 @@ static int mmc_get_ext_csd(struct mmc_card *card, u8 **new_ext_csd)
> Â Â Â Â */
> Â Â Â Âext_csd = kmalloc(512, GFP_KERNEL);
> Â Â Â Âif (!ext_csd) {
> - Â Â Â Â Â Â Â pr_err("%s: could not allocate a buffer to receive the ext_csd\n",
> - Â Â Â Â Â Â Â Â Â Â Âmmc_hostname(card->host));
> + Â Â Â Â Â Â Â mmc_host_err(card->host, "could not allocate a buffer to receive the ext_csd\n");
> Â Â Â Â Â Â Â Âreturn -ENOMEM;
> Â Â Â Â}
>
> @@ -218,11 +217,9 @@ static int mmc_get_ext_csd(struct mmc_card *card, u8 **new_ext_csd)
> Â Â Â Â Â Â Â Â * stored in their CSD.
> Â Â Â Â Â Â Â Â */
> Â Â Â Â Â Â Â Âif (card->csd.capacity == (4096 * 512)) {
> - Â Â Â Â Â Â Â Â Â Â Â pr_err("%s: unable to read EXT_CSD on a possible high capacity card. Card will be ignored.\n",
> - Â Â Â Â Â Â Â Â Â Â Â Â Â Â Âmmc_hostname(card->host));
> + Â Â Â Â Â Â Â Â Â Â Â mmc_host_err(card->host, "unable to read EXT_CSD on a possible high capacity card. Card will be ignored.\n");
> Â Â Â Â Â Â Â Â} else {
> - Â Â Â Â Â Â Â Â Â Â Â pr_warn("%s: unable to read EXT_CSD, performance might suffer\n",
> - Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â mmc_hostname(card->host));
> + Â Â Â Â Â Â Â Â Â Â Â mmc_host_warn(card->host, "unable to read EXT_CSD, performance might suffer\n");
> Â Â Â Â Â Â Â Â Â Â Â Âerr = 0;
> Â Â Â Â Â Â Â Â}
> Â Â Â Â} else
> @@ -249,9 +246,8 @@ static int mmc_read_ext_csd(struct mmc_card *card, u8 *ext_csd)
> Â Â Â Âcard->ext_csd.raw_ext_csd_structure = ext_csd[EXT_CSD_STRUCTURE];
> Â Â Â Âif (card->csd.structure == 3) {
> Â Â Â Â Â Â Â Âif (card->ext_csd.raw_ext_csd_structure > 2) {
> - Â Â Â Â Â Â Â Â Â Â Â pr_err("%s: unrecognised EXT_CSD structure version %d\n",
> - Â Â Â Â Â Â Â Â Â Â Â Â Â Â Âmmc_hostname(card->host),
> - Â Â Â Â Â Â Â Â Â Â Â Â Â Â Âcard->ext_csd.raw_ext_csd_structure);
> + Â Â Â Â Â Â Â Â Â Â Â mmc_host_err(card->host, "unrecognised EXT_CSD structure version %d\n",
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Âcard->ext_csd.raw_ext_csd_structure);
> Â Â Â Â Â Â Â Â Â Â Â Âerr = -EINVAL;
> Â Â Â Â Â Â Â Â Â Â Â Âgoto out;
> Â Â Â Â Â Â Â Â}
> @@ -259,8 +255,8 @@ static int mmc_read_ext_csd(struct mmc_card *card, u8 *ext_csd)
>
> Â Â Â Âcard->ext_csd.rev = ext_csd[EXT_CSD_REV];
> Â Â Â Âif (card->ext_csd.rev > 6) {
> - Â Â Â Â Â Â Â pr_err("%s: unrecognised EXT_CSD revision %d\n",
> - Â Â Â Â Â Â Â Â Â Â Â mmc_hostname(card->host), card->ext_csd.rev);
> + Â Â Â Â Â Â Â mmc_host_err(card->host, "unrecognised EXT_CSD revision %d\n",
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Âcard->ext_csd.rev);
> Â Â Â Â Â Â Â Âerr = -EINVAL;
> Â Â Â Â Â Â Â Âgoto out;
> Â Â Â Â}
> @@ -305,8 +301,7 @@ static int mmc_read_ext_csd(struct mmc_card *card, u8 *ext_csd)
> Â Â Â Â Â Â Â Âbreak;
> Â Â Â Âdefault:
> Â Â Â Â Â Â Â Â/* MMC v4 spec says this cannot happen */
> - Â Â Â Â Â Â Â pr_warn("%s: card is mmc v4 but doesn't support any high-speed modes\n",
> - Â Â Â Â Â Â Â Â Â Â Â mmc_hostname(card->host));
> + Â Â Â Â Â Â Â mmc_host_warn(card->host, "card is mmc v4 but doesn't support any high-speed modes\n");
> Â Â Â Â}
>
> Â Â Â Âcard->ext_csd.raw_s_a_timeout = ext_csd[EXT_CSD_S_A_TIMEOUT];
> @@ -659,8 +654,7 @@ static int mmc_select_powerclass(struct mmc_card *card,
> Â Â Â Â Â Â Â Â Â Â Â Âindex = EXT_CSD_PWR_CL_200_360;
> Â Â Â Â Â Â Â Âbreak;
> Â Â Â Âdefault:
> - Â Â Â Â Â Â Â pr_warn("%s: Voltage range not supported for power class\n",
> - Â Â Â Â Â Â Â Â Â Â Â mmc_hostname(host));
> + Â Â Â Â Â Â Â mmc_host_warn(host, "Voltage range not supported for power class\n");
> Â Â Â Â Â Â Â Âreturn -EINVAL;
> Â Â Â Â}
>
> @@ -899,8 +893,7 @@ static int mmc_init_card(struct mmc_host *host, u32 ocr,
> Â Â Â Â Â Â Â Â Â Â Â Âgoto free_card;
>
> Â Â Â Â Â Â Â Âif (err) {
> - Â Â Â Â Â Â Â Â Â Â Â pr_warn("%s: switch to highspeed failed\n",
> - Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â mmc_hostname(card->host));
> + Â Â Â Â Â Â Â Â Â Â Â mmc_host_warn(card->host, "switch to highspeed failed\n");
> Â Â Â Â Â Â Â Â Â Â Â Âerr = 0;
> Â Â Â Â Â Â Â Â} else {
> Â Â Â Â Â Â Â Â Â Â Â Âmmc_card_set_highspeed(card);
> @@ -917,8 +910,7 @@ static int mmc_init_card(struct mmc_host *host, u32 ocr,
> Â Â Â Â Â Â Â Âif (err && err != -EBADMSG)
> Â Â Â Â Â Â Â Â Â Â Â Âgoto free_card;
> Â Â Â Â Â Â Â Âif (err) {
> - Â Â Â Â Â Â Â Â Â Â Â pr_warn("%s: Enabling HPI failed\n",
> - Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â mmc_hostname(card->host));
> + Â Â Â Â Â Â Â Â Â Â Â mmc_host_warn(card->host, "Enabling HPI failed\n");
> Â Â Â Â Â Â Â Â Â Â Â Âerr = 0;
> Â Â Â Â Â Â Â Â} else
> Â Â Â Â Â Â Â Â Â Â Â Âcard->ext_csd.hpi_en = 1;
> @@ -982,9 +974,8 @@ static int mmc_init_card(struct mmc_host *host, u32 ocr,
> Â Â Â Â Â Â Â Â Â Â Â Âerr = mmc_select_powerclass(card, ext_csd_bits[idx][0],
> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Âext_csd);
> Â Â Â Â Â Â Â Â Â Â Â Âif (err)
> - Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â pr_err("%s: power class selection to bus width %d failed\n",
> - Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Âmmc_hostname(card->host),
> - Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â1 << bus_width);
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â mmc_host_err(card->host, "power class selection to bus width %d failed\n",
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â1 << bus_width);
>
> Â Â Â Â Â Â Â Â Â Â Â Âerr = mmc_switch(card, EXT_CSD_CMD_SET_NORMAL,
> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â EXT_CSD_BUS_WIDTH,
> @@ -1012,9 +1003,8 @@ static int mmc_init_card(struct mmc_host *host, u32 ocr,
> Â Â Â Â Â Â Â Â Â Â Â Âerr = mmc_select_powerclass(card, ext_csd_bits[idx][1],
> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Âext_csd);
> Â Â Â Â Â Â Â Â Â Â Â Âif (err)
> - Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â pr_err("%s: power class selection to bus width %d ddr %d failed\n",
> - Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Âmmc_hostname(card->host),
> - Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â1 << bus_width, ddr);
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â mmc_host_err(card->host, "power class selection to bus width %d ddr %d failed\n",
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â1 << bus_width, ddr);
>
> Â Â Â Â Â Â Â Â Â Â Â Âerr = mmc_switch(card, EXT_CSD_CMD_SET_NORMAL,
> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â EXT_CSD_BUS_WIDTH,
> @@ -1022,9 +1012,8 @@ static int mmc_init_card(struct mmc_host *host, u32 ocr,
> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â card->ext_csd.generic_cmd6_time);
> Â Â Â Â Â Â Â Â}
> Â Â Â Â Â Â Â Âif (err) {
> - Â Â Â Â Â Â Â Â Â Â Â pr_warn("%s: switch to bus width %d ddr %d failed\n",
> - Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â mmc_hostname(card->host),
> - Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â 1 << bus_width, ddr);
> + Â Â Â Â Â Â Â Â Â Â Â mmc_host_warn(card->host, "switch to bus width %d ddr %d failed\n",
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â 1 << bus_width, ddr);
> Â Â Â Â Â Â Â Â Â Â Â Âgoto free_card;
> Â Â Â Â Â Â Â Â} else if (ddr) {
> Â Â Â Â Â Â Â Â Â Â Â Â/*
> @@ -1187,8 +1176,8 @@ static int mmc_sleep(struct mmc_host *host)
> Â Â Â Âif (card && card->ext_csd.rev >= 3) {
> Â Â Â Â Â Â Â Âerr = mmc_card_sleepawake(host, 1);
> Â Â Â Â Â Â Â Âif (err < 0)
> - Â Â Â Â Â Â Â Â Â Â Â pr_debug("%s: Error %d while putting card into sleep",
> - Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Âmmc_hostname(host), err);
> + Â Â Â Â Â Â Â Â Â Â Â mmc_host_debug(host, "Error %d while putting card into sleep\n",
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Âerr);
> Â Â Â Â}
>
> Â Â Â Âreturn err;
> @@ -1202,8 +1191,8 @@ static int mmc_awake(struct mmc_host *host)
> Â Â Â Âif (card && card->ext_csd.rev >= 3) {
> Â Â Â Â Â Â Â Âerr = mmc_card_sleepawake(host, 0);
> Â Â Â Â Â Â Â Âif (err < 0)
> - Â Â Â Â Â Â Â Â Â Â Â pr_debug("%s: Error %d while awaking sleeping card",
> - Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Âmmc_hostname(host), err);
> + Â Â Â Â Â Â Â Â Â Â Â mmc_host_debug(host, "Error %d while awaking sleeping card\n",
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Âerr);
> Â Â Â Â}
>
> Â Â Â Âreturn err;
> @@ -1277,8 +1266,7 @@ int mmc_attach_mmc(struct mmc_host *host)
> Â Â Â Â * support.
> Â Â Â Â */
> Â Â Â Âif (ocr & 0x7F) {
> - Â Â Â Â Â Â Â pr_warn("%s: card claims to support voltages below the defined range. These will be ignored.\n",
> - Â Â Â Â Â Â Â Â Â Â Â mmc_hostname(host));
> + Â Â Â Â Â Â Â mmc_host_warn(host, "card claims to support voltages below the defined range. These will be ignored.\n");
> Â Â Â Â Â Â Â Âocr &= ~0x7F;
> Â Â Â Â}
>
> @@ -1315,8 +1303,7 @@ remove_card:
> Âerr:
> Â Â Â Âmmc_detach_bus(host);
>
> - Â Â Â pr_err("%s: error %d whilst initialising MMC card\n",
> - Â Â Â Â Â Â Â mmc_hostname(host), err);
> + Â Â Â mmc_host_err(host, "error %d whilst initialising MMC card\n", err);
>
> Â Â Â Âreturn err;
> Â}
> diff --git a/drivers/mmc/core/mmc_ops.c b/drivers/mmc/core/mmc_ops.c
> index 7c7388c..c1e0b9c 100644
> --- a/drivers/mmc/core/mmc_ops.c
> +++ b/drivers/mmc/core/mmc_ops.c
> @@ -415,8 +415,8 @@ int mmc_switch(struct mmc_card *card, u8 set, u8 index, u8 value,
> Â Â Â Â Â Â Â Â Â Â Â Âreturn -EBADMSG;
> Â Â Â Â} else {
> Â Â Â Â Â Â Â Âif (status & 0xFDFFA000)
> - Â Â Â Â Â Â Â Â Â Â Â pr_warn("%s: unexpected status %#x after switch\n",
> - Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â mmc_hostname(card->host), status);
> + Â Â Â Â Â Â Â Â Â Â Â mmc_host_warn(card->host, "unexpected status %#x after switch\n",
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â status);
> Â Â Â Â Â Â Â Âif (status & R1_SWITCH_ERROR)
> Â Â Â Â Â Â Â Â Â Â Â Âreturn -EBADMSG;
> Â Â Â Â}
> @@ -477,8 +477,7 @@ mmc_send_bus_test(struct mmc_card *card, struct mmc_host *host, u8 opcode,
> Â Â Â Âelse if (len == 4)
> Â Â Â Â Â Â Â Âtest_buf = testdata_4bit;
> Â Â Â Âelse {
> - Â Â Â Â Â Â Â pr_err("%s: Invalid bus_width %d\n",
> - Â Â Â Â Â Â Â Â Â Â Âmmc_hostname(host), len);
> + Â Â Â Â Â Â Â mmc_host_err(host, "Invalid bus_width %d\n", len);
> Â Â Â Â Â Â Â Âkfree(data_buf);
> Â Â Â Â Â Â Â Âreturn -EINVAL;
> Â Â Â Â}
> @@ -569,8 +568,8 @@ int mmc_send_hpi_cmd(struct mmc_card *card, u32 *status)
>
> Â Â Â Âerr = mmc_wait_for_cmd(card->host, &cmd, 0);
> Â Â Â Âif (err) {
> - Â Â Â Â Â Â Â pr_warn("%s: error %d interrupting operation. HPI command response %#x\n",
> - Â Â Â Â Â Â Â Â Â Â Â mmc_hostname(card->host), err, cmd.resp[0]);
> + Â Â Â Â Â Â Â mmc_host_warn(card->host, "error %d interrupting operation. HPI command response %#x\n",
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Â err, cmd.resp[0]);
> Â Â Â Â Â Â Â Âreturn err;
> Â Â Â Â}
> Â Â Â Âif (status)
> diff --git a/drivers/mmc/core/sd.c b/drivers/mmc/core/sd.c
> index 1492b7b..2b0fba9 100644
> --- a/drivers/mmc/core/sd.c
> +++ b/drivers/mmc/core/sd.c
> @@ -166,8 +166,8 @@ static int mmc_decode_csd(struct mmc_card *card)
> Â Â Â Â Â Â Â Âcsd->erase_size = 1;
> Â Â Â Â Â Â Â Âbreak;
> Â Â Â Âdefault:
> - Â Â Â Â Â Â Â pr_err("%s: unrecognised CSD structure version %d\n",
> - Â Â Â Â Â Â Â Â Â Â Â mmc_hostname(card->host), csd_struct);
> + Â Â Â Â Â Â Â mmc_host_err(card->host, "unrecognised CSD structure version %d\n",
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Âcsd_struct);
> Â Â Â Â Â Â Â Âreturn -EINVAL;
> Â Â Â Â}
>
> @@ -190,8 +190,8 @@ static int mmc_decode_scr(struct mmc_card *card)
>
> Â Â Â Âscr_struct = UNSTUFF_BITS(resp, 60, 4);
> Â Â Â Âif (scr_struct != 0) {
> - Â Â Â Â Â Â Â pr_err("%s: unrecognised SCR structure version %d\n",
> - Â Â Â Â Â Â Â Â Â Â Â mmc_hostname(card->host), scr_struct);
> + Â Â Â Â Â Â Â mmc_host_err(card->host, "unrecognised SCR structure version %d\n",
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Âscr_struct);
> Â Â Â Â Â Â Â Âreturn -EINVAL;
> Â Â Â Â}
>
> @@ -221,8 +221,7 @@ static int mmc_read_ssr(struct mmc_card *card)
> Â Â Â Âu32 *ssr;
>
> Â Â Â Âif (!(card->csd.cmdclass & CCC_APP_SPEC)) {
> - Â Â Â Â Â Â Â pr_warn("%s: card lacks mandatory SD Status function\n",
> - Â Â Â Â Â Â Â Â Â Â Â mmc_hostname(card->host));
> + Â Â Â Â Â Â Â mmc_host_warn(card->host, "card lacks mandatory SD Status function\n");
> Â Â Â Â Â Â Â Âreturn 0;
> Â Â Â Â}
>
> @@ -232,8 +231,7 @@ static int mmc_read_ssr(struct mmc_card *card)
>
> Â Â Â Âerr = mmc_app_sd_status(card, ssr);
> Â Â Â Âif (err) {
> - Â Â Â Â Â Â Â pr_warn("%s: problem reading SD Status register\n",
> - Â Â Â Â Â Â Â Â Â Â Â mmc_hostname(card->host));
> + Â Â Â Â Â Â Â mmc_host_warn(card->host, "problem reading SD Status register\n");
> Â Â Â Â Â Â Â Âerr = 0;
> Â Â Â Â Â Â Â Âgoto out;
> Â Â Â Â}
> @@ -256,8 +254,7 @@ static int mmc_read_ssr(struct mmc_card *card)
> Â Â Â Â Â Â Â Â Â Â Â Âcard->ssr.erase_offset = eo * 1000;
> Â Â Â Â Â Â Â Â}
> Â Â Â Â} else {
> - Â Â Â Â Â Â Â pr_warn("%s: SD Status: Invalid Allocation Unit size\n",
> - Â Â Â Â Â Â Â Â Â Â Â mmc_hostname(card->host));
> + Â Â Â Â Â Â Â mmc_host_warn(card->host, "SD Status: Invalid Allocation Unit size\n");
> Â Â Â Â}
> Âout:
> Â Â Â Âkfree(ssr);
> @@ -276,8 +273,7 @@ static int mmc_read_switch(struct mmc_card *card)
> Â Â Â Â Â Â Â Âreturn 0;
>
> Â Â Â Âif (!(card->csd.cmdclass & CCC_SWITCH)) {
> - Â Â Â Â Â Â Â pr_warn("%s: card lacks mandatory switch function, performance might suffer\n",
> - Â Â Â Â Â Â Â Â Â Â Â mmc_hostname(card->host));
> + Â Â Â Â Â Â Â mmc_host_warn(card->host, "card lacks mandatory switch function, performance might suffer\n");
> Â Â Â Â Â Â Â Âreturn 0;
> Â Â Â Â}
>
> @@ -285,8 +281,7 @@ static int mmc_read_switch(struct mmc_card *card)
>
> Â Â Â Âstatus = kmalloc(64, GFP_KERNEL);
> Â Â Â Âif (!status) {
> - Â Â Â Â Â Â Â pr_err("%s: could not allocate a buffer for switch capabilities\n",
> - Â Â Â Â Â Â Â Â Â Â Âmmc_hostname(card->host));
> + Â Â Â Â Â Â Â mmc_host_err(card->host, "could not allocate a buffer for switch capabilities\n");
> Â Â Â Â Â Â Â Âreturn -ENOMEM;
> Â Â Â Â}
>
> @@ -300,8 +295,7 @@ static int mmc_read_switch(struct mmc_card *card)
> Â Â Â Â Â Â Â Âif (err != -EINVAL && err != -ENOSYS && err != -EFAULT)
> Â Â Â Â Â Â Â Â Â Â Â Âgoto out;
>
> - Â Â Â Â Â Â Â pr_warn("%s: problem reading Bus Speed modes\n",
> - Â Â Â Â Â Â Â Â Â Â Â mmc_hostname(card->host));
> + Â Â Â Â Â Â Â mmc_host_warn(card->host, "problem reading Bus Speed modes\n");
> Â Â Â Â Â Â Â Âerr = 0;
>
> Â Â Â Â Â Â Â Âgoto out;
> @@ -323,8 +317,7 @@ static int mmc_read_switch(struct mmc_card *card)
> Â Â Â Â Â Â Â Â Â Â Â Âif (err != -EINVAL && err != -ENOSYS && err != -EFAULT)
> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Âgoto out;
>
> - Â Â Â Â Â Â Â Â Â Â Â pr_warn("%s: problem reading Driver Strength\n",
> - Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â mmc_hostname(card->host));
> + Â Â Â Â Â Â Â Â Â Â Â mmc_host_warn(card->host, "problem reading Driver Strength\n");
> Â Â Â Â Â Â Â Â Â Â Â Âerr = 0;
>
> Â Â Â Â Â Â Â Â Â Â Â Âgoto out;
> @@ -342,8 +335,7 @@ static int mmc_read_switch(struct mmc_card *card)
> Â Â Â Â Â Â Â Â Â Â Â Âif (err != -EINVAL && err != -ENOSYS && err != -EFAULT)
> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Âgoto out;
>
> - Â Â Â Â Â Â Â Â Â Â Â pr_warn("%s: problem reading Current Limit\n",
> - Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â mmc_hostname(card->host));
> + Â Â Â Â Â Â Â Â Â Â Â mmc_host_warn(card->host, "problem reading Current Limit\n");
> Â Â Â Â Â Â Â Â Â Â Â Âerr = 0;
>
> Â Â Â Â Â Â Â Â Â Â Â Âgoto out;
> @@ -382,8 +374,7 @@ int mmc_sd_switch_hs(struct mmc_card *card)
>
> Â Â Â Âstatus = kmalloc(64, GFP_KERNEL);
> Â Â Â Âif (!status) {
> - Â Â Â Â Â Â Â pr_err("%s: could not allocate a buffer for switch capabilities\n",
> - Â Â Â Â Â Â Â Â Â Â Âmmc_hostname(card->host));
> + Â Â Â Â Â Â Â mmc_host_err(card->host, "could not allocate a buffer for switch capabilities\n");
> Â Â Â Â Â Â Â Âreturn -ENOMEM;
> Â Â Â Â}
>
> @@ -392,8 +383,7 @@ int mmc_sd_switch_hs(struct mmc_card *card)
> Â Â Â Â Â Â Â Âgoto out;
>
> Â Â Â Âif ((status[16] & 0xF) != 1) {
> - Â Â Â Â Â Â Â pr_warn("%s: problem switching card into high-speed mode!\n",
> - Â Â Â Â Â Â Â Â Â Â Â mmc_hostname(card->host));
> + Â Â Â Â Â Â Â mmc_host_warn(card->host, "problem switching card into high-speed mode!\n");
> Â Â Â Â Â Â Â Âerr = 0;
> Â Â Â Â} else {
> Â Â Â Â Â Â Â Âerr = 1;
> @@ -457,8 +447,7 @@ static int sd_select_driver_type(struct mmc_card *card, u8 *status)
> Â Â Â Â Â Â Â Âreturn err;
>
> Â Â Â Âif ((status[15] & 0xF) != drive_strength) {
> - Â Â Â Â Â Â Â pr_warn("%s: problem setting drive strength!\n",
> - Â Â Â Â Â Â Â Â Â Â Â mmc_hostname(card->host));
> + Â Â Â Â Â Â Â mmc_host_warn(card->host, "problem setting drive strength!\n");
> Â Â Â Â Â Â Â Âreturn 0;
> Â Â Â Â}
>
> @@ -536,8 +525,7 @@ static int sd_set_bus_speed_mode(struct mmc_card *card, u8 *status)
> Â Â Â Â Â Â Â Âreturn err;
>
> Â Â Â Âif ((status[16] & 0xF) != card->sd_bus_speed)
> - Â Â Â Â Â Â Â pr_warn("%s: problem setting bus speed mode!\n",
> - Â Â Â Â Â Â Â Â Â Â Â mmc_hostname(card->host));
> + Â Â Â Â Â Â Â mmc_host_warn(card->host, "problem setting bus speed mode!\n");
> Â Â Â Âelse {
> Â Â Â Â Â Â Â Âmmc_set_timing(card->host, timing);
> Â Â Â Â Â Â Â Âmmc_set_clock(card->host, card->sw_caps.uhs_max_dtr);
> @@ -598,8 +586,7 @@ static int sd_set_current_limit(struct mmc_card *card, u8 *status)
> Â Â Â Â Â Â Â Âreturn err;
>
> Â Â Â Âif (((status[15] >> 4) & 0x0F) != current_limit)
> - Â Â Â Â Â Â Â pr_warn("%s: problem setting current limit!\n",
> - Â Â Â Â Â Â Â Â Â Â Â mmc_hostname(card->host));
> + Â Â Â Â Â Â Â mmc_host_warn(card->host, "problem setting current limit!\n");
>
> Â Â Â Âreturn 0;
> Â}
> @@ -620,8 +607,7 @@ static int mmc_sd_init_uhs_card(struct mmc_card *card)
>
> Â Â Â Âstatus = kmalloc(64, GFP_KERNEL);
> Â Â Â Âif (!status) {
> - Â Â Â Â Â Â Â pr_err("%s: could not allocate a buffer for switch capabilities\n",
> - Â Â Â Â Â Â Â Â Â Â Âmmc_hostname(card->host));
> + Â Â Â Â Â Â Â mmc_host_err(card->host, "could not allocate a buffer for switch capabilities\n");
> Â Â Â Â Â Â Â Âreturn -ENOMEM;
> Â Â Â Â}
>
> @@ -850,8 +836,7 @@ int mmc_sd_setup_card(struct mmc_host *host, struct mmc_card *card,
> Â Â Â Â Â Â Â Â Â Â Â Âro = host->ops->get_ro(host);
>
> Â Â Â Â Â Â Â Âif (ro < 0) {
> - Â Â Â Â Â Â Â Â Â Â Â pr_warn("%s: host does not support reading read-only switch. assuming write-enable.\n",
> - Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â mmc_hostname(host));
> + Â Â Â Â Â Â Â Â Â Â Â mmc_host_warn(host, "host does not support reading read-only switch. assuming write-enable.\n");
> Â Â Â Â Â Â Â Â} else if (ro > 0) {
> Â Â Â Â Â Â Â Â Â Â Â Âmmc_card_set_readonly(card);
> Â Â Â Â Â Â Â Â}
> @@ -1162,15 +1147,13 @@ int mmc_attach_sd(struct mmc_host *host)
> Â Â Â Â * support.
> Â Â Â Â */
> Â Â Â Âif (ocr & 0x7F) {
> - Â Â Â Â Â Â Â pr_warn("%s: card claims to support voltages below the defined range. These will be ignored.\n",
> - Â Â Â Â Â Â Â Â Â Â Â mmc_hostname(host));
> + Â Â Â Â Â Â Â mmc_host_warn(host, "card claims to support voltages below the defined range. These will be ignored.\n");
> Â Â Â Â Â Â Â Âocr &= ~0x7F;
> Â Â Â Â}
>
> Â Â Â Âif ((ocr & MMC_VDD_165_195) &&
> Â Â Â Â Â Â!(host->ocr_avail_sd & MMC_VDD_165_195)) {
> - Â Â Â Â Â Â Â pr_warn("%s: SD card claims to support the incompletely defined 'low voltage range'. This will be ignored.\n",
> - Â Â Â Â Â Â Â Â Â Â Â mmc_hostname(host));
> + Â Â Â Â Â Â Â mmc_host_warn(host, "SD card claims to support the incompletely defined 'low voltage range'. This will be ignored.\n");
> Â Â Â Â Â Â Â Âocr &= ~MMC_VDD_165_195;
> Â Â Â Â}
>
> @@ -1207,8 +1190,7 @@ remove_card:
> Âerr:
> Â Â Â Âmmc_detach_bus(host);
>
> - Â Â Â pr_err("%s: error %d whilst initialising SD card\n",
> - Â Â Â Â Â Â Â mmc_hostname(host), err);
> + Â Â Â mmc_host_err(host, "error %d whilst initialising SD card\n", err);
>
> Â Â Â Âreturn err;
> Â}
> diff --git a/drivers/mmc/core/sdio.c b/drivers/mmc/core/sdio.c
> index e994a89..7bae59b 100644
> --- a/drivers/mmc/core/sdio.c
> +++ b/drivers/mmc/core/sdio.c
> @@ -112,8 +112,8 @@ static int sdio_read_cccr(struct mmc_card *card)
> Â Â Â Âcccr_vsn = data & 0x0f;
>
> Â Â Â Âif (cccr_vsn > SDIO_CCCR_REV_3_00) {
> - Â Â Â Â Â Â Â pr_err("%s: unrecognised CCCR structure version %d\n",
> - Â Â Â Â Â Â Â Â Â Â Â mmc_hostname(card->host), cccr_vsn);
> + Â Â Â Â Â Â Â mmc_host_err(card->host, "unrecognised CCCR structure version %d\n",
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Âcccr_vsn);
> Â Â Â Â Â Â Â Âreturn -EINVAL;
> Â Â Â Â}
>
> @@ -777,8 +777,7 @@ int mmc_attach_sdio(struct mmc_host *host)
> Â Â Â Â * support.
> Â Â Â Â */
> Â Â Â Âif (ocr & 0x7F) {
> - Â Â Â Â Â Â Â pr_warn("%s: card claims to support voltages below the defined range. These will be ignored.\n",
> - Â Â Â Â Â Â Â Â Â Â Â mmc_hostname(host));
> + Â Â Â Â Â Â Â mmc_host_warn(host, "card claims to support voltages below the defined range. These will be ignored.\n");
> Â Â Â Â Â Â Â Âocr &= ~0x7F;
> Â Â Â Â}
>
> @@ -873,8 +872,7 @@ remove:
> Âerr:
> Â Â Â Âmmc_detach_bus(host);
>
> - Â Â Â pr_err("%s: error %d whilst initialising SDIO card\n",
> - Â Â Â Â Â Â Â mmc_hostname(host), err);
> + Â Â Â mmc_host_err(host, "error %d whilst initialising SDIO card\n", err);
>
> Â Â Â Âreturn err;
> Â}
> diff --git a/drivers/mmc/core/sdio_cis.c b/drivers/mmc/core/sdio_cis.c
> index 6536fce..e50fecb 100644
> --- a/drivers/mmc/core/sdio_cis.c
> +++ b/drivers/mmc/core/sdio_cis.c
> @@ -132,8 +132,8 @@ static int cis_tpl_parse(struct mmc_card *card, struct sdio_func *func,
> Â Â Â Â Â Â Â Â Â Â Â Âret = -EINVAL;
> Â Â Â Â Â Â Â Â}
> Â Â Â Â Â Â Â Âif (ret && ret != -EILSEQ && ret != -ENOENT) {
> - Â Â Â Â Â Â Â Â Â Â Â pr_err("%s: bad %s tuple 0x%02x (%u bytes)\n",
> - Â Â Â Â Â Â Â Â Â Â Â Â Â Â Âmmc_hostname(card->host), tpl_descr, code, size);
> + Â Â Â Â Â Â Â Â Â Â Â mmc_host_err(card->host, "bad %s tuple 0x%02x (%u bytes)\n",
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Âtpl_descr, code, size);
> Â Â Â Â Â Â Â Â}
> Â Â Â Â} else {
> Â Â Â Â Â Â Â Â/* unknown tuple */
> @@ -313,9 +313,8 @@ static int sdio_read_cis(struct mmc_card *card, struct sdio_func *func)
>
> Â Â Â Â Â Â Â Â Â Â Â Âif (ret == -ENOENT) {
> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â/* warn about unknown tuples */
> - Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â pr_warn("%s: queuing unknown CIS tuple 0x%02x (%u bytes)\n",
> - Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â mmc_hostname(card->host),
> - Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â tpl_code, tpl_link);
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â mmc_host_warn(card->host, "queuing unknown CIS tuple 0x%02x (%u bytes)\n",
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â tpl_code, tpl_link);
> Â Â Â Â Â Â Â Â Â Â Â Â}
>
> Â Â Â Â Â Â Â Â Â Â Â Â/* keep on analyzing tuples */
> diff --git a/drivers/mmc/core/sdio_irq.c b/drivers/mmc/core/sdio_irq.c
> index 533d0e5..3aa13bf 100644
> --- a/drivers/mmc/core/sdio_irq.c
> +++ b/drivers/mmc/core/sdio_irq.c
> @@ -97,8 +97,8 @@ static int sdio_irq_thread(void *_host)
> Â Â Â Âperiod = (host->caps & MMC_CAP_SDIO_IRQ) ?
> Â Â Â Â Â Â Â ÂMAX_SCHEDULE_TIMEOUT : idle_period;
>
> - Â Â Â pr_debug("%s: IRQ thread started (poll period = %lu jiffies)\n",
> - Â Â Â Â Â Â Â Âmmc_hostname(host), period);
> + Â Â Â mmc_host_debug(host, "IRQ thread started (poll period = %lu jiffies)\n",
> + Â Â Â Â Â Â Â Â Â Â Âperiod);
>
> Â Â Â Âdo {
> Â Â Â Â Â Â Â Â/*
> @@ -157,8 +157,7 @@ static int sdio_irq_thread(void *_host)
> Â Â Â Âif (host->caps & MMC_CAP_SDIO_IRQ)
> Â Â Â Â Â Â Â Âhost->ops->enable_sdio_irq(host, 0);
>
> - Â Â Â pr_debug("%s: IRQ thread exiting with code %d\n",
> - Â Â Â Â Â Â Â Âmmc_hostname(host), ret);
> + Â Â Â mmc_host_debug(host, "IRQ thread exiting with code %d\n", ret);
>
> Â Â Â Âreturn ret;
> Â}
> diff --git a/drivers/mmc/host/at91_mci.c b/drivers/mmc/host/at91_mci.c
> index d63f453..4add419 100644
> --- a/drivers/mmc/host/at91_mci.c
> +++ b/drivers/mmc/host/at91_mci.c
> @@ -881,8 +881,8 @@ static irqreturn_t at91_mmc_det_irq(int irq, void *_host)
> Â Â Â Â */
> Â Â Â Âif (present != host->present) {
> Â Â Â Â Â Â Â Âhost->present = present;
> - Â Â Â Â Â Â Â pr_debug("%s: card %s\n", mmc_hostname(host->mmc),
> - Â Â Â Â Â Â Â Â Â Â Â present ? "insert" : "remove");
> + Â Â Â Â Â Â Â mmc_host_debug(host->mmc, "card %s\n",
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Â Âpresent ? "insert" : "remove");
> Â Â Â Â Â Â Â Âif (!present) {
> Â Â Â Â Â Â Â Â Â Â Â Âpr_debug("****** Resetting SD-card bus width ******\n");
> Â Â Â Â Â Â Â Â Â Â Â Âat91_mci_write(host, AT91_MCI_SDCR, at91_mci_read(host, AT91_MCI_SDCR) & ~AT91_MCI_SDCBUS);
> @@ -910,8 +910,9 @@ static void at91_mci_enable_sdio_irq(struct mmc_host *mmc, int enable)
> Â{
> Â Â Â Âstruct at91mci_host *host = mmc_priv(mmc);
>
> - Â Â Â pr_debug("%s: sdio_irq %c : %s\n", mmc_hostname(host->mmc),
> - Â Â Â Â Â Â Â host->board->slot_b ? 'B':'A', enable ? "enable" : "disable");
> + Â Â Â mmc_host_debug(host->mmc, "sdio_irq %c : %s\n",
> + Â Â Â Â Â Â Â Â Â Â Âhost->board->slot_b ? 'B' : 'A',
> + Â Â Â Â Â Â Â Â Â Â Âenable ? "enable" : "disable");
> Â Â Â Âat91_mci_write(host, enable ? AT91_MCI_IER : AT91_MCI_IDR,
> Â Â Â Â Â Â Â Âhost->board->slot_b ? AT91_MCI_SDIOIRQB : AT91_MCI_SDIOIRQA);
>
> diff --git a/drivers/mmc/host/dw_mmc.c b/drivers/mmc/host/dw_mmc.c
> index 5d34c01..b4efd3c 100644
> --- a/drivers/mmc/host/dw_mmc.c
> +++ b/drivers/mmc/host/dw_mmc.c
> @@ -1712,7 +1712,7 @@ static int __init dw_mci_init_slot(struct dw_mci *host, unsigned int id)
>
> Â Â Â Âhost->vmmc = regulator_get(mmc_dev(mmc), "vmmc");
> Â Â Â Âif (IS_ERR(host->vmmc)) {
> - Â Â Â Â Â Â Â pr_info("%s: no vmmc regulator found\n", mmc_hostname(mmc));
> + Â Â Â Â Â Â Â mmc_host_info(mmc, "no vmmc regulator found\n");
> Â Â Â Â Â Â Â Âhost->vmmc = NULL;
> Â Â Â Â} else
> Â Â Â Â Â Â Â Âregulator_enable(host->vmmc);
> diff --git a/drivers/mmc/host/msm_sdcc.c b/drivers/mmc/host/msm_sdcc.c
> index 80d8eb1..e0b49ec 100644
> --- a/drivers/mmc/host/msm_sdcc.c
> +++ b/drivers/mmc/host/msm_sdcc.c
> @@ -141,16 +141,15 @@ static void msmsdcc_reset_and_restore(struct msmsdcc_host *host)
> Â Â Â Â/* Reset the controller */
> Â Â Â Âret = clk_reset(host->clk, CLK_RESET_ASSERT);
> Â Â Â Âif (ret)
> - Â Â Â Â Â Â Â pr_err("%s: Clock assert failed at %u Hz with err %d\n",
> - Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â mmc_hostname(host->mmc), host->clk_rate, ret);
> + Â Â Â Â Â Â Â mmc_host_err(host->mmc, "Clock assert failed at %u Hz with err %d\n",
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Âhost->clk_rate, ret);
>
> Â Â Â Âret = clk_reset(host->clk, CLK_RESET_DEASSERT);
> Â Â Â Âif (ret)
> - Â Â Â Â Â Â Â pr_err("%s: Clock deassert failed at %u Hz with err %d\n",
> - Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â mmc_hostname(host->mmc), host->clk_rate, ret);
> + Â Â Â Â Â Â Â mmc_host_err(host->mmc, "Clock deassert failed at %u Hz with err %d\n",
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Âhost->clk_rate, ret);
>
> - Â Â Â pr_info("%s: Controller has been re-initialiazed\n",
> - Â Â Â Â Â Â Â Â Â Â Â mmc_hostname(host->mmc));
> + Â Â Â mmc_host_info(host->mmc, "Controller has been re-initialized\n");
>
> Â Â Â Â/* Restore the contoller state */
> Â Â Â Âwritel(host->pwr, host->base + MMCIPOWER);
> @@ -158,8 +157,8 @@ static void msmsdcc_reset_and_restore(struct msmsdcc_host *host)
> Â Â Â Âwritel(mci_mask0, host->base + MMCIMASK0);
> Â Â Â Âret = clk_set_rate(host->clk, host->clk_rate);
> Â Â Â Âif (ret)
> - Â Â Â Â Â Â Â pr_err("%s: Failed to set clk rate %u Hz (%d)\n",
> - Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â mmc_hostname(host->mmc), host->clk_rate, ret);
> + Â Â Â Â Â Â Â mmc_host_err(host->mmc, "Failed to set clk rate %u Hz (%d)\n",
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Âhost->clk_rate, ret);
> Â}
>
> Âstatic void
> @@ -251,11 +250,11 @@ msmsdcc_dma_complete_tlet(unsigned long data)
> Â Â Â Â} else {
> Â Â Â Â Â Â Â Â/* Error or flush Â*/
> Â Â Â Â Â Â Â Âif (host->dma.result & DMOV_RSLT_ERROR)
> - Â Â Â Â Â Â Â Â Â Â Â pr_err("%s: DMA error (0x%.8x)\n",
> - Â Â Â Â Â Â Â Â Â Â Â Â Â Â Âmmc_hostname(host->mmc), host->dma.result);
> + Â Â Â Â Â Â Â Â Â Â Â mmc_host_err(host->mmc, "DMA error (0x%.8x)\n",
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Âhost->dma.result);
> Â Â Â Â Â Â Â Âif (host->dma.result & DMOV_RSLT_FLUSH)
> - Â Â Â Â Â Â Â Â Â Â Â pr_err("%s: DMA channel flushed (0x%.8x)\n",
> - Â Â Â Â Â Â Â Â Â Â Â Â Â Â Âmmc_hostname(host->mmc), host->dma.result);
> + Â Â Â Â Â Â Â Â Â Â Â mmc_host_err(host->mmc, "DMA channel flushed (0x%.8x)\n",
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Âhost->dma.result);
>
> Â Â Â Â Â Â Â Âpr_err("Flush data: %.8x %.8x %.8x %.8x %.8x %.8x\n",
> Â Â Â Â Â Â Â Â Â Â Â err.flush[0], err.flush[1], err.flush[2],
> @@ -389,8 +388,7 @@ static int msmsdcc_config_dma(struct msmsdcc_host *host, struct mmc_data *data)
> Â Â Â Ân = dma_map_sg(mmc_dev(host->mmc), host->dma.sg,
> Â Â Â Â Â Â Â Â Â Â Â Âhost->dma.num_ents, host->dma.dir);
> Â Â Â Âif (n == 0) {
> - Â Â Â Â Â Â Â pr_err("%s: Unable to map in all sg elements\n",
> - Â Â Â Â Â Â Â Â Â Â Â mmc_hostname(host->mmc));
> + Â Â Â Â Â Â Â mmc_host_err(host->mmc, "Unable to map in all sg elements\n");
> Â Â Â Â Â Â Â Âhost->dma.sg = NULL;
> Â Â Â Â Â Â Â Âhost->dma.num_ents = 0;
> Â Â Â Â Â Â Â Âreturn -ENOMEM;
> @@ -475,8 +473,7 @@ msmsdcc_start_command_deferred(struct msmsdcc_host *host,
> Â Â Â Â Â Â Â Â*c |= MCI_CSPM_MCIABORT;
>
> Â Â Â Âif (host->curr.cmd != NULL) {
> - Â Â Â Â Â Â Â pr_err("%s: Overlapping command requests\n",
> - Â Â Â Â Â Â Â Â Â Â Â mmc_hostname(host->mmc));
> + Â Â Â Â Â Â Â mmc_host_err(host->mmc, "Overlapping command requests\n");
> Â Â Â Â}
> Â Â Â Âhost->curr.cmd = cmd;
> Â}
> @@ -573,24 +570,23 @@ msmsdcc_data_err(struct msmsdcc_host *host, struct mmc_data *data,
> Â Â Â Â Â Â Â Â unsigned int status)
> Â{
> Â Â Â Âif (status & MCI_DATACRCFAIL) {
> - Â Â Â Â Â Â Â pr_err("%s: Data CRC error\n", mmc_hostname(host->mmc));
> + Â Â Â Â Â Â Â mmc_host_err(host->mmc, "Data CRC error\n");
> Â Â Â Â Â Â Â Âpr_err("%s: opcode 0x%.8x\n", __func__,
> Â Â Â Â Â Â Â Â Â Â Â data->mrq->cmd->opcode);
> Â Â Â Â Â Â Â Âpr_err("%s: blksz %d, blocks %d\n", __func__,
> Â Â Â Â Â Â Â Â Â Â Â data->blksz, data->blocks);
> Â Â Â Â Â Â Â Âdata->error = -EILSEQ;
> Â Â Â Â} else if (status & MCI_DATATIMEOUT) {
> - Â Â Â Â Â Â Â pr_err("%s: Data timeout\n", mmc_hostname(host->mmc));
> + Â Â Â Â Â Â Â mmc_host_err(host->mmc, "Data timeout\n");
> Â Â Â Â Â Â Â Âdata->error = -ETIMEDOUT;
> Â Â Â Â} else if (status & MCI_RXOVERRUN) {
> - Â Â Â Â Â Â Â pr_err("%s: RX overrun\n", mmc_hostname(host->mmc));
> + Â Â Â Â Â Â Â mmc_host_err(host->mmc, "RX overrun\n");
> Â Â Â Â Â Â Â Âdata->error = -EIO;
> Â Â Â Â} else if (status & MCI_TXUNDERRUN) {
> - Â Â Â Â Â Â Â pr_err("%s: TX underrun\n", mmc_hostname(host->mmc));
> + Â Â Â Â Â Â Â mmc_host_err(host->mmc, "TX underrun\n");
> Â Â Â Â Â Â Â Âdata->error = -EIO;
> Â Â Â Â} else {
> - Â Â Â Â Â Â Â pr_err("%s: Unknown error (0x%.8x)\n",
> - Â Â Â Â Â Â Â Â Â Â Âmmc_hostname(host->mmc), status);
> + Â Â Â Â Â Â Â mmc_host_err(host->mmc, "Unknown error (0x%.8x)\n", status);
> Â Â Â Â Â Â Â Âdata->error = -EIO;
> Â Â Â Â}
> Â}
> @@ -751,7 +747,7 @@ static void msmsdcc_do_cmdirq(struct msmsdcc_host *host, uint32_t status)
> Â Â Â Â Â Â Â Âcmd->error = -ETIMEDOUT;
> Â Â Â Â} else if (status & MCI_CMDCRCFAIL &&
> Â Â Â Â Â Â Â Â Â cmd->flags & MMC_RSP_CRC) {
> - Â Â Â Â Â Â Â pr_err("%s: Command CRC error\n", mmc_hostname(host->mmc));
> + Â Â Â Â Â Â Â mmc_host_err(host->mmc, "Command CRC error\n");
> Â Â Â Â Â Â Â Âcmd->error = -EILSEQ;
> Â Â Â Â}
>
> @@ -960,10 +956,9 @@ static void msmsdcc_setup_gpio(struct msmsdcc_host *host, bool enable)
> Â Â Â Â Â Â Â Â Â Â Â Ârc = gpio_request(curr->gpio[i].no,
> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Âcurr->gpio[i].name);
> Â Â Â Â Â Â Â Â Â Â Â Âif (rc) {
> - Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â pr_err("%s: gpio_request(%d, %s) failed %d\n",
> - Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â mmc_hostname(host->mmc),
> - Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â curr->gpio[i].no,
> - Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â curr->gpio[i].name, rc);
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â mmc_host_err(host->mmc, "gpio_request(%d, %s) failed %d\n",
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Âcurr->gpio[i].no,
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Âcurr->gpio[i].name, rc);
> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Âgoto free_gpios;
> Â Â Â Â Â Â Â Â Â Â Â Â}
> Â Â Â Â Â Â Â Â} else {
> @@ -996,8 +991,8 @@ msmsdcc_set_ios(struct mmc_host *mmc, struct mmc_ios *ios)
> Â Â Â Â Â Â Â Âif (ios->clock != host->clk_rate) {
> Â Â Â Â Â Â Â Â Â Â Â Ârc = clk_set_rate(host->clk, ios->clock);
> Â Â Â Â Â Â Â Â Â Â Â Âif (rc < 0)
> - Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â pr_err("%s: Error setting clock rate (%d)\n",
> - Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Âmmc_hostname(host->mmc), rc);
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â mmc_host_err(host->mmc, "Error setting clock rate (%d)\n",
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Ârc);
> Â Â Â Â Â Â Â Â Â Â Â Âelse
> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Âhost->clk_rate = ios->clock;
> Â Â Â Â Â Â Â Â}
> @@ -1093,8 +1088,8 @@ msmsdcc_check_status(unsigned long data)
> Â Â Â Âstatus = host->plat->status(mmc_dev(host->mmc));
> Â Â Â Âhost->eject = !status;
> Â Â Â Âif (status ^ host->oldstat) {
> - Â Â Â Â Â Â Â pr_info("%s: Slot status change detected (%d -> %d)\n",
> - Â Â Â Â Â Â Â Â Â Â Â mmc_hostname(host->mmc), host->oldstat, status);
> + Â Â Â Â Â Â Â mmc_host_info(host->mmc, "Slot status change detected (%d -> %d)\n",
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Â host->oldstat, status);
> Â Â Â Â Â Â Â Âif (status)
> Â Â Â Â Â Â Â Â Â Â Â Âmmc_detect_change(host->mmc, (5 * HZ) / 2);
> Â Â Â Â Â Â Â Âelse
> @@ -1123,8 +1118,7 @@ msmsdcc_status_notify_cb(int card_present, void *dev_id)
> Â{
> Â Â Â Âstruct msmsdcc_host *host = dev_id;
>
> - Â Â Â pr_debug("%s: card_present %d\n", mmc_hostname(host->mmc),
> - Â Â Â Â Â Â Âcard_present);
> + Â Â Â mmc_host_debug(host->mmc, "card_present %d\n", card_present);
> Â Â Â Âmsmsdcc_check_status((unsigned long) host);
> Â}
>
> @@ -1321,15 +1315,14 @@ msmsdcc_probe(struct platform_device *pdev)
> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â ÂDRIVER_NAME " (slot)",
> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Âhost);
> Â Â Â Â Â Â Â Âif (ret) {
> - Â Â Â Â Â Â Â Â Â Â Â pr_err("%s: Unable to get slot IRQ %d (%d)\n",
> - Â Â Â Â Â Â Â Â Â Â Â Â Â Â Âmmc_hostname(mmc), host->stat_irq, ret);
> + Â Â Â Â Â Â Â Â Â Â Â mmc_host_err(mmc, "Unable to get slot IRQ %d (%d)\n",
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Âhost->stat_irq, ret);
> Â Â Â Â Â Â Â Â Â Â Â Âgoto clk_disable;
> Â Â Â Â Â Â Â Â}
> Â Â Â Â} else if (plat->register_status_notify) {
> Â Â Â Â Â Â Â Âplat->register_status_notify(msmsdcc_status_notify_cb, host);
> Â Â Â Â} else if (!plat->status)
> - Â Â Â Â Â Â Â pr_err("%s: No card detect facilities available\n",
> - Â Â Â Â Â Â Â Â Â Â Âmmc_hostname(mmc));
> + Â Â Â Â Â Â Â mmc_host_err(mmc, "No card detect facilities available\n");
> Â Â Â Âelse {
> Â Â Â Â Â Â Â Âinit_timer(&host->timer);
> Â Â Â Â Â Â Â Âhost->timer.data = (unsigned long)host;
> @@ -1356,28 +1349,26 @@ msmsdcc_probe(struct platform_device *pdev)
> Â Â Â Âmmc_set_drvdata(pdev, mmc);
> Â Â Â Âmmc_add_host(mmc);
>
> - Â Â Â pr_info("%s: Qualcomm MSM SDCC at 0x%016llx irq %d,%d dma %d\n",
> - Â Â Â Â Â Â Â mmc_hostname(mmc), (unsigned long long)memres->start,
> - Â Â Â Â Â Â Â (unsigned int) cmd_irqres->start,
> - Â Â Â Â Â Â Â (unsigned int) host->stat_irq, host->dma.channel);
> - Â Â Â pr_info("%s: 4 bit data mode %s\n", mmc_hostname(mmc),
> - Â Â Â Â Â Â Â (mmc->caps & MMC_CAP_4_BIT_DATA ? "enabled" : "disabled"));
> - Â Â Â pr_info("%s: MMC clock %u -> %u Hz, PCLK %u Hz\n",
> - Â Â Â Â Â Â Â mmc_hostname(mmc), msmsdcc_fmin, msmsdcc_fmax, host->pclk_rate);
> - Â Â Â pr_info("%s: Slot eject status = %d\n", mmc_hostname(mmc), host->eject);
> - Â Â Â pr_info("%s: Power save feature enable = %d\n",
> - Â Â Â Â Â Â Â mmc_hostname(mmc), msmsdcc_pwrsave);
> + Â Â Â mmc_host_info(mmc, "Qualcomm MSM SDCC at 0x%016llx irq %d,%d dma %d\n",
> + Â Â Â Â Â Â Â Â Â Â (unsigned long long)memres->start,
> + Â Â Â Â Â Â Â Â Â Â (unsigned int) cmd_irqres->start,
> + Â Â Â Â Â Â Â Â Â Â (unsigned int) host->stat_irq, host->dma.channel);
> + Â Â Â mmc_host_info(mmc, "4 bit data mode %s\n",
> + Â Â Â Â Â Â Â Â Â Â mmc->caps & MMC_CAP_4_BIT_DATA ? "enabled" : "disabled");
> + Â Â Â mmc_host_info(mmc, "MMC clock %u -> %u Hz, PCLK %u Hz\n",
> + Â Â Â Â Â Â Â Â Â Â msmsdcc_fmin, msmsdcc_fmax, host->pclk_rate);
> + Â Â Â mmc_host_info(mmc, "Slot eject status = %d\n", host->eject);
> + Â Â Â mmc_host_info(mmc, "Power save feature enable = %d\n", msmsdcc_pwrsave);
>
> Â Â Â Âif (host->dma.channel != -1) {
> - Â Â Â Â Â Â Â pr_info("%s: DM non-cached buffer at %p, dma_addr 0x%.8x\n",
> - Â Â Â Â Â Â Â Â Â Â Â mmc_hostname(mmc), host->dma.nc, host->dma.nc_busaddr);
> - Â Â Â Â Â Â Â pr_info("%s: DM cmd busaddr 0x%.8x, cmdptr busaddr 0x%.8x\n",
> - Â Â Â Â Â Â Â Â Â Â Â mmc_hostname(mmc), host->dma.cmd_busaddr,
> - Â Â Â Â Â Â Â Â Â Â Â host->dma.cmdptr_busaddr);
> + Â Â Â Â Â Â Â mmc_host_info(mmc, "DM non-cached buffer at %p, dma_addr 0x%.8x\n",
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Â host->dma.nc, host->dma.nc_busaddr);
> + Â Â Â Â Â Â Â mmc_host_info(mmc, "DM cmd busaddr 0x%.8x, cmdptr busaddr 0x%.8x\n",
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Â host->dma.cmd_busaddr, host->dma.cmdptr_busaddr);
> Â Â Â Â} else
> - Â Â Â Â Â Â Â pr_info("%s: PIO transfer enabled\n", mmc_hostname(mmc));
> + Â Â Â Â Â Â Â mmc_host_info(mmc, "PIO transfer enabled\n");
> Â Â Â Âif (host->timer.function)
> - Â Â Â Â Â Â Â pr_info("%s: Polling status mode enabled\n", mmc_hostname(mmc));
> + Â Â Â Â Â Â Â mmc_host_info(mmc, "Polling status mode enabled\n");
>
> Â Â Â Âreturn 0;
> Âcmd_irq_free:
> diff --git a/drivers/mmc/host/mvsdio.c b/drivers/mmc/host/mvsdio.c
> index 93012a0..7928e2e 100644
> --- a/drivers/mmc/host/mvsdio.c
> +++ b/drivers/mmc/host/mvsdio.c
> @@ -117,9 +117,8 @@ static int mvsd_setup_data(struct mvsd_host *host, struct mmc_data *data)
> Â Â Â Â Â Â Â Âhost->pio_size = data->blocks * data->blksz;
> Â Â Â Â Â Â Â Âhost->pio_ptr = sg_virt(data->sg);
> Â Â Â Â Â Â Â Âif (!nodma)
> - Â Â Â Â Â Â Â Â Â Â Â pr_debug("%s: fallback to PIO for data at 0x%p size %d\n",
> - Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Âmmc_hostname(host->mmc),
> - Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Âhost->pio_ptr, host->pio_size);
> + Â Â Â Â Â Â Â Â Â Â Â mmc_host_debug(host->mmc, "fallback to PIO for data at 0x%p size %d\n",
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Âhost->pio_ptr, host->pio_size);
> Â Â Â Â Â Â Â Âreturn 1;
> Â Â Â Â} else {
> Â Â Â Â Â Â Â Âdma_addr_t phys_addr;
> @@ -470,8 +469,8 @@ static irqreturn_t mvsd_irq(int irq, void *dev)
> Â Â Â Â Â Â Â Âif (mrq->data)
> Â Â Â Â Â Â Â Â Â Â Â Âerr_status = mvsd_finish_data(host, mrq->data, err_status);
> Â Â Â Â Â Â Â Âif (err_status) {
> - Â Â Â Â Â Â Â Â Â Â Â pr_err("%s: unhandled error status %#04x\n",
> - Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â mmc_hostname(host->mmc), err_status);
> + Â Â Â Â Â Â Â Â Â Â Â mmc_host_err(host->mmc, "unhandled error status %#04x\n",
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Âerr_status);
> Â Â Â Â Â Â Â Â Â Â Â Âcmd->error = -ENOMSG;
> Â Â Â Â Â Â Â Â}
>
> @@ -488,9 +487,8 @@ static irqreturn_t mvsd_irq(int irq, void *dev)
> Â Â Â Âif (irq_handled)
> Â Â Â Â Â Â Â Âreturn IRQ_HANDLED;
>
> - Â Â Â pr_err("%s: unhandled interrupt status=0x%04x en=0x%04x pio=%d\n",
> - Â Â Â Â Â Â Âmmc_hostname(host->mmc), intr_status,
> - Â Â Â Â Â Â Âhost->intr_en, host->pio_size);
> + Â Â Â mmc_host_err(host->mmc, "unhandled interrupt status=0x%04x en=0x%04x pio=%d\n",
> + Â Â Â Â Â Â Â Â Â Âintr_status, host->intr_en, host->pio_size);
> Â Â Â Âreturn IRQ_NONE;
> Â}
>
> @@ -504,13 +502,11 @@ static void mvsd_timeout_timer(unsigned long data)
> Â Â Â Âspin_lock_irqsave(&host->lock, flags);
> Â Â Â Âmrq = host->mrq;
> Â Â Â Âif (mrq) {
> - Â Â Â Â Â Â Â pr_err("%s: Timeout waiting for hardware interrupt\n",
> - Â Â Â Â Â Â Â Â Â Â Âmmc_hostname(host->mmc));
> - Â Â Â Â Â Â Â pr_err("%s: hw_state=0x%04x, intr_status=0x%04x intr_en=0x%04x\n",
> - Â Â Â Â Â Â Â Â Â Â Âmmc_hostname(host->mmc),
> - Â Â Â Â Â Â Â Â Â Â Âmvsd_read(MVSD_HW_STATE),
> - Â Â Â Â Â Â Â Â Â Â Âmvsd_read(MVSD_NOR_INTR_STATUS),
> - Â Â Â Â Â Â Â Â Â Â Âmvsd_read(MVSD_NOR_INTR_EN));
> + Â Â Â Â Â Â Â mmc_host_err(host->mmc, "Timeout waiting for hardware interrupt\n");
> + Â Â Â Â Â Â Â mmc_host_err(host->mmc, "hw_state=0x%04x, intr_status=0x%04x intr_en=0x%04x\n",
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Âmvsd_read(MVSD_HW_STATE),
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Âmvsd_read(MVSD_NOR_INTR_STATUS),
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Âmvsd_read(MVSD_NOR_INTR_EN));
>
> Â Â Â Â Â Â Â Âhost->mrq = NULL;
>
> @@ -801,13 +797,12 @@ static int __init mvsd_probe(struct platform_device *pdev)
> Â Â Â Âif (ret)
> Â Â Â Â Â Â Â Âgoto out;
>
> - Â Â Â pr_notice("%s: %s driver initialized, ",
> - Â Â Â Â Â Â Â Â Â Â Â Â Âmmc_hostname(mmc), DRIVER_NAME);
> + Â Â Â mmc_host_notice(mmc, "%s driver initialized, ", DRIVER_NAME);
> Â Â Â Âif (host->gpio_card_detect)
> - Â Â Â Â Â Â Â printk("using GPIO %d for card detection\n",
> - Â Â Â Â Â Â Â Â Â Â Âhost->gpio_card_detect);
> + Â Â Â Â Â Â Â pr_cont("using GPIO %d for card detection\n",
> + Â Â Â Â Â Â Â Â Â Â Â host->gpio_card_detect);
> Â Â Â Âelse
> - Â Â Â Â Â Â Â printk("lacking card detect (fall back to polling)\n");
> + Â Â Â Â Â Â Â pr_cont("lacking card detect (fall back to polling)\n");
> Â Â Â Âreturn 0;
>
> Âout:
> diff --git a/drivers/mmc/host/omap_hsmmc.c b/drivers/mmc/host/omap_hsmmc.c
> index dd5159b..35bddef 100644
> --- a/drivers/mmc/host/omap_hsmmc.c
> +++ b/drivers/mmc/host/omap_hsmmc.c
> @@ -1264,15 +1264,12 @@ static void omap_hsmmc_protect_card(struct omap_hsmmc_host *host)
> Â Â Â Âhost->reqs_blocked = 0;
> Â Â Â Âif (mmc_slot(host).get_cover_state(host->dev, host->slot_id)) {
> Â Â Â Â Â Â Â Âif (host->protect_card) {
> - Â Â Â Â Â Â Â Â Â Â Â pr_info("%s: cover is closed, card is now accessible\n",
> - Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â mmc_hostname(host->mmc));
> + Â Â Â Â Â Â Â Â Â Â Â mmc_host_info(host->mmc, "cover is closed, card is now accessible\n");
> Â Â Â Â Â Â Â Â Â Â Â Âhost->protect_card = 0;
> Â Â Â Â Â Â Â Â}
> Â Â Â Â} else {
> Â Â Â Â Â Â Â Âif (!host->protect_card) {
> - Â Â Â Â Â Â Â Â Â Â Â pr_info("%s: cover is open, "
> - Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â"card is now inaccessible\n",
> - Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Âmmc_hostname(host->mmc));
> + Â Â Â Â Â Â Â Â Â Â Â mmc_host_info(host->mmc, "cover is open, card is now inaccessible\n");
> Â Â Â Â Â Â Â Â Â Â Â Âhost->protect_card = 1;
> Â Â Â Â Â Â Â Â}
> Â Â Â Â}
> diff --git a/drivers/mmc/host/pxamci.c b/drivers/mmc/host/pxamci.c
> index fc4356e..f8c6df2 100644
> --- a/drivers/mmc/host/pxamci.c
> +++ b/drivers/mmc/host/pxamci.c
> @@ -558,8 +558,8 @@ static void pxamci_dma_irq(int dma, void *devid)
> Â Â Â Âif (dcsr & DCSR_ENDINTR) {
> Â Â Â Â Â Â Â Âwritel(BUF_PART_FULL, host->base + MMC_PRTBUF);
> Â Â Â Â} else {
> - Â Â Â Â Â Â Â pr_err("%s: DMA error on channel %d (DCSR=%#x)\n",
> - Â Â Â Â Â Â Â Â Â Â Âmmc_hostname(host->mmc), dma, dcsr);
> + Â Â Â Â Â Â Â mmc_host_err(host->mmc, "DMA error on channel %d (DCSR=%#x)\n",
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Âdma, dcsr);
> Â Â Â Â Â Â Â Âhost->data->error = -EIO;
> Â Â Â Â Â Â Â Âpxamci_data_done(host, 0);
> Â Â Â Â}
> diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c
> index d31c31d..3fcf79d 100644
> --- a/drivers/mmc/host/sdhci.c
> +++ b/drivers/mmc/host/sdhci.c
> @@ -202,8 +202,8 @@ static void sdhci_reset(struct sdhci_host *host, u8 mask)
> Â Â Â Â/* hw clears the bit when it's done */
> Â Â Â Âwhile (sdhci_readb(host, SDHCI_SOFTWARE_RESET) & mask) {
> Â Â Â Â Â Â Â Âif (timeout == 0) {
> - Â Â Â Â Â Â Â Â Â Â Â pr_err("%s: Reset 0x%x never completed.\n",
> - Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â mmc_hostname(host->mmc), (int)mask);
> + Â Â Â Â Â Â Â Â Â Â Â mmc_host_err(host->mmc, "Reset 0x%x never completed\n",
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â(int)mask);
> Â Â Â Â Â Â Â Â Â Â Â Âsdhci_dumpregs(host);
> Â Â Â Â Â Â Â Â Â Â Â Âreturn;
> Â Â Â Â Â Â Â Â}
> @@ -679,8 +679,8 @@ static u8 sdhci_calc_timeout(struct sdhci_host *host, struct mmc_command *cmd)
> Â Â Â Â}
>
> Â Â Â Âif (count >= 0xF) {
> - Â Â Â Â Â Â Â pr_warn("%s: Too large timeout requested for CMD%d!\n",
> - Â Â Â Â Â Â Â Â Â Â Â mmc_hostname(host->mmc), cmd->opcode);
> + Â Â Â Â Â Â Â mmc_host_warn(host->mmc, "Too large timeout requested for CMD%d!\n",
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Â cmd->opcode);
> Â Â Â Â Â Â Â Âcount = 0xE;
> Â Â Â Â}
>
> @@ -972,8 +972,7 @@ static void sdhci_send_command(struct sdhci_host *host, struct mmc_command *cmd)
>
> Â Â Â Âwhile (sdhci_readl(host, SDHCI_PRESENT_STATE) & mask) {
> Â Â Â Â Â Â Â Âif (timeout == 0) {
> - Â Â Â Â Â Â Â Â Â Â Â pr_err("%s: Controller never released inhibit bit(s)\n",
> - Â Â Â Â Â Â Â Â Â Â Â Â Â Â Âmmc_hostname(host->mmc));
> + Â Â Â Â Â Â Â Â Â Â Â mmc_host_err(host->mmc, "Controller never released inhibit bit(s)\n");
> Â Â Â Â Â Â Â Â Â Â Â Âsdhci_dumpregs(host);
> Â Â Â Â Â Â Â Â Â Â Â Âcmd->error = -EIO;
> Â Â Â Â Â Â Â Â Â Â Â Âtasklet_schedule(&host->finish_tasklet);
> @@ -994,8 +993,7 @@ static void sdhci_send_command(struct sdhci_host *host, struct mmc_command *cmd)
> Â Â Â Âsdhci_set_transfer_mode(host, cmd);
>
> Â Â Â Âif ((cmd->flags & MMC_RSP_136) && (cmd->flags & MMC_RSP_BUSY)) {
> - Â Â Â Â Â Â Â pr_err("%s: Unsupported response type!\n",
> - Â Â Â Â Â Â Â Â Â Â Â mmc_hostname(host->mmc));
> + Â Â Â Â Â Â Â mmc_host_err(host->mmc, "Unsupported response type!\n");
> Â Â Â Â Â Â Â Âcmd->error = -EINVAL;
> Â Â Â Â Â Â Â Âtasklet_schedule(&host->finish_tasklet);
> Â Â Â Â Â Â Â Âreturn;
> @@ -1154,8 +1152,7 @@ static void sdhci_set_clock(struct sdhci_host *host, unsigned int clock)
> Â Â Â Âwhile (!((clk = sdhci_readw(host, SDHCI_CLOCK_CONTROL))
> Â Â Â Â Â Â Â Â& SDHCI_CLOCK_INT_STABLE)) {
> Â Â Â Â Â Â Â Âif (timeout == 0) {
> - Â Â Â Â Â Â Â Â Â Â Â pr_err("%s: Internal clock never stabilised\n",
> - Â Â Â Â Â Â Â Â Â Â Â Â Â Â Âmmc_hostname(host->mmc));
> + Â Â Â Â Â Â Â Â Â Â Â mmc_host_err(host->mmc, "Internal clock never stabilised\n");
> Â Â Â Â Â Â Â Â Â Â Â Âsdhci_dumpregs(host);
> Â Â Â Â Â Â Â Â Â Â Â Âreturn;
> Â Â Â Â Â Â Â Â}
> @@ -1912,10 +1909,8 @@ static void sdhci_tasklet_card(unsigned long param)
> Â Â Â Â/* Check host->mrq first in case we are runtime suspended */
> Â Â Â Âif (host->mrq &&
> Â Â Â Â Â Â!(sdhci_readl(host, SDHCI_PRESENT_STATE) & SDHCI_CARD_PRESENT)) {
> - Â Â Â Â Â Â Â pr_err("%s: Card removed during transfer!\n",
> - Â Â Â Â Â Â Â Â Â Â Â mmc_hostname(host->mmc));
> - Â Â Â Â Â Â Â pr_err("%s: Resetting controller.\n",
> - Â Â Â Â Â Â Â Â Â Â Â mmc_hostname(host->mmc));
> + Â Â Â Â Â Â Â mmc_host_err(host->mmc, "Card removed during transfer!\n");
> + Â Â Â Â Â Â Â mmc_host_err(host->mmc, "Resetting controller.\n");
>
> Â Â Â Â Â Â Â Âsdhci_reset(host, SDHCI_RESET_CMD);
> Â Â Â Â Â Â Â Âsdhci_reset(host, SDHCI_RESET_DATA);
> @@ -2003,8 +1998,7 @@ static void sdhci_timeout_timer(unsigned long data)
> Â Â Â Âspin_lock_irqsave(&host->lock, flags);
>
> Â Â Â Âif (host->mrq) {
> - Â Â Â Â Â Â Â pr_err("%s: Timeout waiting for hardware interrupt\n",
> - Â Â Â Â Â Â Â Â Â Â Âmmc_hostname(host->mmc));
> + Â Â Â Â Â Â Â mmc_host_err(host->mmc, "Timeout waiting for hardware interrupt\n");
> Â Â Â Â Â Â Â Âsdhci_dumpregs(host);
>
> Â Â Â Â Â Â Â Âif (host->data) {
> @@ -2049,8 +2043,8 @@ static void sdhci_cmd_irq(struct sdhci_host *host, u32 intmask)
> Â Â Â ÂBUG_ON(intmask == 0);
>
> Â Â Â Âif (!host->cmd) {
> - Â Â Â Â Â Â Â pr_err("%s: Got command interrupt 0x%08x even though no command operation was in progress\n",
> - Â Â Â Â Â Â Â Â Â Â Âmmc_hostname(host->mmc), (unsigned)intmask);
> + Â Â Â Â Â Â Â mmc_host_err(host->mmc, "Got command interrupt 0x%08x even though no command operation was in progress\n",
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Â(unsigned)intmask);
> Â Â Â Â Â Â Â Âsdhci_dumpregs(host);
> Â Â Â Â Â Â Â Âreturn;
> Â Â Â Â}
> @@ -2147,8 +2141,8 @@ static void sdhci_data_irq(struct sdhci_host *host, u32 intmask)
> Â Â Â Â Â Â Â Â Â Â Â Â}
> Â Â Â Â Â Â Â Â}
>
> - Â Â Â Â Â Â Â pr_err("%s: Got data interrupt 0x%08x even though no data operation was in progress\n",
> - Â Â Â Â Â Â Â Â Â Â Âmmc_hostname(host->mmc), (unsigned)intmask);
> + Â Â Â Â Â Â Â mmc_host_err(host->mmc, "Got data interrupt 0x%08x even though no data operation was in progress\n",
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Â(unsigned)intmask);
> Â Â Â Â Â Â Â Âsdhci_dumpregs(host);
>
> Â Â Â Â Â Â Â Âreturn;
> @@ -2163,7 +2157,7 @@ static void sdhci_data_irq(struct sdhci_host *host, u32 intmask)
> Â Â Â Â Â Â Â Â Â Â Â Â!= MMC_BUS_TEST_R)
> Â Â Â Â Â Â Â Âhost->data->error = -EILSEQ;
> Â Â Â Âelse if (intmask & SDHCI_INT_ADMA_ERROR) {
> - Â Â Â Â Â Â Â pr_err("%s: ADMA error\n", mmc_hostname(host->mmc));
> + Â Â Â Â Â Â Â mmc_host_err(host->mmc, "ADMA error\n");
> Â Â Â Â Â Â Â Âsdhci_show_adma_error(host);
> Â Â Â Â Â Â Â Âhost->data->error = -EIO;
> Â Â Â Â}
> @@ -2226,8 +2220,7 @@ static irqreturn_t sdhci_irq(int irq, void *dev_id)
>
> Â Â Â Âif (host->runtime_suspended) {
> Â Â Â Â Â Â Â Âspin_unlock(&host->lock);
> - Â Â Â Â Â Â Â pr_warn("%s: got irq while runtime suspended\n",
> - Â Â Â Â Â Â Â Â Â Â Â mmc_hostname(host->mmc));
> + Â Â Â Â Â Â Â mmc_host_warn(host->mmc, "got irq while runtime suspended\n");
> Â Â Â Â Â Â Â Âreturn IRQ_HANDLED;
> Â Â Â Â}
>
> @@ -2283,8 +2276,7 @@ static irqreturn_t sdhci_irq(int irq, void *dev_id)
> Â Â Â Âintmask &= ~SDHCI_INT_ERROR;
>
> Â Â Â Âif (intmask & SDHCI_INT_BUS_POWER) {
> - Â Â Â Â Â Â Â pr_err("%s: Card is consuming too much power!\n",
> - Â Â Â Â Â Â Â Â Â Â Â mmc_hostname(host->mmc));
> + Â Â Â Â Â Â Â mmc_host_err(host->mmc, "Card is consuming too much power!\n");
> Â Â Â Â Â Â Â Âsdhci_writel(host, SDHCI_INT_BUS_POWER, SDHCI_INT_STATUS);
> Â Â Â Â}
>
> @@ -2296,8 +2288,8 @@ static irqreturn_t sdhci_irq(int irq, void *dev_id)
> Â Â Â Âintmask &= ~SDHCI_INT_CARD_INT;
>
> Â Â Â Âif (intmask) {
> - Â Â Â Â Â Â Â pr_err("%s: Unexpected interrupt 0x%08x.\n",
> - Â Â Â Â Â Â Â Â Â Â Â mmc_hostname(host->mmc), intmask);
> + Â Â Â Â Â Â Â mmc_host_err(host->mmc, "Unexpected interrupt 0x%08x\n",
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Âintmask);
> Â Â Â Â Â Â Â Âsdhci_dumpregs(host);
>
> Â Â Â Â Â Â Â Âsdhci_writel(host, intmask, SDHCI_INT_STATUS);
> @@ -2537,8 +2529,8 @@ int sdhci_add_host(struct sdhci_host *host)
> Â Â Â Âhost->version = (host->version & SDHCI_SPEC_VER_MASK)
> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â>> SDHCI_SPEC_VER_SHIFT;
> Â Â Â Âif (host->version > SDHCI_SPEC_300) {
> - Â Â Â Â Â Â Â pr_err("%s: Unknown controller version (%d). You may experience problems.\n",
> - Â Â Â Â Â Â Â Â Â Â Âmmc_hostname(mmc), host->version);
> + Â Â Â Â Â Â Â mmc_host_err(mmc, "Unknown controller version (%d). You may experience problems.\n",
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Âhost->version);
> Â Â Â Â}
>
> Â Â Â Âcaps[0] = (host->quirks & SDHCI_QUIRK_MISSING_CAPS) ? host->caps :
> @@ -2573,8 +2565,7 @@ int sdhci_add_host(struct sdhci_host *host)
> Â Â Â Âif (host->flags & (SDHCI_USE_SDMA | SDHCI_USE_ADMA)) {
> Â Â Â Â Â Â Â Âif (host->ops->enable_dma) {
> Â Â Â Â Â Â Â Â Â Â Â Âif (host->ops->enable_dma(host)) {
> - Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â pr_warn("%s: No suitable DMA available. Falling back to PIO.\n",
> - Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â mmc_hostname(mmc));
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â mmc_host_warn(mmc, "No suitable DMA available. Falling back to PIO.\n");
> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Âhost->flags &=
> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â~(SDHCI_USE_SDMA | SDHCI_USE_ADMA);
> Â Â Â Â Â Â Â Â Â Â Â Â}
> @@ -2592,8 +2583,7 @@ int sdhci_add_host(struct sdhci_host *host)
> Â Â Â Â Â Â Â Âif (!host->adma_desc || !host->align_buffer) {
> Â Â Â Â Â Â Â Â Â Â Â Âkfree(host->adma_desc);
> Â Â Â Â Â Â Â Â Â Â Â Âkfree(host->align_buffer);
> - Â Â Â Â Â Â Â Â Â Â Â pr_warn("%s: Unable to allocate ADMA buffers. Falling back to standard DMA.\n",
> - Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â mmc_hostname(mmc));
> + Â Â Â Â Â Â Â Â Â Â Â mmc_host_warn(mmc, "Unable to allocate ADMA buffers. Falling back to standard DMA.\n");
> Â Â Â Â Â Â Â Â Â Â Â Âhost->flags &= ~SDHCI_USE_ADMA;
> Â Â Â Â Â Â Â Â}
> Â Â Â Â}
> @@ -2619,8 +2609,7 @@ int sdhci_add_host(struct sdhci_host *host)
> Â Â Â Âif (host->max_clk == 0 || host->quirks &
> Â Â Â Â Â Â Â Â Â Â Â ÂSDHCI_QUIRK_CAP_CLOCK_BASE_BROKEN) {
> Â Â Â Â Â Â Â Âif (!host->ops->get_max_clock) {
> - Â Â Â Â Â Â Â Â Â Â Â pr_err("%s: Hardware doesn't specify base clock frequency\n",
> - Â Â Â Â Â Â Â Â Â Â Â Â Â Â Âmmc_hostname(mmc));
> + Â Â Â Â Â Â Â Â Â Â Â mmc_host_err(mmc, "Hardware doesn't specify base clock frequency\n");
> Â Â Â Â Â Â Â Â Â Â Â Âreturn -ENODEV;
> Â Â Â Â Â Â Â Â}
> Â Â Â Â Â Â Â Âhost->max_clk = host->ops->get_max_clock(host);
> @@ -2665,8 +2654,7 @@ int sdhci_add_host(struct sdhci_host *host)
> Â Â Â Â Â Â Â Â Â Â Â Âhost->timeout_clk = host->ops->get_timeout_clock(host);
> Â Â Â Â Â Â Â Â} else if (!(host->quirks &
> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â ÂSDHCI_QUIRK_DATA_TIMEOUT_USES_SDCLK)) {
> - Â Â Â Â Â Â Â Â Â Â Â pr_err("%s: Hardware doesn't specify timeout clock frequency\n",
> - Â Â Â Â Â Â Â Â Â Â Â Â Â Â Âmmc_hostname(mmc));
> + Â Â Â Â Â Â Â Â Â Â Â mmc_host_err(mmc, "Hardware doesn't specify timeout clock frequency\n");
> Â Â Â Â Â Â Â Â Â Â Â Âreturn -ENODEV;
> Â Â Â Â Â Â Â Â}
> Â Â Â Â}
> @@ -2833,8 +2821,7 @@ int sdhci_add_host(struct sdhci_host *host)
> Â Â Â Â Â Â Â Âmmc->ocr_avail_mmc &= host->ocr_avail_mmc;
>
> Â Â Â Âif (mmc->ocr_avail == 0) {
> - Â Â Â Â Â Â Â pr_err("%s: Hardware doesn't report any support voltages\n",
> - Â Â Â Â Â Â Â Â Â Â Âmmc_hostname(mmc));
> + Â Â Â Â Â Â Â mmc_host_err(mmc, "Hardware doesn't report any support voltages\n");
> Â Â Â Â Â Â Â Âreturn -ENODEV;
> Â Â Â Â}
>
> @@ -2881,8 +2868,7 @@ int sdhci_add_host(struct sdhci_host *host)
> Â Â Â Â Â Â Â Âmmc->max_blk_size = (caps[0] & SDHCI_MAX_BLOCK_MASK) >>
> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â ÂSDHCI_MAX_BLOCK_SHIFT;
> Â Â Â Â Â Â Â Âif (mmc->max_blk_size >= 3) {
> - Â Â Â Â Â Â Â Â Â Â Â pr_warn("%s: Invalid maximum block size, assuming 512 bytes\n",
> - Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â mmc_hostname(mmc));
> + Â Â Â Â Â Â Â Â Â Â Â mmc_host_warn(mmc, "Invalid maximum block size, assuming 512 bytes\n");
> Â Â Â Â Â Â Â Â Â Â Â Âmmc->max_blk_size = 0;
> Â Â Â Â Â Â Â Â}
> Â Â Â Â}
> @@ -2920,7 +2906,7 @@ int sdhci_add_host(struct sdhci_host *host)
>
> Â Â Â Âhost->vmmc = regulator_get(mmc_dev(mmc), "vmmc");
> Â Â Â Âif (IS_ERR(host->vmmc)) {
> - Â Â Â Â Â Â Â pr_info("%s: no vmmc regulator found\n", mmc_hostname(mmc));
> + Â Â Â Â Â Â Â mmc_host_info(mmc, "no vmmc regulator found\n");
> Â Â Â Â Â Â Â Âhost->vmmc = NULL;
> Â Â Â Â} else {
> Â Â Â Â Â Â Â Âregulator_enable(host->vmmc);
> @@ -2949,10 +2935,10 @@ int sdhci_add_host(struct sdhci_host *host)
>
> Â Â Â Âmmc_add_host(mmc);
>
> - Â Â Â pr_info("%s: SDHCI controller on %s [%s] using %s\n",
> - Â Â Â Â Â Â Â mmc_hostname(mmc), host->hw_name, dev_name(mmc_dev(mmc)),
> - Â Â Â Â Â Â Â (host->flags & SDHCI_USE_ADMA) ? "ADMA" :
> - Â Â Â Â Â Â Â (host->flags & SDHCI_USE_SDMA) ? "DMA" : "PIO");
> + Â Â Â mmc_host_info(mmc, "SDHCI controller on %s [%s] using %s\n",
> + Â Â Â Â Â Â Â Â Â Â host->hw_name, dev_name(mmc_dev(mmc)),
> + Â Â Â Â Â Â Â Â Â Â (host->flags & SDHCI_USE_ADMA) ? "ADMA" :
> + Â Â Â Â Â Â Â Â Â Â (host->flags & SDHCI_USE_SDMA) ? "DMA" : "PIO");
>
> Â Â Â Âsdhci_enable_card_detection(host);
>
> @@ -2982,8 +2968,7 @@ void sdhci_remove_host(struct sdhci_host *host, int dead)
> Â Â Â Â Â Â Â Âhost->flags |= SDHCI_DEVICE_DEAD;
>
> Â Â Â Â Â Â Â Âif (host->mrq) {
> - Â Â Â Â Â Â Â Â Â Â Â pr_err("%s: Controller removed during transfer!\n",
> - Â Â Â Â Â Â Â Â Â Â Â Â Â Â Âmmc_hostname(host->mmc));
> + Â Â Â Â Â Â Â Â Â Â Â mmc_host_err(host->mmc, "Controller removed during transfer!\n");
>
> Â Â Â Â Â Â Â Â Â Â Â Âhost->mrq->cmd->error = -ENOMEDIUM;
> Â Â Â Â Â Â Â Â Â Â Â Âtasklet_schedule(&host->finish_tasklet);
> diff --git a/drivers/mmc/host/tmio_mmc.c b/drivers/mmc/host/tmio_mmc.c
> index a4ea102..cfd45cb 100644
> --- a/drivers/mmc/host/tmio_mmc.c
> +++ b/drivers/mmc/host/tmio_mmc.c
> @@ -93,8 +93,8 @@ static int __devinit tmio_mmc_probe(struct platform_device *pdev)
> Â Â Â Âif (ret)
> Â Â Â Â Â Â Â Âgoto host_remove;
>
> - Â Â Â pr_info("%s at 0x%08lx irq %d\n", mmc_hostname(host->mmc),
> - Â Â Â Â Â Â Â (unsigned long)host->ctl, irq);
> + Â Â Â mmc_host_info(host->mmc, "at 0x%08lx irq %d\n",
> + Â Â Â Â Â Â Â Â Â Â (unsigned long)host->ctl, irq);
>
> Â Â Â Âreturn 0;
>
> diff --git a/drivers/mmc/host/tmio_mmc_pio.c b/drivers/mmc/host/tmio_mmc_pio.c
> index d85a60c..ad680d7 100644
> --- a/drivers/mmc/host/tmio_mmc_pio.c
> +++ b/drivers/mmc/host/tmio_mmc_pio.c
> @@ -681,8 +681,8 @@ static int tmio_mmc_start_data(struct tmio_mmc_host *host,
> Â Â Â Â Â Â Â Âint blksz_2bytes = pdata->flags & TMIO_MMC_BLKSZ_2BYTES;
>
> Â Â Â Â Â Â Â Âif (data->blksz < 2 || (data->blksz < 4 && !blksz_2bytes)) {
> - Â Â Â Â Â Â Â Â Â Â Â pr_err("%s: %d byte block unsupported in 4 bit mode\n",
> - Â Â Â Â Â Â Â Â Â Â Â Â Â Â Âmmc_hostname(host->mmc), data->blksz);
> + Â Â Â Â Â Â Â Â Â Â Â mmc_host_err(host->mmc, "%d byte block unsupported in 4 bit mode\n",
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Âdata->blksz);
> Â Â Â Â Â Â Â Â Â Â Â Âreturn -EINVAL;
> Â Â Â Â Â Â Â Â}
> Â Â Â Â}
> diff --git a/drivers/mmc/host/via-sdmmc.c b/drivers/mmc/host/via-sdmmc.c
> index dc479b0..a673161 100644
> --- a/drivers/mmc/host/via-sdmmc.c
> +++ b/drivers/mmc/host/via-sdmmc.c
> @@ -585,7 +585,7 @@ static void via_sdc_send_command(struct via_crdr_mmc_host *host,
> Â Â Â Â Â Â Â Âcmdctrl |= VIA_CRDR_SDCTRL_RSP_R3;
> Â Â Â Â Â Â Â Âbreak;
> Â Â Â Âdefault:
> - Â Â Â Â Â Â Â pr_err("%s: cmd->flag is not valid\n", mmc_hostname(host->mmc));
> + Â Â Â Â Â Â Â mmc_host_err(host->mmc, "cmd->flag is not valid\n");
> Â Â Â Â Â Â Â Âbreak;
> Â Â Â Â}
>
> @@ -840,8 +840,8 @@ static void via_sdc_cmd_isr(struct via_crdr_mmc_host *host, u16 intmask)
> Â Â Â ÂBUG_ON(intmask == 0);
>
> Â Â Â Âif (!host->cmd) {
> - Â Â Â Â Â Â Â pr_err("%s: Got command interrupt 0x%x even though no command operation was in progress\n",
> - Â Â Â Â Â Â Â Â Â Â Âmmc_hostname(host->mmc), intmask);
> + Â Â Â Â Â Â Â mmc_host_err(host->mmc, "Got command interrupt 0x%x even though no command operation was in progress\n",
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Âintmask);
> Â Â Â Â Â Â Â Âreturn;
> Â Â Â Â}
>
> @@ -918,8 +918,8 @@ static irqreturn_t via_sdc_isr(int irq, void *dev_id)
>
> Â Â Â Âsd_status &= ~(VIA_CRDR_SDSTS_CMD_MASK | VIA_CRDR_SDSTS_DATA_MASK);
> Â Â Â Âif (sd_status) {
> - Â Â Â Â Â Â Â pr_err("%s: Unexpected interrupt 0x%x\n",
> - Â Â Â Â Â Â Â Â Â Â Âmmc_hostname(sdhost->mmc), sd_status);
> + Â Â Â Â Â Â Â mmc_host_err(sdhost->mmc, "Unexpected interrupt 0x%x\n",
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Âsd_status);
> Â Â Â Â Â Â Â Âwritew(sd_status, addrbase + VIA_CRDR_SDSTATUS);
> Â Â Â Â}
>
> @@ -942,9 +942,8 @@ static void via_sdc_timeout(unsigned long ulongdata)
> Â Â Â Âspin_lock_irqsave(&sdhost->lock, flags);
>
> Â Â Â Âif (sdhost->mrq) {
> - Â Â Â Â Â Â Â pr_err("%s: Timeout waiting for hardware interrupt.cmd:0x%x\n",
> - Â Â Â Â Â Â Â Â Â Â Âmmc_hostname(sdhost->mmc),
> - Â Â Â Â Â Â Â Â Â Â Âsdhost->mrq->cmd->opcode);
> + Â Â Â Â Â Â Â mmc_host_err(sdhost->mmc, "Timeout waiting for hardware interrupt.cmd:0x%x\n",
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Âsdhost->mrq->cmd->opcode);
>
> Â Â Â Â Â Â Â Âif (sdhost->data) {
> Â Â Â Â Â Â Â Â Â Â Â Âwritel(VIA_CRDR_DMACTRL_SFTRST,
> @@ -1006,8 +1005,7 @@ static void via_sdc_card_detect(struct work_struct *work)
> Â Â Â Âstatus = readw(addrbase + VIA_CRDR_SDSTATUS);
> Â Â Â Âif (!(status & VIA_CRDR_SDSTS_SLOTG)) {
> Â Â Â Â Â Â Â Âif (host->mrq) {
> - Â Â Â Â Â Â Â Â Â Â Â pr_err("%s: Card removed during transfer!\n",
> - Â Â Â Â Â Â Â Â Â Â Â Â Â Â Âmmc_hostname(host->mmc));
> + Â Â Â Â Â Â Â Â Â Â Â mmc_host_err(host->mmc, "Card removed during transfer!\n");
> Â Â Â Â Â Â Â Â Â Â Â Âhost->mrq->cmd->error = -ENOMEDIUM;
> Â Â Â Â Â Â Â Â Â Â Â Âtasklet_schedule(&host->finish_tasklet);
> Â Â Â Â Â Â Â Â}
> @@ -1192,8 +1190,7 @@ static void __devexit via_sd_remove(struct pci_dev *pcidev)
> Â Â Â Âmmiowb();
>
> Â Â Â Âif (sdhost->mrq) {
> - Â Â Â Â Â Â Â pr_err("%s: Controller removed during transfer\n",
> - Â Â Â Â Â Â Â Â Â Â Âmmc_hostname(sdhost->mmc));
> + Â Â Â Â Â Â Â mmc_host_err(sdhost->mmc, "Controller removed during transfer\n");
>
> Â Â Â Â Â Â Â Â/* make sure all DMA is stopped */
> Â Â Â Â Â Â Â Âwritel(VIA_CRDR_DMACTRL_SFTRST,
> diff --git a/drivers/mmc/host/wbsd.c b/drivers/mmc/host/wbsd.c
> index 7536b50..ae474a4 100644
> --- a/drivers/mmc/host/wbsd.c
> +++ b/drivers/mmc/host/wbsd.c
> @@ -194,7 +194,7 @@ static void wbsd_reset(struct wbsd_host *host)
> Â{
> Â Â Â Âu8 setup;
>
> - Â Â Â pr_err("%s: Resetting chip\n", mmc_hostname(host->mmc));
> + Â Â Â mmc_host_err(host->mmc, "Resetting chip\n");
>
> Â Â Â Â/*
> Â Â Â Â * Soft reset of chip (SD/MMC part).
> @@ -721,8 +721,8 @@ static void wbsd_finish_data(struct wbsd_host *host, struct mmc_data *data)
> Â Â Â Â Â Â Â Â * Any leftover data?
> Â Â Â Â Â Â Â Â */
> Â Â Â Â Â Â Â Âif (count) {
> - Â Â Â Â Â Â Â Â Â Â Â pr_err("%s: Incomplete DMA transfer. %d bytes left.\n",
> - Â Â Â Â Â Â Â Â Â Â Â Â Â Â Âmmc_hostname(host->mmc), count);
> + Â Â Â Â Â Â Â Â Â Â Â mmc_host_err(host->mmc, "Incomplete DMA transfer. %d bytes left.\n",
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Âcount);
>
> Â Â Â Â Â Â Â Â Â Â Â Âif (!data->error)
> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Âdata->error = -EIO;
> @@ -802,8 +802,8 @@ static void wbsd_request(struct mmc_host *mmc, struct mmc_request *mrq)
>
> Â Â Â Â Â Â Â Âdefault:
> Â#ifdef CONFIG_MMC_DEBUG
> - Â Â Â Â Â Â Â Â Â Â Â pr_warn("%s: Data command %d is not supported by this controller\n",
> - Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â mmc_hostname(host->mmc), cmd->opcode);
> + Â Â Â Â Â Â Â Â Â Â Â mmc_host_warn(host->mmc, "Data command %d is not supported by this controller\n",
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â cmd->opcode);
> Â#endif
> Â Â Â Â Â Â Â Â Â Â Â Âcmd->error = -EINVAL;
>
> @@ -1027,8 +1027,7 @@ static void wbsd_tasklet_card(unsigned long param)
> Â Â Â Â Â Â Â Âhost->flags &= ~WBSD_FCARD_PRESENT;
>
> Â Â Â Â Â Â Â Âif (host->mrq) {
> - Â Â Â Â Â Â Â Â Â Â Â pr_err("%s: Card removed during transfer!\n",
> - Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â mmc_hostname(host->mmc));
> + Â Â Â Â Â Â Â Â Â Â Â mmc_host_err(host->mmc, "Card removed during transfer!\n");
> Â Â Â Â Â Â Â Â Â Â Â Âwbsd_reset(host);
>
> Â Â Â Â Â Â Â Â Â Â Â Âhost->mrq->cmd->error = -ENOMEDIUM;
> @@ -1713,17 +1712,17 @@ static int __devinit wbsd_init(struct device *dev, int base, int irq, int dma,
>
> Â Â Â Âmmc_add_host(mmc);
>
> - Â Â Â pr_info("%s: W83L51xD", mmc_hostname(mmc));
> + Â Â Â mmc_host_info(mmc, "W83L51xD");
> Â Â Â Âif (host->chip_id != 0)
> - Â Â Â Â Â Â Â printk(" id %x", (int)host->chip_id);
> - Â Â Â printk(" at 0x%x irq %d", (int)host->base, (int)host->irq);
> + Â Â Â Â Â Â Â pr_cont(" id %x", (int)host->chip_id);
> + Â Â Â pr_cont(" at 0x%x irq %d", (int)host->base, (int)host->irq);
> Â Â Â Âif (host->dma >= 0)
> - Â Â Â Â Â Â Â printk(" dma %d", (int)host->dma);
> + Â Â Â Â Â Â Â pr_cont(" dma %d", (int)host->dma);
> Â Â Â Âelse
> - Â Â Â Â Â Â Â printk(" FIFO");
> + Â Â Â Â Â Â Â pr_cont(" FIFO");
> Â Â Â Âif (pnp)
> - Â Â Â Â Â Â Â printk(" PnP");
> - Â Â Â printk("\n");
> + Â Â Â Â Â Â Â pr_cont(" PnP");
> + Â Â Â pr_cont("\n");
>
> Â Â Â Âreturn 0;
> Â}
> diff --git a/include/linux/mmc/host.h b/include/linux/mmc/host.h
> index 706f722..7483c7e 100644
> --- a/include/linux/mmc/host.h
> +++ b/include/linux/mmc/host.h
> @@ -335,6 +335,17 @@ extern int mmc_add_host(struct mmc_host *);
> Âextern void mmc_remove_host(struct mmc_host *);
> Âextern void mmc_free_host(struct mmc_host *);
>
> +#define mmc_host_err(mmc, fmt, ...) Â Â Â Â Â Â Â Â Â Â Â Â Â Â\
> + Â Â Â pr_err("%s: " fmt, mmc_hostname(mmc), ##__VA_ARGS__)
> +#define mmc_host_warn(mmc, fmt, ...) Â Â Â Â Â Â Â Â Â Â Â Â Â \
> + Â Â Â pr_warn("%s: " fmt, mmc_hostname(mmc), ##__VA_ARGS__)
> +#define mmc_host_notice(mmc, fmt, ...) Â Â Â Â Â Â Â Â Â Â Â Â \
> + Â Â Â pr_notice("%s: " fmt, mmc_hostname(mmc), ##__VA_ARGS__)
> +#define mmc_host_info(mmc, fmt, ...) Â Â Â Â Â Â Â Â Â Â Â Â Â \
> + Â Â Â pr_info("%s: " fmt, mmc_hostname(mmc), ##__VA_ARGS__)
> +#define mmc_host_debug(mmc, fmt, ...) Â Â Â Â Â Â Â Â Â Â Â Â Â\
> + Â Â Â pr_debug("%s: " fmt, mmc_hostname(mmc), ##__VA_ARGS__)
> +
> Âstatic inline void *mmc_priv(struct mmc_host *host)
> Â{
> Â Â Â Âreturn (void *)host->private;
> --
> 1.7.6.405.gc1be0
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at Âhttp://vger.kernel.org/majordomo-info.html
> Please read the FAQ at Âhttp://www.tux.org/lkml/
>
N‹§²æìr¸›yúèšØb²X¬¶ÇvØ^–)Þ{.nÇ+‰·¥Š{±‘êçzX§¶›¡Ü}©ž²ÆzÚ&j:+v‰¨¾«‘êçzZ+€Ê+zf£¢·hšˆ§~†­†Ûiÿûàz¹®w¥¢¸?™¨è­Ú&¢)ßf”ù^jÇy§m…á@A«a¶Úÿ 0¶ìh®å’i