linux/drivers/video
Bruno Prémont c267fd777a viafb: fix releasing of /proc/viafb/ subtree
When unloading viafb module it does not remove it's /proc/viafb/ subtree
which causes multiple viafb directories to appear below proc when
mobprobing viafb and also lets kernel WARN() on duplicate proc entries:

[  145.458387] WARNING: at /usr/src/linux-2.6.28-rc3-git6/fs/proc/generic.c:551 proc_register+0xe6/0x160()
[  145.458945] proc_dir_entry '/proc/viafb' already registered
[  145.459278] Modules linked in: viafb(+) i2c_algo_bit cfbcopyarea cfbimgblt cfbfillrect snd_hda_intel snd_pcm snd_timer snd soundcore snd_page_alloc sg via_agp agpgart [last unloaded: drm]
[  145.460647] Pid: 1904, comm: modprobe Tainted: G        W  2.6.28-rc3-git6 #4
[  145.461064] Call Trace:
[  145.461248]  [<c01066f1>] ? dump_stack+0x1/0x80
[  145.461533]  [<c01228a3>] warn_slowpath+0x63/0x80
[  145.461851]  [<c0253ec9>] ? idr_get_empty_slot+0xe9/0x250
[  145.462186]  [<c0254120>] ? ida_get_new_above+0xf0/0x150
[  145.462528]  [<c019fb86>] proc_register+0xe6/0x160
[  145.462827]  [<c019fdc6>] proc_mkdir_mode+0x36/0x50
[  145.463135]  [<c019fdef>] proc_mkdir+0xf/0x20
[  145.463457]  [<f807173c>] viafb_init+0x73c/0xc86 [viafb]
[  145.463823]  [<f8071000>] ? viafb_init+0x0/0xc86 [viafb]
[  145.464147]  [<c010111d>] do_one_initcall+0x2d/0x160
[  145.464460]  [<c01a6543>] ? sysfs_add_file+0x13/0x20
[  145.464786]  [<c015f031>] ? vfree+0x21/0x30
[  145.465049]  [<c01433b5>] ? load_module+0x1215/0x1500
[  145.465381]  [<c014e455>] ? __alloc_pages_internal+0x95/0x400
[  145.465755]  [<c0143723>] sys_init_module+0x83/0x1a0
[  145.466065]  [<c016ceed>] ? sys_read+0x3d/0x70
[  145.466354]  [<c0103bc1>] sysenter_do_call+0x12/0x25
[  145.466653] ---[ end trace c84b37826e16748c ]---

Signed-off-by: Bruno Prémont <bonbons@linux-vserver.org>
Cc: <JosephChan@via.com.tw>
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 [ARM] corgi_lcd: fix simultaneous compilation with corgi_bl 2008-10-29 11:45:37 +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 fbdev: change asm/uaccess.h to linux/uaccess.h 2007-10-16 09:43:17 -07:00
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 68328fb: the pseudo_palette is only 16 elements long 2007-07-17 10:23:11 -07:00
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 some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
amifb.c drivers/video/amifb.c cleanups 2008-07-24 10:47:40 -07:00
arcfb.c fbdev: change asm/uaccess.h to linux/uaccess.h 2007-10-16 09:43:17 -07:00
arkfb.c removed unused #include <linux/version.h>'s 2008-08-23 12:14:12 -07:00
asiliantfb.c
atafb_iplan2p2.c
atafb_iplan2p4.c
atafb_iplan2p8.c
atafb_mfb.c
atafb_utils.h
atafb.c atafb: test virtual screen range before subtraction on unsigned 2008-07-24 10:47:37 -07:00
atafb.h
atmel_lcdfb.c drivers/video: bad error test before a dereference 2008-11-19 18:49:57 -08:00
au1100fb.c au1100fb: fix modpost warnings 2007-10-18 14:37:17 -07:00
au1100fb.h
au1200fb.c some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
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_regs.h fbdev: add the carmine FB driver 2008-07-24 10:47:34 -07:00
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
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: the pseudo_palette is only 16 elements long 2007-07-17 10:23:11 -07:00
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 drivers/video/: Spelling fixes 2008-02-03 17:31:49 +02:00
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 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
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 fm2fb: the pseudo_palette is only 16 elements long 2007-07-17 10:23:12 -07:00
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 drivers/video: add missing pci_dev_get 2008-02-06 10:41:16 -08:00
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 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 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 Convert from class_device to device for drivers/video 2007-10-12 14:51:04 -07:00
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 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 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 q40fb: the pseudo_palette is only 16 elements long 2007-07-17 10:23:12 -07:00
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 svgalib: mode selection updates 2007-10-16 09:43:22 -07:00
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 tgafb: remove a redundant non-mono test in mono imageblit 2007-10-16 09:43:23 -07:00
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 some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
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