aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/mmc/wbsd.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/mmc/wbsd.c')
-rw-r--r--drivers/mmc/wbsd.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/drivers/mmc/wbsd.c b/drivers/mmc/wbsd.c
index 8167332d401..6435a6822ad 100644
--- a/drivers/mmc/wbsd.c
+++ b/drivers/mmc/wbsd.c
@@ -21,7 +21,6 @@
21 * - On APIC systems the FIFO empty interrupt is sometimes lost. 21 * - On APIC systems the FIFO empty interrupt is sometimes lost.
22 */ 22 */
23 23
24#include <linux/config.h>
25#include <linux/module.h> 24#include <linux/module.h>
26#include <linux/moduleparam.h> 25#include <linux/moduleparam.h>
27#include <linux/init.h> 26#include <linux/init.h>
@@ -42,7 +41,7 @@
42#include "wbsd.h" 41#include "wbsd.h"
43 42
44#define DRIVER_NAME "wbsd" 43#define DRIVER_NAME "wbsd"
45#define DRIVER_VERSION "1.5" 44#define DRIVER_VERSION "1.6"
46 45
47#define DBG(x...) \ 46#define DBG(x...) \
48 pr_debug(DRIVER_NAME ": " x) 47 pr_debug(DRIVER_NAME ": " x)
@@ -1324,7 +1323,7 @@ static int __devinit wbsd_alloc_mmc(struct device *dev)
1324 mmc->f_min = 375000; 1323 mmc->f_min = 375000;
1325 mmc->f_max = 24000000; 1324 mmc->f_max = 24000000;
1326 mmc->ocr_avail = MMC_VDD_32_33 | MMC_VDD_33_34; 1325 mmc->ocr_avail = MMC_VDD_32_33 | MMC_VDD_33_34;
1327 mmc->caps = MMC_CAP_4_BIT_DATA; 1326 mmc->caps = MMC_CAP_4_BIT_DATA | MMC_CAP_MULTIWRITE | MMC_CAP_BYTEBLOCK;
1328 1327
1329 spin_lock_init(&host->lock); 1328 spin_lock_init(&host->lock);
1330 1329
@@ -1440,13 +1439,13 @@ static int __devinit wbsd_scan(struct wbsd_host *host)
1440 1439
1441static int __devinit wbsd_request_region(struct wbsd_host *host, int base) 1440static int __devinit wbsd_request_region(struct wbsd_host *host, int base)
1442{ 1441{
1443 if (io & 0x7) 1442 if (base & 0x7)
1444 return -EINVAL; 1443 return -EINVAL;
1445 1444
1446 if (!request_region(base, 8, DRIVER_NAME)) 1445 if (!request_region(base, 8, DRIVER_NAME))
1447 return -EIO; 1446 return -EIO;
1448 1447
1449 host->base = io; 1448 host->base = base;
1450 1449
1451 return 0; 1450 return 0;
1452} 1451}
@@ -1554,7 +1553,7 @@ static int __devinit wbsd_request_irq(struct wbsd_host *host, int irq)
1554 * Allocate interrupt. 1553 * Allocate interrupt.
1555 */ 1554 */
1556 1555
1557 ret = request_irq(irq, wbsd_irq, SA_SHIRQ, DRIVER_NAME, host); 1556 ret = request_irq(irq, wbsd_irq, IRQF_SHARED, DRIVER_NAME, host);
1558 if (ret) 1557 if (ret)
1559 return ret; 1558 return ret;
1560 1559
@@ -1774,7 +1773,7 @@ static int __devinit wbsd_init(struct device *dev, int base, int irq, int dma,
1774 /* 1773 /*
1775 * Request resources. 1774 * Request resources.
1776 */ 1775 */
1777 ret = wbsd_request_resources(host, io, irq, dma); 1776 ret = wbsd_request_resources(host, base, irq, dma);
1778 if (ret) { 1777 if (ret) {
1779 wbsd_release_resources(host); 1778 wbsd_release_resources(host);
1780 wbsd_free_mmc(dev); 1779 wbsd_free_mmc(dev);
@@ -1862,6 +1861,7 @@ static void __devexit wbsd_shutdown(struct device *dev, int pnp)
1862 1861
1863static int __devinit wbsd_probe(struct platform_device *dev) 1862static int __devinit wbsd_probe(struct platform_device *dev)
1864{ 1863{
1864 /* Use the module parameters for resources */
1865 return wbsd_init(&dev->dev, io, irq, dma, 0); 1865 return wbsd_init(&dev->dev, io, irq, dma, 0);
1866} 1866}
1867 1867