mvsdio.c (a976c2951d8f376112361830aa7762beff83a205) | mvsdio.c (2ee4f6200597bda9713e28a9c1e65a392615b4b5) |
---|---|
1/* 2 * Marvell MMC/SD/SDIO driver 3 * 4 * Authors: Maen Suleiman, Nicolas Pitre 5 * Copyright (C) 2008-2009 Marvell Ltd. 6 * 7 * This program is free software; you can redistribute it and/or modify 8 * it under the terms of the GNU General Public License version 2 as --- 494 unchanged lines hidden (view full) --- 503 if (irq_handled) 504 return IRQ_HANDLED; 505 506 dev_err(host->dev, "unhandled interrupt status=0x%04x en=0x%04x pio=%d\n", 507 intr_status, host->intr_en, host->pio_size); 508 return IRQ_NONE; 509} 510 | 1/* 2 * Marvell MMC/SD/SDIO driver 3 * 4 * Authors: Maen Suleiman, Nicolas Pitre 5 * Copyright (C) 2008-2009 Marvell Ltd. 6 * 7 * This program is free software; you can redistribute it and/or modify 8 * it under the terms of the GNU General Public License version 2 as --- 494 unchanged lines hidden (view full) --- 503 if (irq_handled) 504 return IRQ_HANDLED; 505 506 dev_err(host->dev, "unhandled interrupt status=0x%04x en=0x%04x pio=%d\n", 507 intr_status, host->intr_en, host->pio_size); 508 return IRQ_NONE; 509} 510 |
511static void mvsd_timeout_timer(unsigned long data) | 511static void mvsd_timeout_timer(struct timer_list *t) |
512{ | 512{ |
513 struct mvsd_host *host = (struct mvsd_host *)data; | 513 struct mvsd_host *host = from_timer(host, t, timer); |
514 void __iomem *iobase = host->base; 515 struct mmc_request *mrq; 516 unsigned long flags; 517 518 spin_lock_irqsave(&host->lock, flags); 519 mrq = host->mrq; 520 if (mrq) { 521 dev_err(host->dev, "Timeout waiting for hardware interrupt.\n"); --- 249 unchanged lines hidden (view full) --- 771 mvsd_power_down(host); 772 773 ret = devm_request_irq(&pdev->dev, irq, mvsd_irq, 0, DRIVER_NAME, host); 774 if (ret) { 775 dev_err(&pdev->dev, "cannot assign irq %d\n", irq); 776 goto out; 777 } 778 | 514 void __iomem *iobase = host->base; 515 struct mmc_request *mrq; 516 unsigned long flags; 517 518 spin_lock_irqsave(&host->lock, flags); 519 mrq = host->mrq; 520 if (mrq) { 521 dev_err(host->dev, "Timeout waiting for hardware interrupt.\n"); --- 249 unchanged lines hidden (view full) --- 771 mvsd_power_down(host); 772 773 ret = devm_request_irq(&pdev->dev, irq, mvsd_irq, 0, DRIVER_NAME, host); 774 if (ret) { 775 dev_err(&pdev->dev, "cannot assign irq %d\n", irq); 776 goto out; 777 } 778 |
779 setup_timer(&host->timer, mvsd_timeout_timer, (unsigned long)host); | 779 timer_setup(&host->timer, mvsd_timeout_timer, 0); |
780 platform_set_drvdata(pdev, mmc); 781 ret = mmc_add_host(mmc); 782 if (ret) 783 goto out; 784 785 if (!(mmc->caps & MMC_CAP_NEEDS_POLL)) 786 dev_dbg(&pdev->dev, "using GPIO for card detection\n"); 787 else --- 58 unchanged lines hidden --- | 780 platform_set_drvdata(pdev, mmc); 781 ret = mmc_add_host(mmc); 782 if (ret) 783 goto out; 784 785 if (!(mmc->caps & MMC_CAP_NEEDS_POLL)) 786 dev_dbg(&pdev->dev, "using GPIO for card detection\n"); 787 else --- 58 unchanged lines hidden --- |