diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2010-07-30 22:02:51 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-07-30 22:02:51 -0400 |
| commit | a63ecd835f075b21d7d5cef9580447f5fbb36263 (patch) | |
| tree | 952d222271e5aed0c500d3d31b39336f13db2943 /drivers | |
| parent | fc71ff8a6c187ecc1ba79ee5688668af97a970fc (diff) | |
| parent | e76df4d33973bd9b963d0cce05749b090cc14936 (diff) | |
Merge master.kernel.org:/home/rmk/linux-2.6-arm
* master.kernel.org:/home/rmk/linux-2.6-arm:
cyber2000fb: fix console in truecolor modes
cyber2000fb: fix machine hang on module load
SA1111: Eliminate use after free
ARM: Fix Versatile/Realview/VExpress MMC card detection sense
ARM: 6279/1: highmem: fix SMP preemption bug in kmap_high_l1_vipt
ARM: Add barriers to io{read,write}{8,16,32} accessors as well
ARM: 6273/1: Add barriers to the I/O accessors if ARM_DMA_MEM_BUFFERABLE
ARM: 6272/1: Convert L2x0 to use the IO relaxed operations
ARM: 6271/1: Introduce *_relaxed() I/O accessors
ARM: 6275/1: ux500: don't use writeb() in uncompress.h
ARM: 6270/1: clean files in arch/arm/boot/compressed/
ARM: Fix csum_partial_copy_from_user()
Diffstat (limited to 'drivers')
| -rw-r--r-- | drivers/mmc/host/mmci.c | 8 | ||||
| -rw-r--r-- | drivers/video/cyber2000fb.c | 3 |
2 files changed, 9 insertions, 2 deletions
diff --git a/drivers/mmc/host/mmci.c b/drivers/mmc/host/mmci.c index 4917af96bae1..2ed435bd4b6c 100644 --- a/drivers/mmc/host/mmci.c +++ b/drivers/mmc/host/mmci.c | |||
| @@ -539,9 +539,13 @@ static int mmci_get_cd(struct mmc_host *mmc) | |||
| 539 | if (host->gpio_cd == -ENOSYS) | 539 | if (host->gpio_cd == -ENOSYS) |
| 540 | status = host->plat->status(mmc_dev(host->mmc)); | 540 | status = host->plat->status(mmc_dev(host->mmc)); |
| 541 | else | 541 | else |
| 542 | status = gpio_get_value(host->gpio_cd); | 542 | status = !gpio_get_value(host->gpio_cd); |
| 543 | 543 | ||
| 544 | return !status; | 544 | /* |
| 545 | * Use positive logic throughout - status is zero for no card, | ||
| 546 | * non-zero for card inserted. | ||
| 547 | */ | ||
| 548 | return status; | ||
| 545 | } | 549 | } |
| 546 | 550 | ||
| 547 | static const struct mmc_host_ops mmci_ops = { | 551 | static const struct mmc_host_ops mmci_ops = { |
diff --git a/drivers/video/cyber2000fb.c b/drivers/video/cyber2000fb.c index 3a561df2e8a2..0c1afd13ddd3 100644 --- a/drivers/video/cyber2000fb.c +++ b/drivers/video/cyber2000fb.c | |||
| @@ -388,6 +388,7 @@ cyber2000fb_setcolreg(u_int regno, u_int red, u_int green, u_int blue, | |||
| 388 | pseudo_val |= convert_bitfield(red, &var->red); | 388 | pseudo_val |= convert_bitfield(red, &var->red); |
| 389 | pseudo_val |= convert_bitfield(green, &var->green); | 389 | pseudo_val |= convert_bitfield(green, &var->green); |
| 390 | pseudo_val |= convert_bitfield(blue, &var->blue); | 390 | pseudo_val |= convert_bitfield(blue, &var->blue); |
| 391 | ret = 0; | ||
| 391 | break; | 392 | break; |
| 392 | } | 393 | } |
| 393 | 394 | ||
| @@ -436,6 +437,8 @@ static void cyber2000fb_write_ramdac_ctrl(struct cfb_info *cfb) | |||
| 436 | cyber2000fb_writeb(i | 4, 0x3cf, cfb); | 437 | cyber2000fb_writeb(i | 4, 0x3cf, cfb); |
| 437 | cyber2000fb_writeb(val, 0x3c6, cfb); | 438 | cyber2000fb_writeb(val, 0x3c6, cfb); |
| 438 | cyber2000fb_writeb(i, 0x3cf, cfb); | 439 | cyber2000fb_writeb(i, 0x3cf, cfb); |
| 440 | /* prevent card lock-up observed on x86 with CyberPro 2000 */ | ||
| 441 | cyber2000fb_readb(0x3cf, cfb); | ||
| 439 | } | 442 | } |
| 440 | 443 | ||
| 441 | static void cyber2000fb_set_timing(struct cfb_info *cfb, struct par_info *hw) | 444 | static void cyber2000fb_set_timing(struct cfb_info *cfb, struct par_info *hw) |
