Sync with mainline: drivers/mmc/omap.c
authorTony Lindgren <tony@atomide.com>
Mon, 23 Oct 2006 18:55:55 +0000 (21:55 +0300)
committerTony Lindgren <tony@atomide.com>
Mon, 23 Oct 2006 18:55:55 +0000 (21:55 +0300)
Apply relevant parts of two patches in mainline tree:

42431acbac43eb47c774c29d370f5c59136805bf
7d12e780e003f93433d49ce78cfedf4b4c52adc5

drivers/mmc/omap.c

index ae08a37..e2b1048 100644 (file)
@@ -428,7 +428,7 @@ static inline void mmc_omap_report_irq(u16 status)
                }
 }
 
-static irqreturn_t mmc_omap_irq(int irq, void *dev_id, struct pt_regs *regs)
+static irqreturn_t mmc_omap_irq(int irq, void *dev_id)
 {
        struct mmc_omap_host * host = (struct mmc_omap_host *)dev_id;
        u16 status;
@@ -565,7 +565,7 @@ static irqreturn_t mmc_omap_irq(int irq, void *dev_id, struct pt_regs *regs)
        return IRQ_HANDLED;
 }
 
-static irqreturn_t mmc_omap_switch_irq(int irq, void *dev_id, struct pt_regs *regs)
+static irqreturn_t mmc_omap_switch_irq(int irq, void *dev_id)
 {
        struct mmc_omap_host *host = (struct mmc_omap_host *) dev_id;
 
@@ -1091,13 +1091,14 @@ static int __init mmc_omap_probe(struct platform_device *pdev)
        host->phys_base = host->mem_res->start;
        host->virt_base = (void __iomem *) IO_ADDRESS(host->phys_base);
 
-       if (minfo->wire4)
-                mmc->caps |= MMC_CAP_4_BIT_DATA;
-
        mmc->ops = &mmc_omap_ops;
        mmc->f_min = 400000;
        mmc->f_max = 24000000;
-       mmc->ocr_avail = MMC_VDD_32_33 | MMC_VDD_33_34;
+       mmc->ocr_avail = MMC_VDD_32_33 | MMC_VDD_33_34 | MMC_CAP_MULTIWRITE
+                               | MMC_CAP_BYTEBLOCK;
+
+       if (minfo->wire4)
+                mmc->caps |= MMC_CAP_4_BIT_DATA;
 
        /* Use scatterlist DMA to reduce per-transfer costs.
         * NOTE max_seg_size assumption that small blocks aren't