Merge branch 'merge' of git://git.secretlab.ca/git/linux-2.6
* 'merge' of git://git.secretlab.ca/git/linux-2.6:
of/powerpc: fix fsl_msi device node pointer
of/watchdog: gef_wdt.c: fix build breakage
of/edac: fix build breakage in drivers
of/net: fs_enet/mii-bitbang.c: fix build breakage
of/usb: fsl_qe_udc.c: fix build breakage
of/crypto: crypto4xx_core.c: fix build breakage
of/dma: fix build breakage in ppc4xx adma driver
of/mtd: nand: fix build breakage in drivers
of/video: fix build breakage in FB drivers
of/pcmcia: m8xx_pcmcia.c: Fix build failures
of/rtc: rtc-mpc5121.c: Fix build failures
of/dma: mpc512x_dma.c: Fix build failures
of/mtd/nand: mpc5121_nfc.c: Fix build failures
of/spi: mpc512x_psc_spi.c: Fix build failures
watchdog: Fix build failure with OF changes
of/spi: Fix build failure on spi_ppc4xx.c
of/usb: fix build error due to of_node pointer move
of/powerpc: fix 85xx RapidIO device node pointer
diff --git a/drivers/video/aty/mach64_accel.c b/drivers/video/aty/mach64_accel.c
index 51fcc0a..e45833c 100644
--- a/drivers/video/aty/mach64_accel.c
+++ b/drivers/video/aty/mach64_accel.c
@@ -242,7 +242,7 @@
void atyfb_fillrect(struct fb_info *info, const struct fb_fillrect *rect)
{
struct atyfb_par *par = (struct atyfb_par *) info->par;
- u32 color = rect->color, dx = rect->dx, width = rect->width, rotation = 0;
+ u32 color, dx = rect->dx, width = rect->width, rotation = 0;
if (par->asleep)
return;
@@ -253,8 +253,11 @@
return;
}
- color |= (rect->color << 8);
- color |= (rect->color << 16);
+ if (info->fix.visual == FB_VISUAL_TRUECOLOR ||
+ info->fix.visual == FB_VISUAL_DIRECTCOLOR)
+ color = ((u32 *)(info->pseudo_palette))[rect->color];
+ else
+ color = rect->color;
if (info->var.bits_per_pixel == 24) {
/* In 24 bpp, the engine is in 8 bpp - this requires that all */