Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- diff --git a/drivers/mmc/host/meson-gx-mmc.c b/drivers/mmc/host/meson-gx-mmc.c
- index c2690c1a50ff..3a9679531520 100644
- --- a/drivers/mmc/host/meson-gx-mmc.c
- +++ b/drivers/mmc/host/meson-gx-mmc.c
- @@ -179,6 +179,8 @@ struct meson_host {
- struct sd_emmc_desc *descs;
- dma_addr_t descs_dma_addr;
- + int irq;
- +
- bool vqmmc_enabled;
- };
- @@ -1231,7 +1233,7 @@ static int meson_mmc_probe(struct platform_device *pdev)
- struct resource *res;
- struct meson_host *host;
- struct mmc_host *mmc;
- - int ret, irq;
- + int ret;
- mmc = mmc_alloc_host(sizeof(struct meson_host), &pdev->dev);
- if (!mmc)
- @@ -1276,8 +1278,8 @@ static int meson_mmc_probe(struct platform_device *pdev)
- goto free_host;
- }
- - irq = platform_get_irq(pdev, 0);
- - if (irq <= 0) {
- + host->irq = platform_get_irq(pdev, 0);
- + if (host->irq <= 0) {
- dev_err(&pdev->dev, "failed to get interrupt resource.\n");
- ret = -EINVAL;
- goto free_host;
- @@ -1331,9 +1333,8 @@ static int meson_mmc_probe(struct platform_device *pdev)
- writel(IRQ_CRC_ERR | IRQ_TIMEOUTS | IRQ_END_OF_CHAIN,
- host->regs + SD_EMMC_IRQ_EN);
- - ret = devm_request_threaded_irq(&pdev->dev, irq, meson_mmc_irq,
- - meson_mmc_irq_thread, IRQF_SHARED,
- - NULL, host);
- + ret = request_threaded_irq(host->irq, meson_mmc_irq,
- + meson_mmc_irq_thread, IRQF_SHARED, NULL, host);
- if (ret)
- goto err_init_clk;
- @@ -1387,6 +1388,7 @@ static int meson_mmc_remove(struct platform_device *pdev)
- /* disable interrupts */
- writel(0, host->regs + SD_EMMC_IRQ_EN);
- + free_irq(host->irq, host);
- dma_free_coherent(host->dev, SD_EMMC_DESC_BUF_LEN,
- host->descs, host->descs_dma_addr);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement