Loading drivers/mmc/host/mmci.c +12 −0 Original line number Diff line number Diff line Loading @@ -29,6 +29,7 @@ #include <linux/dmaengine.h> #include <linux/dma-mapping.h> #include <linux/amba/mmci.h> #include <linux/pm_runtime.h> #include <asm/div64.h> #include <asm/io.h> Loading Loading @@ -170,6 +171,7 @@ mmci_request_end(struct mmci_host *host, struct mmc_request *mrq) * back into the driver... */ spin_unlock(&host->lock); pm_runtime_put(mmc_dev(host->mmc)); mmc_request_done(host->mmc, mrq); spin_lock(&host->lock); } Loading Loading @@ -984,6 +986,8 @@ static void mmci_request(struct mmc_host *mmc, struct mmc_request *mrq) return; } pm_runtime_get_sync(mmc_dev(mmc)); spin_lock_irqsave(&host->lock, flags); host->mrq = mrq; Loading Loading @@ -1327,6 +1331,8 @@ static int __devinit mmci_probe(struct amba_device *dev, mmci_dma_setup(host); pm_runtime_put(&dev->dev); mmc_add_host(mmc); return 0; Loading Loading @@ -1364,6 +1370,12 @@ static int __devexit mmci_remove(struct amba_device *dev) if (mmc) { struct mmci_host *host = mmc_priv(mmc); /* * Undo pm_runtime_put() in probe. We use the _sync * version here so that we can access the primecell. */ pm_runtime_get_sync(&dev->dev); mmc_remove_host(mmc); writel(0, host->base + MMCIMASK0); Loading Loading
drivers/mmc/host/mmci.c +12 −0 Original line number Diff line number Diff line Loading @@ -29,6 +29,7 @@ #include <linux/dmaengine.h> #include <linux/dma-mapping.h> #include <linux/amba/mmci.h> #include <linux/pm_runtime.h> #include <asm/div64.h> #include <asm/io.h> Loading Loading @@ -170,6 +171,7 @@ mmci_request_end(struct mmci_host *host, struct mmc_request *mrq) * back into the driver... */ spin_unlock(&host->lock); pm_runtime_put(mmc_dev(host->mmc)); mmc_request_done(host->mmc, mrq); spin_lock(&host->lock); } Loading Loading @@ -984,6 +986,8 @@ static void mmci_request(struct mmc_host *mmc, struct mmc_request *mrq) return; } pm_runtime_get_sync(mmc_dev(mmc)); spin_lock_irqsave(&host->lock, flags); host->mrq = mrq; Loading Loading @@ -1327,6 +1331,8 @@ static int __devinit mmci_probe(struct amba_device *dev, mmci_dma_setup(host); pm_runtime_put(&dev->dev); mmc_add_host(mmc); return 0; Loading Loading @@ -1364,6 +1370,12 @@ static int __devexit mmci_remove(struct amba_device *dev) if (mmc) { struct mmci_host *host = mmc_priv(mmc); /* * Undo pm_runtime_put() in probe. We use the _sync * version here so that we can access the primecell. */ pm_runtime_get_sync(&dev->dev); mmc_remove_host(mmc); writel(0, host->base + MMCIMASK0); Loading