android_kernel_xiaomi_sm8350/drivers/video
Jesse Barnes cfafca8067 fbdev: fbcon: console unregistration from unregister_framebuffer
This allows for proper console unregistration via the VT layer, and updates
the FB layer to use it.  This makes debugging new console drivers much easier,
since you can properly clean them up before unloading.

[adaplas]
unregister_framebuffer() is typically called as part of the driver's
module_exit(). Doing so otherwise will freeze the machine as the VT layer is
holding reference counts on fbcon, and fbcon on the driver.  With this change,
it allows unregister_framebuffer() to be called safely anywhere as needed.

Additions from the original:  If multiple drivers are used by fbcon, and if
one of them unregisters, a driver will take over the consoles vacated by the
outgoing one (via set_con2fb_map).   Once only the outgoing driver remains,
then fbcon will unbind from the VT layer (if CONFIG_HW_CONSOLE_UNBINDING is
set to y).

It is important that these drivers implement fb_open() and fb_release()
just to ensure that no other process is using the driver. Likewise, these
drivers _must_ check the return value of unregister_framebuffer().

[akpm@linux-foundation.org: make fbcon_unbind() stub inline]
Signed-off-by: Jesse Barnes <jesse.barnes@intel.com>
Signed-off-by: Antonino Daplas <adaplas@gmail.com>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-07-17 10:23:11 -07:00
..
aty radeonfb: Add support for Radeon Xpress 200M (RS485) 2007-07-17 10:23:11 -07:00
backlight sysfs: kill unnecessary attribute->owner 2007-07-11 16:09:06 -07:00
console fbdev: fbcon: console unregistration from unregister_framebuffer 2007-07-17 10:23:11 -07:00
display make drivers/video/display/display-sysfs.c:display_class static 2007-05-08 11:15:26 -07:00
geode
i810 Fix occurrences of "the the " 2007-05-09 08:57:56 +02:00
intelfb intelfb: fix ring space calculation 2007-05-08 11:15:26 -07:00
kyro PCI: Change all drivers to use pci_device->revision 2007-07-11 16:02:10 -07:00
logo Use menuconfig objects II: video/logo 2007-05-08 11:15:33 -07:00
matrox Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6 2007-07-12 13:40:57 -07:00
mbx [PATCH] mark struct file_operations const 6 2007-02-12 09:48:45 -08:00
nvidia nvidiafb: Add proper support for Geforce 7600 chipset 2007-07-17 10:23:11 -07:00
pnx4008
riva rivafb: Fix I2C getscl callback function 2007-05-11 08:29:37 -07:00
savage savagefb: VGA state save and restore 2007-05-08 11:15:29 -07:00
sis PCI: Change all drivers to use pci_device->revision 2007-07-11 16:02:10 -07:00
vermilion vmlfb: framebuffer driver for Intel Vermilion Range 2007-05-08 11:15:32 -07:00
68328fb.c
acornfb.c
acornfb.h
amba-clcd.c
amifb.c
arcfb.c arcfb: use fb_sys_read() 2007-05-08 11:15:30 -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 m68k: Atari fb revival 2007-05-04 17:59:05 -07:00
atafb.h m68k: Atari fb revival 2007-05-04 17:59:05 -07:00
atmel_lcdfb.c atmel_lcdfb: AT91/AT32 LCD Controller framebuffer driver 2007-05-11 08:29:37 -07:00
au1100fb.c
au1100fb.h
au1200fb.c
au1200fb.h
bt431.h
bt455.h
bw2.c [BW2]: Fix section mismatch warnings. 2007-03-09 23:11:05 -08:00
c2p.c
c2p.h
cfbcopyarea.c fbdev: consolidate common drawing functions into a header file 2007-05-08 11:15:30 -07:00
cfbfillrect.c fbdev: consolidate common drawing functions into a header file 2007-05-08 11:15:30 -07:00
cfbimgblt.c
cg3.c [SPARC/64] constify of_get_property return: drivers 2007-04-26 01:54:27 -07:00
cg6.c
cg14.c [CG14]: Fix section mismatch warnings. 2007-03-09 23:10:56 -08:00
chipsfb.c fix section mismatch in chipsfb 2007-06-28 11:34:54 -07:00
cirrusfb.c cirrusfb: convert to generic boolean 2007-05-08 11:15:28 -07:00
clps711xfb.c
controlfb.c [POWERPC] Remove old interface find_devices 2007-04-24 22:09:02 +10:00
controlfb.h
cyber2000fb.c
cyber2000fb.h
cyblafb.c
dnfb.c
edid.h
epson1355fb.c fbdev: pass struct fb_info to fb_read and fb_write 2007-05-08 11:15:30 -07:00
fb_ddc.c
fb_defio.c fbdev: kill sparse warning in deferred IO 2007-05-08 11:15:29 -07:00
fb_draw.h fbdev: consolidate common drawing functions into a header file 2007-05-08 11:15:30 -07:00
fb_notify.c
fb_sys_fops.c fbdev: add fb_read/fb_write functions for framebuffers in system RAM 2007-05-08 11:15:30 -07:00
fbcmap.c
fbcvt.c
fbmem.c fbdev: fbcon: console unregistration from unregister_framebuffer 2007-07-17 10:23:11 -07:00
fbmon.c fbdev: add Ultrasharp UXGA to broken monitor database 2007-05-08 11:15:26 -07:00
fbsysfs.c fbdev: fix obvious bug in show_pan() 2007-05-08 11:15:26 -07:00
ffb.c [VIDEO] ffb: The pseudo_palette is only 16 elements long 2007-06-05 13:14:33 -07:00
fm2fb.c
g364fb.c PCI: Cleanup the includes of <linux/pci.h> 2007-05-02 19:02:35 -07:00
gbefb.c
gxt4500.c
hecubafb.c hecubafb: use fb_sys_read() 2007-05-08 11:15:30 -07:00
hgafb.c
hitfb.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
hpfb.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
igafb.c [IGAFB]: Use pci_device_to_OF_node() on sparc. 2007-04-26 01:55:03 -07:00
imacfb.c
imsttfb.c
imxfb.c imxfb: fix memory hole 2007-05-23 20:14:13 -07:00
imxfb.h
Kconfig [POWERPC] PS3: Frame buffer system-bus rework 2007-06-28 19:16:42 +10:00
leo.c
macfb.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
macmodes.c
macmodes.h
Makefile atmel_lcdfb: AT91/AT32 LCD Controller framebuffer driver 2007-05-11 08:29:37 -07:00
maxinefb.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
modedb.c VIDEO: add spaces on either side of the case "..." operator 2007-05-08 11:15:28 -07:00
neofb.c neofb: Fix pseudo_palette array overrun in neofb_setcolreg 2007-05-31 07:48:27 -07:00
offb.c [POWERPC] Rename device_is_compatible to of_device_is_compatible 2007-05-07 20:31:14 +10:00
output.c
p9100.c
platinumfb.c PCI: Cleanup the includes of <linux/pci.h> 2007-05-02 19:02:35 -07:00
platinumfb.h
pm2fb.c pm2fb: white spaces clean up 2007-07-17 10:23:11 -07:00
pm3fb.c pm3fb: switching between X and fb fix 2007-06-01 08:18:30 -07:00
pmag-aa-fb.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
pmag-ba-fb.c
pmagb-b-fb.c
ps3fb.c Freezer: make kernel threads nonfreezable by default 2007-07-17 10:23:02 -07:00
pvr2fb.c fb: pvr2fb: A few more __devinit annotations for PCI. 2007-07-07 04:05:06 +09:00
pxafb.c VIDEO: add spaces on either side of the case "..." operator 2007-05-08 11:15:28 -07:00
pxafb.h
q40fb.c
s1d13xxxfb.c
s3c2410fb.c [PATCH] s3c2410fb: fix un-initialised dev field 2007-02-16 08:14:01 -08:00
s3c2410fb.h
s3fb.c svgalib: move fb_get_caps to svgalib 2007-05-09 12:30:57 -07:00
sa1100fb.c
sa1100fb.h
sbuslib.c
sbuslib.h
sgivwfb.c
skeletonfb.c skeletonfb: fix of xxxfb_setup ifdef 2007-06-01 08:18:28 -07:00
sm501fb.c sm501fb printk warning fixes 2007-05-08 11:15:34 -07:00
sstfb.c PCI: Change all drivers to use pci_device->revision 2007-07-11 16:02:10 -07:00
sticore.h
stifb.c PCI: Cleanup the includes of <linux/pci.h> 2007-05-02 19:02:35 -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: move fb_get_caps to svgalib 2007-05-09 12:30:57 -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
tdfxfb.c
tgafb.c PCI: Change all drivers to use pci_device->revision 2007-07-11 16:02:10 -07:00
tridentfb.c
tx3912fb.c
valkyriefb.c PCI: Cleanup the includes of <linux/pci.h> 2007-05-02 19:02:35 -07:00
valkyriefb.h
vesafb.c
vfb.c vfb: use fb_sys_read() and fb_sys_write() 2007-05-08 11:15:30 -07:00
vga16fb.c vga16fb: actually support widths in multiples of 8 2007-05-08 11:15:33 -07:00
vgastate.c vga: vgastate fix 2007-05-08 11:15:32 -07:00
vt8623fb.c vt8623fb: arkfb: null pointer dereference fix 2007-06-01 08:18:28 -07:00
w100fb.c w100fb: fix compile warnings 2007-05-23 20:14:13 -07:00
w100fb.h
xilinxfb.c xilinxfb: xilinx framebuffer device driver 2007-05-08 11:15:34 -07:00