diff options
author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-03-12 15:31:43 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-03-12 15:31:43 -0400 |
commit | 529284a0b649499351495949d05fa3359121cbae (patch) | |
tree | 9b33459a8f720313eeee469bfe18eeb5052246d2 /drivers | |
parent | be521466feb3bb1cd89de82a2b1d080e9ebd3cb6 (diff) | |
parent | 1dee79087c8b0f3239a2979f61ed92c7a5361b08 (diff) |
Merge master.kernel.org:/home/rmk/linux-2.6-arm
* master.kernel.org:/home/rmk/linux-2.6-arm:
[ARM] 4263/1: fix IXP4XX_NPE[ABC]_BASE_VIRT address
[ARM] 4256/1: i.MX/MX1 SDHC fix/workaround of SD card recognition problems
[ARM] 4255/1: i.MX/MX1 Correct MPU PLL reference clock value.
[ARM] 4254/1: i.MX/MX1 CPU Frequency scaling honor boot loader set BCLK_DIV.
[ARM] 4251/1: Fix sharpsl_pm dependency
[ARM] 4250/1: Fix locomo backlight conversion error/compile failure
[ARM] 4249/1: Fix tosa compile failure
[ARM] 4248/1: lh7a40x: fix missing definitions for get_irqnr_preamble
[ARM] 4247/1: Fix long name for cc9p9360dev
ARM: OMAP: Fix OMAP2 dss2 so clk_set_parent works
ARM: OMAP: Fix missing workqueue include in board-h2.c
ARM: OMAP: Include missing header
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/mmc/imxmmc.c | 13 | ||||
-rw-r--r-- | drivers/video/backlight/locomolcd.c | 4 |
2 files changed, 14 insertions, 3 deletions
diff --git a/drivers/mmc/imxmmc.c b/drivers/mmc/imxmmc.c index b060d4bfba2..0de5c9e94e7 100644 --- a/drivers/mmc/imxmmc.c +++ b/drivers/mmc/imxmmc.c | |||
@@ -569,10 +569,12 @@ static int imxmci_cpu_driven_data(struct imxmci_host *host, unsigned int *pstat) | |||
569 | 569 | ||
570 | if(host->dma_dir == DMA_FROM_DEVICE) { | 570 | if(host->dma_dir == DMA_FROM_DEVICE) { |
571 | imxmci_busy_wait_for_status(host, &stat, | 571 | imxmci_busy_wait_for_status(host, &stat, |
572 | STATUS_APPL_BUFF_FF | STATUS_DATA_TRANS_DONE, | 572 | STATUS_APPL_BUFF_FF | STATUS_DATA_TRANS_DONE | |
573 | STATUS_TIME_OUT_READ, | ||
573 | 50, "imxmci_cpu_driven_data read"); | 574 | 50, "imxmci_cpu_driven_data read"); |
574 | 575 | ||
575 | while((stat & (STATUS_APPL_BUFF_FF | STATUS_DATA_TRANS_DONE)) && | 576 | while((stat & (STATUS_APPL_BUFF_FF | STATUS_DATA_TRANS_DONE)) && |
577 | !(stat & STATUS_TIME_OUT_READ) && | ||
576 | (host->data_cnt < 512)) { | 578 | (host->data_cnt < 512)) { |
577 | 579 | ||
578 | udelay(20); /* required for clocks < 8MHz*/ | 580 | udelay(20); /* required for clocks < 8MHz*/ |
@@ -602,6 +604,12 @@ static int imxmci_cpu_driven_data(struct imxmci_host *host, unsigned int *pstat) | |||
602 | if(host->dma_size & 0x1ff) | 604 | if(host->dma_size & 0x1ff) |
603 | stat &= ~STATUS_CRC_READ_ERR; | 605 | stat &= ~STATUS_CRC_READ_ERR; |
604 | 606 | ||
607 | if(stat & STATUS_TIME_OUT_READ) { | ||
608 | dev_dbg(mmc_dev(host->mmc), "imxmci_cpu_driven_data read timeout STATUS = 0x%x\n", | ||
609 | stat); | ||
610 | trans_done = -1; | ||
611 | } | ||
612 | |||
605 | } else { | 613 | } else { |
606 | imxmci_busy_wait_for_status(host, &stat, | 614 | imxmci_busy_wait_for_status(host, &stat, |
607 | STATUS_APPL_BUFF_FE, | 615 | STATUS_APPL_BUFF_FE, |
@@ -709,6 +717,9 @@ static void imxmci_tasklet_fnc(unsigned long data) | |||
709 | */ | 717 | */ |
710 | stat |= host->status_reg; | 718 | stat |= host->status_reg; |
711 | 719 | ||
720 | if(test_bit(IMXMCI_PEND_CPU_DATA_b, &host->pending_events)) | ||
721 | stat &= ~STATUS_CRC_READ_ERR; | ||
722 | |||
712 | if(test_bit(IMXMCI_PEND_WAIT_RESP_b, &host->pending_events)) { | 723 | if(test_bit(IMXMCI_PEND_WAIT_RESP_b, &host->pending_events)) { |
713 | imxmci_busy_wait_for_status(host, &stat, | 724 | imxmci_busy_wait_for_status(host, &stat, |
714 | STATUS_END_CMD_RESP | STATUS_ERR_MASK, | 725 | STATUS_END_CMD_RESP | STATUS_ERR_MASK, |
diff --git a/drivers/video/backlight/locomolcd.c b/drivers/video/backlight/locomolcd.c index d1312477813..6b488b8a7ee 100644 --- a/drivers/video/backlight/locomolcd.c +++ b/drivers/video/backlight/locomolcd.c | |||
@@ -199,8 +199,8 @@ static int locomolcd_remove(struct locomo_dev *dev) | |||
199 | { | 199 | { |
200 | unsigned long flags; | 200 | unsigned long flags; |
201 | 201 | ||
202 | locomobl_data.brightness = 0; | 202 | locomolcd_bl_device->props.brightness = 0; |
203 | locomobl_data.power = 0; | 203 | locomolcd_bl_device->props.power = 0; |
204 | locomolcd_set_intensity(locomolcd_bl_device); | 204 | locomolcd_set_intensity(locomolcd_bl_device); |
205 | 205 | ||
206 | backlight_device_unregister(locomolcd_bl_device); | 206 | backlight_device_unregister(locomolcd_bl_device); |