linux/drivers/video
Thomas Pfaff 91c4313206 fbcon: fix color generation for monochrome framebuffer
The current attr_fgcol_ec / attr_bgcol_ec macros do a simple shift of bits
to get the color from vc_video_erase_char.  For a monochrome display
however the attribute does not contain any color, only attribute bits.
Furthermore the reverse bit is lost because it is shifted out, the
resulting color is always 0.

This can bee seen on a monochrome console either directly or by setting it
to inverse mode via "setterm -inversescreen on" .  Text is written with
correct color, fb_fillrects from a bit_clear / bit_clear_margins will get
wrong colors.

Signed-off-by: Thomas Pfaff <tpfaff@pcs.com>
Cc: "Antonino A. Daplas" <adaplas@pol.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-02-06 10:41:18 -08:00
..
aty drivers/video/: Spelling fixes 2008-02-03 17:31:49 +02:00
backlight atmel_lcdfb: backlight control 2008-02-06 10:41:16 -08:00
console fbcon: fix color generation for monochrome framebuffer 2008-02-06 10:41:18 -08:00
display make drivers/video/display/display-sysfs.c:display_class static 2007-05-08 11:15:26 -07:00
geode make video/geode/lxfb_core.c:geode_modedb[] static 2008-02-06 10:41:15 -08:00
i810 fix ! versus & precedence in various places 2008-02-06 10:40:59 -08:00
intelfb Remove pointless casts from void pointers 2008-02-06 10:41:01 -08:00
kyro fbdev: change asm/uaccess.h to linux/uaccess.h 2007-10-16 09:43:17 -07:00
logo logo.c: get rid of mips_machgroup 2007-10-18 14:37:17 -07:00
matrox i2c: normal_i2c can be made const (remaining drivers) 2008-01-27 18:14:47 +01:00
mbx mbxfb: Improvements and new features 2007-10-16 09:43:14 -07:00
nvidia fb: nvidiafb: Try harder at initial mode setting. 2008-02-06 10:41:16 -08:00
omap drivers/video/: Spelling fixes 2008-02-03 17:31:49 +02:00
pnx4008 define global BIT macro 2007-10-19 11:53:42 -07:00
riva Merge branch 'for-linus' of git://git.o-hand.com/linux-rpurdie-backlight 2007-07-22 11:19:46 -07:00
savage fbdev: change asm/uaccess.h to linux/uaccess.h 2007-10-16 09:43:17 -07:00
sis drivers/video: remove unnecessary pci_dev_put 2008-02-06 10:41:15 -08:00
vermilion vermilion.c: use ALIGN(), not __ALIGN_MASK() 2008-02-06 10:41:16 -08:00
68328fb.c 68328fb: the pseudo_palette is only 16 elements long 2007-07-17 10:23:11 -07:00
acornfb.c Remove the arm26 port 2007-07-31 15:39:39 -07:00
acornfb.h
amba-clcd.c some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
amifb.c Convert files to UTF-8 and some cleanups 2007-10-19 23:21:04 +02:00
arcfb.c fbdev: change asm/uaccess.h to linux/uaccess.h 2007-10-16 09:43:17 -07:00
arkfb.c vt8623fb: arkfb: null pointer dereference fix 2007-06-01 08:18:28 -07:00
asiliantfb.c
atafb_iplan2p2.c m68k: Atari fb revival 2007-05-04 17:59:05 -07:00
atafb_iplan2p4.c m68k: Atari fb revival 2007-05-04 17:59:05 -07:00
atafb_iplan2p8.c m68k: Atari fb revival 2007-05-04 17:59:05 -07:00
atafb_mfb.c m68k: Atari fb revival 2007-05-04 17:59:05 -07:00
atafb_utils.h m68k: Atari fb revival 2007-05-04 17:59:05 -07:00
atafb.c fbdev: change asm/uaccess.h to linux/uaccess.h 2007-10-16 09:43:17 -07:00
atafb.h m68k: Atari fb revival 2007-05-04 17:59:05 -07:00
atmel_lcdfb.c atmel_lcdfb: backlight control 2008-02-06 10:41:16 -08:00
au1100fb.c au1100fb: fix modpost warnings 2007-10-18 14:37:17 -07:00
au1100fb.h [PATCH] au11oofb: fix to remove flickering 2006-12-08 08:29:06 -08:00
au1200fb.c some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
au1200fb.h
bf54x-lq043fb.c Remove pointless casts from void pointers 2008-02-06 10:41:01 -08:00
bt431.h
bt455.h
bw2.c [VIDEO]: Do not prom_halt() in cg3 and bw2 device probe. 2007-08-26 18:49:08 -07:00
c2p.c
c2p.h
cfbcopyarea.c fbdev: copyarea function taught to fully support swapped pixel order in byte 2007-10-16 09:43:23 -07:00
cfbfillrect.c fbdev: Support for byte-reversed framebuffer formats 2007-10-16 09:43:19 -07:00
cfbimgblt.c fbdev: Support for byte-reversed framebuffer formats 2007-10-16 09:43:19 -07:00
cg3.c [VIDEO]: Do not prom_halt() in cg3 and bw2 device probe. 2007-08-26 18:49:08 -07:00
cg6.c [CG6]: accelerated copyarea 2007-10-13 21:53:08 -07:00
cg14.c [VIDEO]: Fix OOPS in all SBUS framebuffer drivers. 2007-07-30 00:27:33 -07:00
chipsfb.c chipsfb: use correct pm state 2007-07-26 11:35:18 -07:00
cirrusfb.c cirrusfb nonsense 2007-10-27 22:18:12 -07:00
clps711xfb.c fbdev: change asm/uaccess.h to linux/uaccess.h 2007-10-16 09:43:17 -07:00
controlfb.c controlfb: the pseudo_palette is only 16 elements long 2007-07-17 10:23:11 -07:00
controlfb.h
cyber2000fb.c [ARM] 4645/1: Cyberpro: Trivial fix to restore 16bpp mode. 2007-11-08 23:29:36 +00:00
cyber2000fb.h
cyblafb.c drivers/video/: Spelling fixes 2008-02-03 17:31:49 +02:00
dnfb.c
edid.h
efifb.c x86_64 EFI boot support: EFI frame buffer driver 2007-11-29 09:24:54 -08:00
epson1355fb.c fbdev: change asm/uaccess.h to linux/uaccess.h 2007-10-16 09:43:17 -07:00
fb_ddc.c fb_ddc: fix DDC lines quirk 2007-11-29 09:24:52 -08:00
fb_defio.c fb: defio nopage 2008-02-06 10:41:15 -08:00
fb_draw.h fbdev: copyarea function taught to fully support swapped pixel order in byte 2007-10-16 09:43:23 -07:00
fb_notify.c
fb_sys_fops.c fbdev: change asm/uaccess.h to linux/uaccess.h 2007-10-16 09:43:17 -07:00
fbcmap.c fbdev: change asm/uaccess.h to linux/uaccess.h 2007-10-16 09:43:17 -07:00
fbcvt.c [PATCH] various fbdev files: mark structs and array read-only 2006-12-08 08:29:05 -08:00
fbmem.c fb: move and rename extern declaration for global_mode_option 2007-10-16 09:43:22 -07:00
fbmon.c fbmon: cleanup trailing whitespaces 2008-02-06 10:41:15 -08:00
fbsysfs.c fbdev: fix obvious bug in show_pan() 2007-05-08 11:15:26 -07:00
ffb.c [FFB]: source cleanup 2007-10-13 21:53:08 -07:00
fm2fb.c fm2fb: the pseudo_palette is only 16 elements long 2007-07-17 10:23:12 -07:00
g364fb.c PCI: Cleanup the includes of <linux/pci.h> 2007-05-02 19:02:35 -07:00
gbefb.c gbefb: fix section mismatch warnings 2007-11-14 18:45:42 -08:00
gxt4500.c Add missing newlines to some uses of dev_<level> messages 2007-10-18 14:37:28 -07:00
hecubafb.c fbdev: change asm/uaccess.h to linux/uaccess.h 2007-10-16 09:43:17 -07:00
hgafb.c
hitfb.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
hpfb.c video/hpfb.c section fix 2008-02-06 10:41:15 -08:00
igafb.c drivers/video: add missing pci_dev_get 2008-02-06 10:41:16 -08:00
imacfb.c imacfb: remove reference to otherwise-unused, non-existent screen_info.imacpm_seg 2007-11-29 09:24:53 -08:00
imsttfb.c fbdev: change asm/uaccess.h to linux/uaccess.h 2007-10-16 09:43:17 -07:00
imxfb.c imxfb: fast read flag and nonstandard field configurable 2007-10-16 09:43:21 -07:00
imxfb.h
Kconfig [ARM] 4764/1: [AT91] AT91CAP9 core support 2008-01-26 15:01:13 +00:00
leo.c [VIDEO]: Fix OOPS in all SBUS framebuffer drivers. 2007-07-30 00:27:33 -07:00
macfb.c macfb: fix pseudo_palette size and overrun 2007-07-17 10:23:12 -07:00
macmodes.c drivers/video/macmodes.c:mac_find_mode() mustn't be __devinit 2007-07-17 10:23:13 -07:00
macmodes.h drivers/video/macmodes.c:mac_find_mode() mustn't be __devinit 2007-07-17 10:23:13 -07:00
Makefile x86_64 EFI boot support: EFI frame buffer driver 2007-11-29 09:24:54 -08:00
maxinefb.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
modedb.c fix radeonfb regression with Xpress 200m 5955 2008-01-17 15:38:59 -08:00
neofb.c neofb: avoid overwriting fb_info fields 2008-02-06 10:41:16 -08:00
offb.c offb: the pseudo_palette is only 16 elements long 2007-07-17 10:23:12 -07:00
output.c Convert from class_device to device for drivers/video 2007-10-12 14:51:04 -07:00
p9100.c [VIDEO]: Fix OOPS in all SBUS framebuffer drivers. 2007-07-30 00:27:33 -07:00
platinumfb.c [POWERPC] Fix platinumfb framebuffer 2007-09-22 14:49:22 +10:00
platinumfb.h
pm2fb.c pm2fb: big endian fix 2008-02-06 10:41:17 -08:00
pm3fb.c drivers/video/pm3fb.c section fix 2008-02-06 10:41:16 -08:00
pmag-aa-fb.c fbcon: fix color generation for monochrome framebuffer 2008-02-06 10:41:18 -08:00
pmag-ba-fb.c drivers/video/pmag-ba-fb.c: improve diagnostics 2007-10-16 09:43:19 -07:00
pmagb-b-fb.c pmagb-b-fb: improve diagnostics 2007-10-16 09:43:20 -07:00
ps3fb.c ps3fb: fix modedb typos 2008-02-06 10:41:17 -08:00
pvr2fb.c fbdev: change asm/uaccess.h to linux/uaccess.h 2007-10-16 09:43:17 -07:00
pxafb.c fbdev: change asm/uaccess.h to linux/uaccess.h 2007-10-16 09:43:17 -07:00
pxafb.h pxafb: Add support for other palette formats 2007-10-16 09:43:15 -07:00
q40fb.c q40fb: the pseudo_palette is only 16 elements long 2007-07-17 10:23:12 -07:00
s1d13xxxfb.c drivers/video/s1d13xxxfb.c: fix build as module with dbg 2007-11-14 18:45:38 -08:00
s3c2410fb.c FB/S3C2410: check default_display parameter passed in platform data 2008-02-06 10:41:18 -08:00
s3c2410fb.h FB/S3C2412: add S3C2412 support to S3C2410 fb driver 2008-02-06 10:41:17 -08:00
s3fb.c s3fb: do not allow incorrect pixclock settings 2007-10-16 09:43:23 -07:00
sa1100fb.c fbdev: change asm/uaccess.h to linux/uaccess.h 2007-10-16 09:43:17 -07:00
sa1100fb.h [PATCH] Replace regular code with appropriate calls to container_of() 2007-02-11 11:18:06 -08:00
sbuslib.c [SPARC]: Mark SBUS framebuffer ioctls as IGNORE in compat_ioctl.c 2007-07-30 00:27:36 -07:00
sbuslib.h
sgivwfb.c sgivwfb: the pseudo_palette is only 16 elements long 2007-07-17 10:23:12 -07:00
skeletonfb.c skeletonfb: wrong field name fix 2007-10-16 09:43:14 -07:00
sm501fb.c FB/SM501: ensure console suspended before saving state 2008-02-06 10:41:17 -08:00
sstfb.c fbdev: change asm/uaccess.h to linux/uaccess.h 2007-10-16 09:43:17 -07:00
sticore.h
stifb.c stifb: detect cards in double buffer mode more reliably 2007-08-11 15:47:40 -07:00
sunxvr500.c [VIDEO] sunxvr500fb: Fix pseudo_palette array size 2007-06-05 13:15:26 -07:00
sunxvr2500.c [VIDEO] sunxvr2500fb: Fix pseudo_palette array size 2007-06-05 13:15:01 -07:00
svgalib.c svgalib: mode selection updates 2007-10-16 09:43:22 -07:00
syscopyarea.c fbdev: consolidate common drawing functions into a header file 2007-05-08 11:15:30 -07:00
sysfillrect.c fbdev: consolidate common drawing functions into a header file 2007-05-08 11:15:30 -07:00
sysimgblt.c fbdev: add drawing functions for framebuffers in system RAM 2007-05-08 11:15:30 -07:00
tcx.c [VIDEO]: Fix OOPS in all SBUS framebuffer drivers. 2007-07-30 00:27:33 -07:00
tdfxfb.c tdfxfb: fix section mismatch warnings 2008-02-06 10:41:16 -08:00
tgafb.c tgafb: remove a redundant non-mono test in mono imageblit 2007-10-16 09:43:23 -07:00
tridentfb.c tridentfb: coding style improvement 2007-10-16 09:43:15 -07:00
uvesafb.c uvesafb: small cleanups 2008-02-06 10:41:16 -08:00
valkyriefb.c some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
valkyriefb.h
vesafb.c [PATCH] annotate some variables in vesafb driver as __read_mostly 2006-12-08 08:29:06 -08:00
vfb.c vfb: make virtual framebuffer mmapable 2007-10-16 09:43:18 -07:00
vga16fb.c Remove magic macros for screen_info structure members 2007-10-16 22:57:17 -07:00
vgastate.c vga: vgastate fix 2007-05-08 11:15:32 -07:00
vt8623fb.c vt8623fb.c: make code static 2007-07-17 10:23:13 -07:00
w100fb.c w100fb: fix compile warnings 2007-05-23 20:14:13 -07:00
w100fb.h
xilinxfb.c XilinxFB: typo bugfix 2007-10-14 08:56:33 -07:00