Diff
Modified: trunk/arch/blackfin/include/asm/bfin_sdh.h (5920 => 5921)
--- trunk/arch/blackfin/include/asm/bfin_sdh.h 2008-12-29 08:20:28 UTC (rev 5920)
+++ trunk/arch/blackfin/include/asm/bfin_sdh.h 2008-12-29 09:42:02 UTC (rev 5921)
@@ -34,7 +34,7 @@
int dma_chan;
int irq_int0;
int irq_int1;
- u16 pin_req[6];
+ u16 pin_req[7];
};
#endif
Modified: trunk/arch/blackfin/mach-bf518/boards/ezbrd.c (5920 => 5921)
--- trunk/arch/blackfin/mach-bf518/boards/ezbrd.c 2008-12-29 08:20:28 UTC (rev 5920)
+++ trunk/arch/blackfin/mach-bf518/boards/ezbrd.c 2008-12-29 09:42:02 UTC (rev 5921)
@@ -528,7 +528,7 @@
static struct bfin_sd_host bfin_sdh_data = {
.dma_chan = CH_RSI,
.irq_int0 = IRQ_RSI_INT0,
- .pin_req = {P_RSI_DATA0, P_RSI_DATA1, P_RSI_DATA2, P_RSI_DATA3, P_RSI_CMD, P_RSI_CLK},
+ .pin_req = {P_RSI_DATA0, P_RSI_DATA1, P_RSI_DATA2, P_RSI_DATA3, P_RSI_CMD, P_RSI_CLK, 0},
};
static struct platform_device bf51x_sdh_device = {
Modified: trunk/arch/blackfin/mach-bf548/boards/ezkit.c (5920 => 5921)
--- trunk/arch/blackfin/mach-bf548/boards/ezkit.c 2008-12-29 08:20:28 UTC (rev 5920)
+++ trunk/arch/blackfin/mach-bf548/boards/ezkit.c 2008-12-29 09:42:02 UTC (rev 5921)
@@ -509,7 +509,7 @@
static struct bfin_sd_host bfin_sdh_data = {
.dma_chan = CH_SDH,
.irq_int0 = IRQ_SDH_MASK0,
- .pin_req = {P_SD_D0, P_SD_D1, P_SD_D2, P_SD_D3, P_SD_CMD, P_SD_CLK},
+ .pin_req = {P_SD_D0, P_SD_D1, P_SD_D2, P_SD_D3, P_SD_CLK, P_SD_CMD, 0},
};
static struct platform_device bf54x_sdh_device = {
Modified: trunk/drivers/mmc/host/bfin_sdh.c (5920 => 5921)
--- trunk/drivers/mmc/host/bfin_sdh.c 2008-12-29 08:20:28 UTC (rev 5920)
+++ trunk/drivers/mmc/host/bfin_sdh.c 2008-12-29 09:42:02 UTC (rev 5921)
@@ -133,7 +133,9 @@
unsigned int length;
unsigned int data_ctl;
unsigned int dma_cfg;
-
+#if defined(CONFIG_BF54x)
+ int i;
+#endif
pr_debug("%s enter flags:0x%x\n", __FUNCTION__, data->flags);
host->data = ""
data_ctl = 0;
@@ -167,7 +169,6 @@
host->dma_len = dma_map_sg(mmc_dev(host->mmc), data->sg, data->sg_len, host->dma_dir);
#if defined(CONFIG_BF54x)
dma_cfg |= DMAFLOW_ARRAY | NDSIZE_5 | RESTART | WDSIZE_32 | DMAEN;
- int i;
for (i = 0; i < host->dma_len; i++) {
host->sg_cpu[i].start_addr = sg_dma_address(&data->sg[i]);
host->sg_cpu[i].cfg = dma_cfg;
@@ -184,7 +185,7 @@
host->sg_cpu[host->dma_len - 1].cfg &= ~(DMAFLOW | NDSIZE);
host->sg_cpu[host->dma_len - 1].cfg |= DI_EN;
- set_dma_curr_desc_addr(host->dma_ch, host->sg_dma);
+ set_dma_curr_desc_addr(host->dma_ch, (unsigned long *)host->sg_dma);
set_dma_x_count(host->dma_ch, 0);
set_dma_x_modify(host->dma_ch, 0);
set_dma_config(host->dma_ch, dma_cfg);
@@ -530,7 +531,7 @@
#endif
ret = peripheral_request_list(drv_data->pin_req, DRIVER_NAME);
if (ret) {
- printk(KERN_ERR "Requesting Peripherals failed\n");
+ printk(KERN_ERR "bfin-sdh:Requesting Peripherals failed\n");
goto out3;
}