diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2009-07-31 15:09:22 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-07-31 15:09:22 -0400 |
| commit | d27d4e2a660939f1bdf74f0e24c4c109f90cd98d (patch) | |
| tree | 6e25f5e9f62d60589734ee0e8539c24123c1340a /drivers | |
| parent | dbe63a2cde07f4bccb2b2e4b35241491d8e096f6 (diff) | |
| parent | 3822a0e38c329a598cb6f5baa16be7504e0db8d9 (diff) | |
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc:
mmc: orphan subsystem
imxmmc: Remove unnecessary semicolons
cb710: use SG_MITER_TO_SG/SG_MITER_FROM_SG
sdhci: use SG_MITER_TO_SG/SG_MITER_FROM_SG
lib/scatterlist: add a flags to signalize mapping direction
Diffstat (limited to 'drivers')
| -rw-r--r-- | drivers/misc/cb710/sgbuf2.c | 4 | ||||
| -rw-r--r-- | drivers/mmc/host/cb710-mmc.c | 6 | ||||
| -rw-r--r-- | drivers/mmc/host/imxmmc.c | 2 | ||||
| -rw-r--r-- | drivers/mmc/host/sdhci.c | 10 |
4 files changed, 12 insertions, 10 deletions
diff --git a/drivers/misc/cb710/sgbuf2.c b/drivers/misc/cb710/sgbuf2.c index d38a7acdb6ec..d019746551f3 100644 --- a/drivers/misc/cb710/sgbuf2.c +++ b/drivers/misc/cb710/sgbuf2.c | |||
| @@ -114,7 +114,6 @@ static void sg_dwiter_write_slow(struct sg_mapping_iter *miter, uint32_t data) | |||
| 114 | if (!left) | 114 | if (!left) |
| 115 | return; | 115 | return; |
| 116 | addr += len; | 116 | addr += len; |
| 117 | flush_kernel_dcache_page(miter->page); | ||
| 118 | } while (sg_dwiter_next(miter)); | 117 | } while (sg_dwiter_next(miter)); |
| 119 | } | 118 | } |
| 120 | 119 | ||
| @@ -142,9 +141,6 @@ void cb710_sg_dwiter_write_next_block(struct sg_mapping_iter *miter, uint32_t da | |||
| 142 | return; | 141 | return; |
| 143 | } else | 142 | } else |
| 144 | sg_dwiter_write_slow(miter, data); | 143 | sg_dwiter_write_slow(miter, data); |
| 145 | |||
| 146 | if (miter->length == miter->consumed) | ||
| 147 | flush_kernel_dcache_page(miter->page); | ||
| 148 | } | 144 | } |
| 149 | EXPORT_SYMBOL_GPL(cb710_sg_dwiter_write_next_block); | 145 | EXPORT_SYMBOL_GPL(cb710_sg_dwiter_write_next_block); |
| 150 | 146 | ||
diff --git a/drivers/mmc/host/cb710-mmc.c b/drivers/mmc/host/cb710-mmc.c index 11efefb1af51..4e72964a7b43 100644 --- a/drivers/mmc/host/cb710-mmc.c +++ b/drivers/mmc/host/cb710-mmc.c | |||
| @@ -278,7 +278,7 @@ static int cb710_mmc_receive(struct cb710_slot *slot, struct mmc_data *data) | |||
| 278 | if (unlikely(data->blksz & 15 && (data->blocks != 1 || data->blksz != 8))) | 278 | if (unlikely(data->blksz & 15 && (data->blocks != 1 || data->blksz != 8))) |
| 279 | return -EINVAL; | 279 | return -EINVAL; |
| 280 | 280 | ||
| 281 | sg_miter_start(&miter, data->sg, data->sg_len, 0); | 281 | sg_miter_start(&miter, data->sg, data->sg_len, SG_MITER_TO_SG); |
| 282 | 282 | ||
| 283 | cb710_modify_port_8(slot, CB710_MMC_CONFIG2_PORT, | 283 | cb710_modify_port_8(slot, CB710_MMC_CONFIG2_PORT, |
| 284 | 15, CB710_MMC_C2_READ_PIO_SIZE_MASK); | 284 | 15, CB710_MMC_C2_READ_PIO_SIZE_MASK); |
| @@ -307,7 +307,7 @@ static int cb710_mmc_receive(struct cb710_slot *slot, struct mmc_data *data) | |||
| 307 | goto out; | 307 | goto out; |
| 308 | } | 308 | } |
| 309 | out: | 309 | out: |
| 310 | cb710_sg_miter_stop_writing(&miter); | 310 | sg_miter_stop(&miter); |
| 311 | return err; | 311 | return err; |
| 312 | } | 312 | } |
| 313 | 313 | ||
| @@ -322,7 +322,7 @@ static int cb710_mmc_send(struct cb710_slot *slot, struct mmc_data *data) | |||
| 322 | if (unlikely(data->blocks > 1 && data->blksz & 15)) | 322 | if (unlikely(data->blocks > 1 && data->blksz & 15)) |
| 323 | return -EINVAL; | 323 | return -EINVAL; |
| 324 | 324 | ||
| 325 | sg_miter_start(&miter, data->sg, data->sg_len, 0); | 325 | sg_miter_start(&miter, data->sg, data->sg_len, SG_MITER_FROM_SG); |
| 326 | 326 | ||
| 327 | cb710_modify_port_8(slot, CB710_MMC_CONFIG2_PORT, | 327 | cb710_modify_port_8(slot, CB710_MMC_CONFIG2_PORT, |
| 328 | 0, CB710_MMC_C2_READ_PIO_SIZE_MASK); | 328 | 0, CB710_MMC_C2_READ_PIO_SIZE_MASK); |
diff --git a/drivers/mmc/host/imxmmc.c b/drivers/mmc/host/imxmmc.c index e0be21a4a696..bf98d7cc928a 100644 --- a/drivers/mmc/host/imxmmc.c +++ b/drivers/mmc/host/imxmmc.c | |||
| @@ -652,7 +652,7 @@ static irqreturn_t imxmci_irq(int irq, void *devid) | |||
| 652 | set_bit(IMXMCI_PEND_STARTED_b, &host->pending_events); | 652 | set_bit(IMXMCI_PEND_STARTED_b, &host->pending_events); |
| 653 | tasklet_schedule(&host->tasklet); | 653 | tasklet_schedule(&host->tasklet); |
| 654 | 654 | ||
| 655 | return IRQ_RETVAL(handled);; | 655 | return IRQ_RETVAL(handled); |
| 656 | } | 656 | } |
| 657 | 657 | ||
| 658 | static void imxmci_tasklet_fnc(unsigned long data) | 658 | static void imxmci_tasklet_fnc(unsigned long data) |
diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c index 62041c7e9246..fc96f8cb9c0b 100644 --- a/drivers/mmc/host/sdhci.c +++ b/drivers/mmc/host/sdhci.c | |||
| @@ -773,8 +773,14 @@ static void sdhci_prepare_data(struct sdhci_host *host, struct mmc_data *data) | |||
| 773 | } | 773 | } |
| 774 | 774 | ||
| 775 | if (!(host->flags & SDHCI_REQ_USE_DMA)) { | 775 | if (!(host->flags & SDHCI_REQ_USE_DMA)) { |
| 776 | sg_miter_start(&host->sg_miter, | 776 | int flags; |
| 777 | data->sg, data->sg_len, SG_MITER_ATOMIC); | 777 | |
| 778 | flags = SG_MITER_ATOMIC; | ||
| 779 | if (host->data->flags & MMC_DATA_READ) | ||
| 780 | flags |= SG_MITER_TO_SG; | ||
| 781 | else | ||
| 782 | flags |= SG_MITER_FROM_SG; | ||
| 783 | sg_miter_start(&host->sg_miter, data->sg, data->sg_len, flags); | ||
| 778 | host->blocks = data->blocks; | 784 | host->blocks = data->blocks; |
| 779 | } | 785 | } |
| 780 | 786 | ||
