From: Tony Lindgren Date: Mon, 23 Oct 2006 18:55:55 +0000 (+0300) Subject: Sync with mainline: drivers/mmc/omap.c X-Git-Tag: v2.6.19-omap1~121 X-Git-Url: http://pilppa.com/gitweb/?a=commitdiff_plain;h=385209171b2bc3495eccb3d368d9b7cf611a1267;p=linux-2.6-omap-h63xx.git Sync with mainline: drivers/mmc/omap.c Apply relevant parts of two patches in mainline tree: 42431acbac43eb47c774c29d370f5c59136805bf 7d12e780e003f93433d49ce78cfedf4b4c52adc5 --- diff --git a/drivers/mmc/omap.c b/drivers/mmc/omap.c index ae08a37f9c1..e2b1048dd38 100644 --- a/drivers/mmc/omap.c +++ b/drivers/mmc/omap.c @@ -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