aha/drivers/video
Ben Dooks b3b4dc8840 lcd: fix oops if driver only interested in .set_power
The LCD driver core calls LCD drivers when either the blanking state or
the display mode has changed, but does not make any check to see if the
called driver has a .set_mode method.

This means if a driver only has a .set_power method then the system will
OOPS on changing mode (and with the console semaphore held so you cannot
easily see the problem).

Fix the problem by ensuring that either callback is valid before use.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-11-19 18:49:58 -08:00
..
aty radeonfb: accelerate imageblit and other improvements 2008-10-16 11:21:44 -07:00
backlight lcd: fix oops if driver only interested in .set_power 2008-11-19 18:49:58 -08:00
console fbcon: don't inline updatescrollmode 2008-10-30 11:38:46 -07:00
display device create: video: convert device_create_drvdata to device_create 2008-10-16 09:24:45 -07:00
geode lxfb: fix console blanking 2008-07-24 10:47:40 -07:00
i810 i810fb: fix console switch regression 2008-03-19 18:53:36 -07:00
intelfb intelfb: support 945GME (as used in ASUS Eee 901) 2008-10-16 11:21:42 -07:00
kyro
logo video/logo: add support for Blackfin/Linux logo for framebuffer console 2008-05-14 19:11:14 -07:00
matrox matroxfb: support G200eV chip 2008-10-16 11:21:45 -07:00
mb862xx fbdev: add new framebuffer driver for Fujitsu MB862xx GDCs 2008-11-06 15:41:18 -08:00
mbx mbxfb: fix incorrect argument type 2008-03-10 18:01:20 -07:00
nvidia video: replace remaining __FUNCTION__ occurrences 2008-04-28 08:58:42 -07:00
omap Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm 2008-10-16 11:25:32 -07:00
pnx4008 [ARM] Move include/asm-arm/arch-* to arch/arm/*/include/mach 2008-08-07 09:55:48 +01:00
riva video: replace remaining __FUNCTION__ occurrences 2008-04-28 08:58:42 -07:00
savage savagefb: speed up the I2C bus 2008-04-28 08:58:38 -07:00
sis video/sis/: remove compat code 2008-07-24 10:47:37 -07:00
vermilion removed unused #include <linux/version.h>'s 2008-08-23 12:14:12 -07:00
via viafb: fix releasing of /proc/viafb/ subtree 2008-11-19 18:49:58 -08:00
68328fb.c
acornfb.c [ARM] Move include/asm-arm/arch-* to arch/arm/*/include/mach 2008-08-07 09:55:48 +01:00
acornfb.h
amba-clcd.c
amifb.c drivers/video/amifb.c cleanups 2008-07-24 10:47:40 -07:00
arcfb.c
arkfb.c removed unused #include <linux/version.h>'s 2008-08-23 12:14:12 -07:00
asiliantfb.c
atafb.c atafb: test virtual screen range before subtraction on unsigned 2008-07-24 10:47:37 -07:00
atafb.h
atafb_iplan2p2.c
atafb_iplan2p4.c
atafb_iplan2p8.c
atafb_mfb.c
atafb_utils.h
atmel_lcdfb.c drivers/video: bad error test before a dereference 2008-11-19 18:49:57 -08:00
au1100fb.c
au1100fb.h
au1200fb.c
au1200fb.h
bf54x-lq043fb.c Blackfin arch: move include/asm-blackfin header files to arch/blackfin 2008-08-27 10:51:02 +08:00
bfin-t350mcqb-fb.c lcd: add lcd_device to check_fb() entry in lcd_ops 2008-07-24 10:47:40 -07:00
bt431.h
bt455.h
bw2.c sparc: Annotate of_device_id arrays with const or __initdata. 2008-08-31 01:23:17 -07:00
c2p.c export c2p 2008-07-20 17:24:39 -07:00
c2p.h
carminefb.c framebuffer: fix carminefb section mismatch 2008-10-16 11:21:45 -07:00
carminefb.h fbdev: add the carmine FB driver 2008-07-24 10:47:34 -07:00
carminefb_regs.h fbdev: add the carmine FB driver 2008-07-24 10:47:34 -07:00
cfbcopyarea.c fb: add support for foreign endianness 2008-04-28 08:58:35 -07:00
cfbfillrect.c fb: add support for foreign endianness 2008-04-28 08:58:35 -07:00
cfbimgblt.c video: replace remaining __FUNCTION__ occurrences 2008-04-28 08:58:42 -07:00
cg3.c sparc: Annotate of_device_id arrays with const or __initdata. 2008-08-31 01:23:17 -07:00
cg6.c cg6: disable cursor when leaving graphics mode 2008-10-10 12:12:41 -07:00
cg14.c sparc: Annotate of_device_id arrays with const or __initdata. 2008-08-31 01:23:17 -07:00
chipsfb.c PM: Introduce PM_EVENT_HIBERNATE callback state 2008-02-23 10:40:04 -08:00
cirrusfb.c section fixes for cirrusfb 2008-11-01 12:40:38 -07:00
clps711xfb.c [ARM] Move include/asm-arm/arch-* to arch/arm/*/include/mach 2008-08-07 09:55:48 +01:00
cobalt_lcdfb.c fbdev: add new Cobalt LCD framebuffer driver 2008-07-24 10:47:40 -07:00
controlfb.c
controlfb.h
cyber2000fb.c [ARM] Move include/asm-arm/arch-* to arch/arm/*/include/mach 2008-08-07 09:55:48 +01:00
cyber2000fb.h
cyblafb.c
dnfb.c m68k: dnfb doesnt check for Apollo 2008-05-18 13:28:49 -07:00
edid.h
efifb.c efifb/imacfb consolidation + hardware support 2008-10-16 11:21:44 -07:00
epson1355fb.c [ARM] Move include/asm-arm/arch-* to arch/arm/*/include/mach 2008-08-07 09:55:48 +01:00
fb_ddc.c i2c: Let framebuffer drivers set their I2C bus class to DDC 2008-07-14 22:38:28 +02:00
fb_defio.c fbdefio: add set_page_dirty handler to deferred IO FB 2008-08-20 15:40:32 -07:00
fb_draw.h fb: add support for foreign endianness 2008-04-28 08:58:35 -07:00
fb_notify.c
fb_sys_fops.c
fbcmap.c
fbcvt.c
fbmem.c fbdev: clean the penguin's dirty feet 2008-11-19 18:49:57 -08:00
fbmon.c fbmon: fix EDID parser to detect interlace modes 2008-10-16 11:21:44 -07:00
fbsysfs.c
ffb.c sparc: Annotate of_device_id arrays with const or __initdata. 2008-08-31 01:23:17 -07:00
fm2fb.c
fsl-diu-fb.c freescale DIU: bug fix: add sanity check for AOI position 2008-08-15 08:35:43 -07:00
fsl-diu-fb.h fbdev: powerpc: driver for Freescale 8610 and 5121 DIU 2008-04-28 08:58:40 -07:00
g364fb.c
gbefb.c gbefb: cmap FIFO timeout 2008-07-30 09:41:47 -07:00
gxt4500.c fbdev: use DIV_ROUND_UP or roundup 2008-04-28 08:58:35 -07:00
hecubafb.c fbdev: platforming hecubafb and n411 2008-04-28 08:58:41 -07:00
hgafb.c hgafb: convert to new platform driver API 2008-07-24 10:47:39 -07:00
hitfb.c video: Fix up hp6xx driver build regressions. 2008-07-30 02:16:12 +09:00
hpfb.c m68k: Return -ENODEV if no device is found 2008-05-18 13:28:50 -07:00
igafb.c
imsttfb.c video: replace remaining __FUNCTION__ occurrences 2008-04-28 08:58:42 -07:00
imxfb.c [ARM] Move include/asm-arm/arch-* to arch/arm/*/include/mach 2008-08-07 09:55:48 +01:00
imxfb.h
Kconfig fbdev: add new framebuffer driver for Fujitsu MB862xx GDCs 2008-11-06 15:41:18 -08:00
leo.c leo: disable cursor when leaving graphics mode 2008-10-10 12:13:22 -07:00
macfb.c make macfb_setup() static 2008-07-26 12:00:12 -07:00
macmodes.c
macmodes.h
Makefile fbdev: add new framebuffer driver for Fujitsu MB862xx GDCs 2008-11-06 15:41:18 -08:00
maxinefb.c
metronomefb.c metronomefb: Fix warning when building 64bit 2008-10-15 10:19:51 -07:00
modedb.c fbdev: export symbol fb_mode_option 2008-06-06 11:29:12 -07:00
n411.c fbdev: platforming hecubafb and n411 2008-04-28 08:58:41 -07:00
neofb.c neofb: remove open_lock mutex 2008-10-16 11:21:42 -07:00
offb.c fbdev: Teaches offb about palette on radeon r5xx/r6xx 2008-07-22 10:39:36 +10:00
output.c
p9100.c sparc: Annotate of_device_id arrays with const or __initdata. 2008-08-31 01:23:17 -07:00
platinumfb.c platinumfb: Use linux/of_{device,platform}.h instead of asm 2008-06-09 13:46:38 +10:00
platinumfb.h
pm2fb.c pm2fb: free cmap memory on module remove 2008-08-20 15:40:31 -07:00
pm3fb.c video: replace remaining __FUNCTION__ occurrences 2008-04-28 08:58:42 -07:00
pmag-aa-fb.c fbcon: fix color generation for monochrome framebuffer 2008-02-06 10:41:18 -08:00
pmag-ba-fb.c
pmagb-b-fb.c
ps3fb.c powerpc/ps3: Add a sub-match id to ps3_system_bus 2008-07-22 10:39:33 +10:00
pvr2fb.c sh: More header path fixups for mach dir refactoring. 2008-07-29 22:10:01 +09:00
pxafb.c [ARM] pxafb: fix the warning of incorrect lccr when lcd_conn is specified 2008-08-16 16:39:16 +01:00
pxafb.h pxafb: convert ctrlr_sem in a mutex 2008-07-24 10:47:37 -07:00
q40fb.c
s1d13xxxfb.c fbdev: allow more chip revisions in Epson s1d13... video driver 2008-10-16 11:21:45 -07:00
s3c2410fb.c [ARM] Move include/asm-arm/arch-* to arch/arm/*/include/mach 2008-08-07 09:55:48 +01:00
s3c2410fb.h S3C2410: clean out changelog header and tidy 2008-05-24 09:56:13 -07:00
s3fb.c removed unused #include <linux/version.h>'s 2008-08-23 12:14:12 -07:00
sa1100fb.c [ARM] Move include/asm-arm/arch-* to arch/arm/*/include/mach 2008-08-07 09:55:48 +01:00
sa1100fb.h sa1100fb: convert ctrlr_sem in a mutex 2008-07-24 10:47:37 -07:00
sbuslib.c sparc video: remove open boot prom code 2008-05-08 21:37:30 -07:00
sbuslib.h sparc video: remove open boot prom code 2008-05-08 21:37:30 -07:00
sgivwfb.c x86, VisWS: turn into generic arch, move definitions 2008-07-10 18:55:40 +02:00
sh7760fb.c sh7760fb: write colormap value to hardware 2008-07-28 16:30:21 -07:00
sh_mobile_lcdcfb.c video: add sh_mobile_lcdc platform flags 2008-10-20 11:38:50 +09:00
skeletonfb.c skeletonfb: update to correct platform driver usage 2008-07-24 10:47:39 -07:00
sm501fb.c sm501: fixup allocation code to be 64bit resource compliant 2008-07-24 10:47:40 -07:00
sstfb.c video: replace remaining __FUNCTION__ occurrences 2008-04-28 08:58:42 -07:00
sticore.h video/console/stico{n,re}.c: make code static 2008-07-26 12:00:12 -07:00
stifb.c video/stifb.c: make 2 functions static 2008-07-26 12:00:12 -07:00
sunxvr500.c sparc video: remove open boot prom code 2008-05-08 21:37:30 -07:00
sunxvr2500.c sparc video: remove open boot prom code 2008-05-08 21:37:30 -07:00
svgalib.c
syscopyarea.c fb: add support for foreign endianness 2008-04-28 08:58:35 -07:00
sysfillrect.c fb: add support for foreign endianness 2008-04-28 08:58:35 -07:00
sysimgblt.c video: replace remaining __FUNCTION__ occurrences 2008-04-28 08:58:42 -07:00
tcx.c sparc: Annotate of_device_id arrays with const or __initdata. 2008-08-31 01:23:17 -07:00
tdfxfb.c tdfxfb: do not make changes to default tdfx_fix 2008-10-16 11:21:42 -07:00
tgafb.c
tmiofb.c tmiofb: fix compilation with ACCEL disabled 2008-11-19 18:49:58 -08:00
tridentfb.c tridentfb: remove warning message that cyblafb driver should be used 2008-07-24 10:47:36 -07:00
uvesafb.c uvesafb: don't treat mode info retrieval failures as errors 2008-10-16 11:21:44 -07:00
valkyriefb.c
valkyriefb.h
vesafb.c
vfb.c vfb: only enable if explicitly requested when compiled in 2008-07-24 10:47:39 -07:00
vga16fb.c vga16fb: remove open_lock mutex 2008-10-16 11:21:42 -07:00
vgastate.c
vt8623fb.c removed unused #include <linux/version.h>'s 2008-08-23 12:14:12 -07:00
w100fb.c w100fb: add 80 MHz modeline 2008-07-04 10:40:08 -07:00
w100fb.h
xen-fbfront.c xen: clean up domain mode predicates 2008-08-20 12:40:07 +02:00
xilinxfb.c removed unused #include <linux/version.h>'s 2008-08-23 12:14:12 -07:00