sdhci: be more strict with get_min_clock() usage
authorAnton Vorontsov <avorontsov@ru.mvista.com>
Tue, 22 Sep 2009 23:45:08 +0000 (16:45 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 23 Sep 2009 14:39:36 +0000 (07:39 -0700)
get_min_clock() makes sense only with NONSTANDARD_CLOCK quirk and when
set_clock() callback is specified.

The patch should cause no functional changes, it just makes the code
self-documented and avoids any possible misuse of get_min_clock().

Suggested-by: Pierre Ossman <pierre@ossman.eu>
Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
Cc: Ian Molton <ian@mnementh.co.uk>
Cc: Matt Fleming <matt@console-pimps.org>
Cc: Philip Langdale <philipl@overt.org>
Cc: Pierre Ossman <pierre@ossman.eu>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
drivers/mmc/host/sdhci.c

index fc96f8cb9c0b154db3464a10acdd834d5ec58fa6..7f7f45b4b07bc057db0c54232a011095462b043b 100644 (file)
@@ -1772,7 +1772,8 @@ int sdhci_add_host(struct sdhci_host *host)
         * Set host parameters.
         */
        mmc->ops = &sdhci_ops;
-       if (host->ops->get_min_clock)
+       if (host->quirks & SDHCI_QUIRK_NONSTANDARD_CLOCK &&
+                       host->ops->set_clock && host->ops->get_min_clock)
                mmc->f_min = host->ops->get_min_clock(host);
        else
                mmc->f_min = host->max_clk / 256;