]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - drivers/mmc/host/au1xmmc.c
include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit...
[mv-sheeva.git] / drivers / mmc / host / au1xmmc.c
index d295dc5e4f6b5ab9873a66fb6dd5855a1d75f159..f5834449400e0b06d6cd4d60f85c9ce4d303705a 100644 (file)
@@ -41,6 +41,7 @@
 #include <linux/scatterlist.h>
 #include <linux/leds.h>
 #include <linux/mmc/host.h>
+#include <linux/slab.h>
 
 #include <asm/io.h>
 #include <asm/mach-au1x00/au1000.h>
@@ -651,10 +652,10 @@ static int au1xmmc_prepare_data(struct au1xmmc_host *host,
 
                        if (host->flags & HOST_F_XMIT) {
                                ret = au1xxx_dbdma_put_source(channel,
-                                       (void *)sg_virt(sg), len, flags);
+                                       sg_phys(sg), len, flags);
                        } else {
                                ret = au1xxx_dbdma_put_dest(channel,
-                                       (void *)sg_virt(sg), len, flags);
+                                       sg_phys(sg), len, flags);
                        }
 
                        if (!ret)
@@ -1017,6 +1018,10 @@ static int __devinit au1xmmc_probe(struct platform_device *pdev)
        } else
                mmc->caps |= MMC_CAP_NEEDS_POLL;
 
+       /* platform may not be able to use all advertised caps */
+       if (host->platdata)
+               mmc->caps &= ~(host->platdata->mask_host_caps);
+
        tasklet_init(&host->data_task, au1xmmc_tasklet_data,
                        (unsigned long)host);