drivers/mmc/host/sdhci-s3c.c: use the correct mutex and card detect function
authorKyungmin Park <kyungmin.park@samsung.com>
Thu, 19 Aug 2010 21:13:37 +0000 (14:13 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 20 Aug 2010 16:34:55 +0000 (09:34 -0700)
There's some merge problem between sdhic core and sdhci-s3c host.  After
mutex is changed to spinlock.  It needs to use use spin lock functions and
use the correct card detection function.

Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Cc: <linux-mmc@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
drivers/mmc/host/sdhci-s3c.c

index 0a7f2614c6f00305eb65fc18fc30dcf0b9f3648a..71ad4163b95e12b45aab7d41379c8022995d8ac4 100644 (file)
@@ -242,7 +242,7 @@ static void sdhci_s3c_notify_change(struct platform_device *dev, int state)
 {
        struct sdhci_host *host = platform_get_drvdata(dev);
        if (host) {
-               mutex_lock(&host->lock);
+               spin_lock(&host->lock);
                if (state) {
                        dev_dbg(&dev->dev, "card inserted.\n");
                        host->flags &= ~SDHCI_DEVICE_DEAD;
@@ -252,8 +252,8 @@ static void sdhci_s3c_notify_change(struct platform_device *dev, int state)
                        host->flags |= SDHCI_DEVICE_DEAD;
                        host->quirks &= ~SDHCI_QUIRK_BROKEN_CARD_DETECTION;
                }
-               sdhci_card_detect(host);
-               mutex_unlock(&host->lock);
+               tasklet_schedule(&host->card_tasklet);
+               spin_unlock(&host->lock);
        }
 }