From: "Antonino A. Daplas" This patch contains cleanups including the following: - make needlessly global code static - remove the needlessly #ifdef MODULE from several module_exit - remove or #if 0 the following unused global functions: - fbmon.c: fb_create_modedb - fbmon.c: fb_get_monitor_limits - nvidia/nv_i2c.c: nvidia_delete_i2c_busses - nvidia/nv_setup.c: NVEnablePalette - nvidia/nv_setup.c: NVReadDacMask - remove the following unneeded EXPORT_SYMBOL's: - fbmon.c: fb_create_modedb - fbmon.c: fb_get_monitor_limits - hgafb.c: hgafb_setup Signed-off-by: Adrian Bunk Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton --- 25-akpm/drivers/video/aty/aty128fb.c | 13 +--- 25-akpm/drivers/video/aty/atyfb.h | 1 25-akpm/drivers/video/aty/atyfb_base.c | 14 ++--- 25-akpm/drivers/video/aty/mach64_ct.c | 7 +- 25-akpm/drivers/video/aty/mach64_cursor.c | 2 25-akpm/drivers/video/aty/radeon_base.c | 46 ++++++++--------- 25-akpm/drivers/video/aty/radeon_pm.c | 4 - 25-akpm/drivers/video/aty/radeonfb.h | 1 25-akpm/drivers/video/backlight/backlight.c | 2 25-akpm/drivers/video/backlight/lcd.c | 2 25-akpm/drivers/video/cyber2000fb.c | 6 +- 25-akpm/drivers/video/fbmem.c | 9 +-- 25-akpm/drivers/video/fbmon.c | 14 ----- 25-akpm/drivers/video/geode/gx1fb_core.c | 4 - 25-akpm/drivers/video/hgafb.c | 14 +---- 25-akpm/drivers/video/i810/i810_main.c | 2 25-akpm/drivers/video/imsttfb.c | 7 +- 25-akpm/drivers/video/intelfb/intelfbdrv.c | 73 ++++++++++++---------------- 25-akpm/drivers/video/intelfb/intelfbdrv.h | 2 25-akpm/drivers/video/neofb.c | 16 +++--- 25-akpm/drivers/video/nvidia/nv_accel.c | 4 - 25-akpm/drivers/video/nvidia/nv_i2c.c | 2 25-akpm/drivers/video/nvidia/nv_of.c | 1 25-akpm/drivers/video/nvidia/nv_proto.h | 5 - 25-akpm/drivers/video/nvidia/nv_setup.c | 4 + 25-akpm/drivers/video/nvidia/nvidia.c | 4 - 25-akpm/drivers/video/pm2fb.c | 60 ++++++++--------------- 25-akpm/drivers/video/radeonfb.c | 44 +++++++--------- 25-akpm/drivers/video/riva/fbdev.c | 8 +-- 25-akpm/drivers/video/tdfxfb.c | 51 ++++++++----------- 25-akpm/drivers/video/vesafb.c | 12 ---- 25-akpm/drivers/video/vfb.c | 12 +--- 25-akpm/include/linux/fb.h | 3 - 33 files changed, 190 insertions(+), 259 deletions(-) diff -puN drivers/video/aty/aty128fb.c~fbdev-cleanups-in-driver-video drivers/video/aty/aty128fb.c --- 25/drivers/video/aty/aty128fb.c~fbdev-cleanups-in-driver-video Sun Mar 6 17:18:11 2005 +++ 25-akpm/drivers/video/aty/aty128fb.c Sun Mar 6 17:18:11 2005 @@ -425,11 +425,6 @@ struct aty128fb_par { #define round_div(n, d) ((n+(d/2))/d) - /* - * Interface used by the world - */ -int aty128fb_init(void); - static int aty128fb_check_var(struct fb_var_screeninfo *var, struct fb_info *info); static int aty128fb_set_par(struct fb_info *info); @@ -1648,7 +1643,8 @@ static int aty128fb_sync(struct fb_info return 0; } -int __init aty128fb_setup(char *options) +#ifndef MODULE +static int __init aty128fb_setup(char *options) { char *this_opt; @@ -1701,6 +1697,7 @@ int __init aty128fb_setup(char *options) } return 0; } +#endif /* MODULE */ /* @@ -2454,7 +2451,7 @@ static int aty128_pci_resume(struct pci_ } -int __init aty128fb_init(void) +static int __init aty128fb_init(void) { #ifndef MODULE char *option = NULL; @@ -2474,7 +2471,6 @@ static void __exit aty128fb_exit(void) module_init(aty128fb_init); -#ifdef MODULE module_exit(aty128fb_exit); MODULE_AUTHOR("(c)1999-2003 Brad Douglas "); @@ -2486,5 +2482,4 @@ MODULE_PARM_DESC(mode_option, "Specify r module_param_named(nomtrr, mtrr, invbool, 0); MODULE_PARM_DESC(nomtrr, "bool: Disable MTRR support (0 or 1=disabled) (default=0)"); #endif -#endif diff -puN drivers/video/aty/atyfb_base.c~fbdev-cleanups-in-driver-video drivers/video/aty/atyfb_base.c --- 25/drivers/video/aty/atyfb_base.c~fbdev-cleanups-in-driver-video Sun Mar 6 17:18:11 2005 +++ 25-akpm/drivers/video/aty/atyfb_base.c Sun Mar 6 17:18:11 2005 @@ -265,7 +265,7 @@ static int read_aty_sense(const struct a * Interface used by the world */ -struct fb_var_screeninfo default_var = { +static struct fb_var_screeninfo default_var = { /* 640x480, 60 Hz, Non-Interlaced (25.175 MHz dotclock) */ 640, 480, 640, 480, 0, 0, 8, 0, {0, 8, 0}, {0, 8, 0}, {0, 8, 0}, {0, 0, 0}, @@ -2990,7 +2990,7 @@ static int __devinit atyfb_setup_sparc(s #ifdef __i386__ #ifdef CONFIG_FB_ATY_GENERIC_LCD -void aty_init_lcd(struct atyfb_par *par, u32 bios_base) +static void aty_init_lcd(struct atyfb_par *par, u32 bios_base) { u32 driv_inf_tab, sig; u16 lcd_ofs; @@ -3589,7 +3589,8 @@ static struct pci_driver atyfb_driver = #endif /* CONFIG_PCI */ -int __init atyfb_setup(char *options) +#ifndef MODULE +static int __init atyfb_setup(char *options) { char *this_opt; @@ -3657,8 +3658,9 @@ int __init atyfb_setup(char *options) } return 0; } +#endif /* MODULE */ -int __init atyfb_init(void) +static int __init atyfb_init(void) { #ifndef MODULE char *option = NULL; @@ -3677,7 +3679,7 @@ int __init atyfb_init(void) return 0; } -void __exit atyfb_exit(void) +static void __exit atyfb_exit(void) { #ifdef CONFIG_PCI pci_unregister_driver(&atyfb_driver); @@ -3685,9 +3687,7 @@ void __exit atyfb_exit(void) } module_init(atyfb_init); -#ifdef MODULE module_exit(atyfb_exit); -#endif MODULE_DESCRIPTION("FBDev driver for ATI Mach64 cards"); MODULE_LICENSE("GPL"); diff -puN drivers/video/aty/atyfb.h~fbdev-cleanups-in-driver-video drivers/video/aty/atyfb.h --- 25/drivers/video/aty/atyfb.h~fbdev-cleanups-in-driver-video Sun Mar 6 17:18:11 2005 +++ 25-akpm/drivers/video/aty/atyfb.h Sun Mar 6 17:18:11 2005 @@ -334,7 +334,6 @@ extern u8 aty_ld_pll_ct(int offset, cons */ extern int aty_init_cursor(struct fb_info *info); -extern int atyfb_cursor(struct fb_info *info, struct fb_cursor *cursor); /* * Hardware acceleration diff -puN drivers/video/aty/mach64_ct.c~fbdev-cleanups-in-driver-video drivers/video/aty/mach64_ct.c --- 25/drivers/video/aty/mach64_ct.c~fbdev-cleanups-in-driver-video Sun Mar 6 17:18:11 2005 +++ 25-akpm/drivers/video/aty/mach64_ct.c Sun Mar 6 17:18:11 2005 @@ -359,7 +359,8 @@ void aty_set_pll_ct(const struct fb_info #endif } -void __init aty_get_pll_ct(const struct fb_info *info, union aty_pll *pll) +static void __init aty_get_pll_ct(const struct fb_info *info, + union aty_pll *pll) { struct atyfb_par *par = (struct atyfb_par *) info->par; u8 tmp, clock; @@ -382,7 +383,9 @@ void __init aty_get_pll_ct(const struct } } -int __init aty_init_pll_ct(const struct fb_info *info, union aty_pll *pll) { +static int __init aty_init_pll_ct(const struct fb_info *info, + union aty_pll *pll) +{ struct atyfb_par *par = (struct atyfb_par *) info->par; u8 mpost_div, xpost_div, sclk_post_div_real, sclk_fb_div, spll_cntl2; u32 q, i, memcntl, trp; diff -puN drivers/video/aty/mach64_cursor.c~fbdev-cleanups-in-driver-video drivers/video/aty/mach64_cursor.c --- 25/drivers/video/aty/mach64_cursor.c~fbdev-cleanups-in-driver-video Sun Mar 6 17:18:11 2005 +++ 25-akpm/drivers/video/aty/mach64_cursor.c Sun Mar 6 17:18:11 2005 @@ -71,7 +71,7 @@ static const u8 cursor_mask_lookup[16] = 0xa8, 0x28, 0x88, 0x08, 0xa0, 0x20, 0x80, 0x00 }; -int atyfb_cursor(struct fb_info *info, struct fb_cursor *cursor) +static int atyfb_cursor(struct fb_info *info, struct fb_cursor *cursor) { struct atyfb_par *par = (struct atyfb_par *) info->par; u16 xoff, yoff; diff -puN drivers/video/aty/radeon_base.c~fbdev-cleanups-in-driver-video drivers/video/aty/radeon_base.c --- 25/drivers/video/aty/radeon_base.c~fbdev-cleanups-in-driver-video Sun Mar 6 17:18:11 2005 +++ 25-akpm/drivers/video/aty/radeon_base.c Sun Mar 6 17:18:11 2005 @@ -1139,7 +1139,8 @@ static int radeonfb_setcolreg (unsigned } -void radeon_save_state (struct radeonfb_info *rinfo, struct radeon_regs *save) +static void radeon_save_state (struct radeonfb_info *rinfo, + struct radeon_regs *save) { /* CRTC regs */ save->crtc_gen_cntl = INREG(CRTC_GEN_CNTL); @@ -2486,27 +2487,8 @@ static struct pci_driver radeonfb_driver #endif /* CONFIG_PM */ }; -int __init radeonfb_setup (char *options); - -int __init radeonfb_init (void) -{ #ifndef MODULE - char *option = NULL; - - if (fb_get_options("radeonfb", &option)) - return -ENODEV; - radeonfb_setup(option); -#endif - return pci_module_init (&radeonfb_driver); -} - - -void __exit radeonfb_exit (void) -{ - pci_unregister_driver (&radeonfb_driver); -} - -int __init radeonfb_setup (char *options) +static int __init radeonfb_setup (char *options) { char *this_opt; @@ -2540,12 +2522,28 @@ int __init radeonfb_setup (char *options } return 0; } +#endif /* MODULE */ -module_init(radeonfb_init); +static int __init radeonfb_init (void) +{ +#ifndef MODULE + char *option = NULL; -#ifdef MODULE -module_exit(radeonfb_exit); + if (fb_get_options("radeonfb", &option)) + return -ENODEV; + radeonfb_setup(option); #endif + return pci_module_init (&radeonfb_driver); +} + + +static void __exit radeonfb_exit (void) +{ + pci_unregister_driver (&radeonfb_driver); +} + +module_init(radeonfb_init); +module_exit(radeonfb_exit); MODULE_AUTHOR("Ani Joshi"); MODULE_DESCRIPTION("framebuffer driver for ATI Radeon chipset"); diff -puN drivers/video/aty/radeonfb.h~fbdev-cleanups-in-driver-video drivers/video/aty/radeonfb.h --- 25/drivers/video/aty/radeonfb.h~fbdev-cleanups-in-driver-video Sun Mar 6 17:18:11 2005 +++ 25-akpm/drivers/video/aty/radeonfb.h Sun Mar 6 17:18:11 2005 @@ -647,7 +647,6 @@ extern void radeonfb_engine_reset(struct /* Other functions */ extern int radeon_screen_blank(struct radeonfb_info *rinfo, int blank, int mode_switch); -extern void radeon_save_state (struct radeonfb_info *rinfo, struct radeon_regs *save); extern void radeon_write_mode (struct radeonfb_info *rinfo, struct radeon_regs *mode, int reg_only); diff -puN drivers/video/aty/radeon_pm.c~fbdev-cleanups-in-driver-video drivers/video/aty/radeon_pm.c --- 25/drivers/video/aty/radeon_pm.c~fbdev-cleanups-in-driver-video Sun Mar 6 17:18:11 2005 +++ 25-akpm/drivers/video/aty/radeon_pm.c Sun Mar 6 17:18:11 2005 @@ -27,7 +27,7 @@ #include "ati_ids.h" -void radeon_pm_disable_dynamic_mode(struct radeonfb_info *rinfo) +static void radeon_pm_disable_dynamic_mode(struct radeonfb_info *rinfo) { u32 tmp; @@ -229,7 +229,7 @@ void radeon_pm_disable_dynamic_mode(stru radeon_msleep(16); } -void radeon_pm_enable_dynamic_mode(struct radeonfb_info *rinfo) +static void radeon_pm_enable_dynamic_mode(struct radeonfb_info *rinfo) { u32 tmp; diff -puN drivers/video/backlight/backlight.c~fbdev-cleanups-in-driver-video drivers/video/backlight/backlight.c --- 25/drivers/video/backlight/backlight.c~fbdev-cleanups-in-driver-video Sun Mar 6 17:18:11 2005 +++ 25-akpm/drivers/video/backlight/backlight.c Sun Mar 6 17:18:11 2005 @@ -111,7 +111,7 @@ static void backlight_class_release(stru kfree(bd); } -struct class backlight_class = { +static struct class backlight_class = { .name = "backlight", .release = backlight_class_release, }; diff -puN drivers/video/backlight/lcd.c~fbdev-cleanups-in-driver-video drivers/video/backlight/lcd.c --- 25/drivers/video/backlight/lcd.c~fbdev-cleanups-in-driver-video Sun Mar 6 17:18:11 2005 +++ 25-akpm/drivers/video/backlight/lcd.c Sun Mar 6 17:18:11 2005 @@ -111,7 +111,7 @@ static void lcd_class_release(struct cla kfree(ld); } -struct class lcd_class = { +static struct class lcd_class = { .name = "lcd", .release = lcd_class_release, }; diff -puN drivers/video/cyber2000fb.c~fbdev-cleanups-in-driver-video drivers/video/cyber2000fb.c --- 25/drivers/video/cyber2000fb.c~fbdev-cleanups-in-driver-video Sun Mar 6 17:18:11 2005 +++ 25-akpm/drivers/video/cyber2000fb.c Sun Mar 6 17:18:11 2005 @@ -1306,7 +1306,8 @@ cyberpro_free_fb_info(struct cfb_info *c * Parse Cyber2000fb options. Usage: * video=cyber2000:font:fontname */ -int +#ifndef MODULE +static int cyber2000fb_setup(char *options) { char *opt; @@ -1328,6 +1329,7 @@ cyber2000fb_setup(char *options) } return 0; } +#endif /* MODULE */ /* * The CyberPro chips can be placed on many different bus types. @@ -1717,7 +1719,7 @@ static struct pci_driver cyberpro_driver * * Tony: "module_init" is now required */ -int __init cyber2000fb_init(void) +static int __init cyber2000fb_init(void) { int ret = -1, err; diff -puN drivers/video/fbmem.c~fbdev-cleanups-in-driver-video drivers/video/fbmem.c --- 25/drivers/video/fbmem.c~fbdev-cleanups-in-driver-video Sun Mar 6 17:18:11 2005 +++ 25-akpm/drivers/video/fbmem.c Sun Mar 6 17:18:11 2005 @@ -1189,7 +1189,7 @@ void fb_set_suspend(struct fb_info *info * */ -int __init +static int __init fbmem_init(void) { create_proc_read_entry("fb", 0, NULL, fbmem_read_proc, NULL); @@ -1206,20 +1206,19 @@ fbmem_init(void) return 0; } -void __exit +#ifdef MODULE +module_init(fbmem_init); +static void __exit fbmem_exit(void) { class_simple_destroy(fb_class); } -#ifdef MODULE -module_init(fbmem_init); module_exit(fbmem_exit); MODULE_LICENSE("GPL"); MODULE_DESCRIPTION("Framebuffer base"); #else subsys_initcall(fbmem_init); -subsys_exitcall(fbmem_exit); #endif int fb_new_modelist(struct fb_info *info) diff -puN drivers/video/fbmon.c~fbdev-cleanups-in-driver-video drivers/video/fbmon.c --- 25/drivers/video/fbmon.c~fbdev-cleanups-in-driver-video Sun Mar 6 17:18:11 2005 +++ 25-akpm/drivers/video/fbmon.c Sun Mar 6 17:18:11 2005 @@ -518,7 +518,7 @@ static void get_detailed_timing(unsigned * This function builds a mode database using the contents of the EDID * data */ -struct fb_videomode *fb_create_modedb(unsigned char *edid, int *dbsize) +static struct fb_videomode *fb_create_modedb(unsigned char *edid, int *dbsize) { struct fb_videomode *mode, *m; unsigned char *block; @@ -593,7 +593,7 @@ void fb_destroy_modedb(struct fb_videomo kfree(modedb); } -int fb_get_monitor_limits(unsigned char *edid, struct fb_monspecs *specs) +static int fb_get_monitor_limits(unsigned char *edid, struct fb_monspecs *specs) { int i, retval = 1; unsigned char *block; @@ -1197,17 +1197,9 @@ char *get_EDID_from_firmware(struct devi { return NULL; } -struct fb_videomode *fb_create_modedb(unsigned char *edid, int *dbsize) -{ - return NULL; -} void fb_destroy_modedb(struct fb_videomode *modedb) { } -int fb_get_monitor_limits(unsigned char *edid, struct fb_monspecs *specs) -{ - return 1; -} int fb_get_mode(int flags, u32 val, struct fb_var_screeninfo *var, struct fb_info *info) { @@ -1282,6 +1274,4 @@ EXPORT_SYMBOL(get_EDID_from_firmware); EXPORT_SYMBOL(fb_get_mode); EXPORT_SYMBOL(fb_validate_mode); -EXPORT_SYMBOL(fb_create_modedb); EXPORT_SYMBOL(fb_destroy_modedb); -EXPORT_SYMBOL(fb_get_monitor_limits); diff -puN drivers/video/geode/gx1fb_core.c~fbdev-cleanups-in-driver-video drivers/video/geode/gx1fb_core.c --- 25/drivers/video/geode/gx1fb_core.c~fbdev-cleanups-in-driver-video Sun Mar 6 17:18:11 2005 +++ 25-akpm/drivers/video/geode/gx1fb_core.c Sun Mar 6 17:18:11 2005 @@ -264,9 +264,9 @@ static struct fb_info * __init gx1fb_ini } -struct fb_info *gx1fb_info; +static struct fb_info *gx1fb_info; -int __init gx1fb_init(void) +static int __init gx1fb_init(void) { struct fb_info *info; struct geodefb_par *par; diff -puN drivers/video/hgafb.c~fbdev-cleanups-in-driver-video drivers/video/hgafb.c --- 25/drivers/video/hgafb.c~fbdev-cleanups-in-driver-video Sun Mar 6 17:18:11 2005 +++ 25-akpm/drivers/video/hgafb.c Sun Mar 6 17:18:11 2005 @@ -412,7 +412,8 @@ static int hgafb_setcolreg(u_int regno, * A zero is returned on success and %-EINVAL for failure. */ -int hgafb_pan_display(struct fb_var_screeninfo *var, struct fb_info *info) +static int hgafb_pan_display(struct fb_var_screeninfo *var, + struct fb_info *info) { if (var->vmode & FB_VMODE_YWRAP) { if (var->yoffset < 0 || @@ -548,7 +549,7 @@ static struct fb_ops hgafb_ops = { * Initialization */ -int __init hgafb_init(void) +static int __init hgafb_init(void) { if (fb_get_options("hgafb", NULL)) return -ENODEV; @@ -587,15 +588,6 @@ int __init hgafb_init(void) return 0; } - /* - * Setup - */ - -int __init hgafb_setup(char *options) -{ - return 0; -} - #ifdef MODULE static void __exit hgafb_exit(void) { diff -puN drivers/video/i810/i810_main.c~fbdev-cleanups-in-driver-video drivers/video/i810/i810_main.c --- 25/drivers/video/i810/i810_main.c~fbdev-cleanups-in-driver-video Sun Mar 6 17:18:11 2005 +++ 25-akpm/drivers/video/i810/i810_main.c Sun Mar 6 17:18:11 2005 @@ -1995,7 +1995,7 @@ int __init i810fb_init(void) #ifdef MODULE -int __init i810fb_init(void) +static int __init i810fb_init(void) { hsync1 *= 1000; hsync2 *= 1000; diff -puN drivers/video/imsttfb.c~fbdev-cleanups-in-driver-video drivers/video/imsttfb.c --- 25/drivers/video/imsttfb.c~fbdev-cleanups-in-driver-video Sun Mar 6 17:18:11 2005 +++ 25-akpm/drivers/video/imsttfb.c Sun Mar 6 17:18:11 2005 @@ -1547,7 +1547,7 @@ imsttfb_remove(struct pci_dev *pdev) } #ifndef MODULE -int __init +static int __init imsttfb_setup(char *options) { char *this_opt; @@ -1601,7 +1601,7 @@ imsttfb_setup(char *options) #endif /* MODULE */ -int __init imsttfb_init(void) +static int __init imsttfb_init(void) { #ifndef MODULE char *option = NULL; @@ -1619,9 +1619,8 @@ static void __exit imsttfb_exit(void) pci_unregister_driver(&imsttfb_pci_driver); } -#ifdef MODULE MODULE_LICENSE("GPL"); -#endif + module_init(imsttfb_init); module_exit(imsttfb_exit); diff -puN drivers/video/intelfb/intelfbdrv.c~fbdev-cleanups-in-driver-video drivers/video/intelfb/intelfbdrv.c --- 25/drivers/video/intelfb/intelfbdrv.c~fbdev-cleanups-in-driver-video Sun Mar 6 17:18:11 2005 +++ 25-akpm/drivers/video/intelfb/intelfbdrv.c Sun Mar 6 17:18:11 2005 @@ -227,42 +227,6 @@ MODULE_PARM_DESC(bailearly, "Bail out ea module_param(mode, charp, S_IRUGO); MODULE_PARM_DESC(mode, "Initial video mode \"x[-][@]\""); -/*************************************************************** - * modules entry points * - ***************************************************************/ - -/* module load/unload entry points */ -int __init -intelfb_init(void) -{ -#ifndef MODULE - char *option = NULL; -#endif - - DBG_MSG("intelfb_init\n"); - - INF_MSG("Framebuffer driver for " - "Intel(R) " SUPPORTED_CHIPSETS " chipsets\n"); - INF_MSG("Version " INTELFB_VERSION "\n"); - - if (idonly) - return -ENODEV; - -#ifndef MODULE - if (fb_get_options("intelfb", &option)) - return -ENODEV; - intelfb_setup(option); -#endif - - return pci_module_init(&intelfb_driver); -} - -static void __exit -intelfb_exit(void) -{ - DBG_MSG("intelfb_exit\n"); - pci_unregister_driver(&intelfb_driver); -} #ifndef MODULE #define OPT_EQUAL(opt, name) (!strncmp(opt, name, strlen(name))) @@ -322,7 +286,7 @@ get_opt_bool(const char *this_opt, const return 1; } -int __init +static int __init intelfb_setup(char *options) { char *this_opt; @@ -374,12 +338,41 @@ intelfb_setup(char *options) #endif -module_init(intelfb_init); +static int __init +intelfb_init(void) +{ +#ifndef MODULE + char *option = NULL; +#endif -#ifdef MODULE -module_exit(intelfb_exit); + DBG_MSG("intelfb_init\n"); + + INF_MSG("Framebuffer driver for " + "Intel(R) " SUPPORTED_CHIPSETS " chipsets\n"); + INF_MSG("Version " INTELFB_VERSION "\n"); + + if (idonly) + return -ENODEV; + +#ifndef MODULE + if (fb_get_options("intelfb", &option)) + return -ENODEV; + intelfb_setup(option); #endif + return pci_module_init(&intelfb_driver); +} + +static void __exit +intelfb_exit(void) +{ + DBG_MSG("intelfb_exit\n"); + pci_unregister_driver(&intelfb_driver); +} + +module_init(intelfb_init); +module_exit(intelfb_exit); + /*************************************************************** * mtrr support functions * ***************************************************************/ diff -puN drivers/video/intelfb/intelfbdrv.h~fbdev-cleanups-in-driver-video drivers/video/intelfb/intelfbdrv.h --- 25/drivers/video/intelfb/intelfbdrv.h~fbdev-cleanups-in-driver-video Sun Mar 6 17:18:11 2005 +++ 25-akpm/drivers/video/intelfb/intelfbdrv.h Sun Mar 6 17:18:11 2005 @@ -28,7 +28,7 @@ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -int __init intelfb_setup(char *options); +static int __init intelfb_setup(char *options); static void __devinit get_initial_mode(struct intelfb_info *dinfo); static void update_dinfo(struct intelfb_info *dinfo, struct fb_var_screeninfo *var); diff -puN drivers/video/neofb.c~fbdev-cleanups-in-driver-video drivers/video/neofb.c --- 25/drivers/video/neofb.c~fbdev-cleanups-in-driver-video Sun Mar 6 17:18:11 2005 +++ 25-akpm/drivers/video/neofb.c Sun Mar 6 17:18:11 2005 @@ -400,21 +400,21 @@ static void neoUnlock(void) */ static int paletteEnabled = 0; -inline void VGAenablePalette(void) +static inline void VGAenablePalette(void) { vga_r(NULL, VGA_IS1_RC); vga_w(NULL, VGA_ATT_W, 0x00); paletteEnabled = 1; } -inline void VGAdisablePalette(void) +static inline void VGAdisablePalette(void) { vga_r(NULL, VGA_IS1_RC); vga_w(NULL, VGA_ATT_W, 0x20); paletteEnabled = 0; } -inline void VGAwATTR(u8 index, u8 value) +static inline void VGAwATTR(u8 index, u8 value) { if (paletteEnabled) index &= ~0x20; @@ -425,7 +425,7 @@ inline void VGAwATTR(u8 index, u8 value) vga_wattr(NULL, index, value); } -void vgaHWProtect(int on) +static void vgaHWProtect(int on) { unsigned char tmp; @@ -1315,7 +1315,7 @@ static int neofb_setcolreg(u_int regno, /* * (Un)Blank the display. */ -int neofb_blank(int blank_mode, struct fb_info *info) +static int neofb_blank(int blank_mode, struct fb_info *info) { /* * Blank the screen if blank_mode != 0, else unblank. @@ -2230,7 +2230,8 @@ static struct pci_driver neofb_driver = /* ************************* init in-kernel code ************************** */ -int __init neofb_setup(char *options) +#ifndef MODULE +static int __init neofb_setup(char *options) { char *this_opt; @@ -2258,8 +2259,9 @@ int __init neofb_setup(char *options) } return 0; } +#endif /* MODULE */ -int __init neofb_init(void) +static int __init neofb_init(void) { #ifndef MODULE char *option = NULL; diff -puN drivers/video/nvidia/nv_accel.c~fbdev-cleanups-in-driver-video drivers/video/nvidia/nv_accel.c --- 25/drivers/video/nvidia/nv_accel.c~fbdev-cleanups-in-driver-video Sun Mar 6 17:18:11 2005 +++ 25-akpm/drivers/video/nvidia/nv_accel.c Sun Mar 6 17:18:11 2005 @@ -55,7 +55,7 @@ static inline void NVSync(struct nvidia_ } } -void NVDmaKickoff(struct nvidia_par *par) +static void NVDmaKickoff(struct nvidia_par *par) { if (par->dmaCurrent != par->dmaPut) { par->dmaPut = par->dmaCurrent; @@ -63,7 +63,7 @@ void NVDmaKickoff(struct nvidia_par *par } } -void NVDmaWait(struct nvidia_par *par, int size) +static void NVDmaWait(struct nvidia_par *par, int size) { int dmaGet; int count = 1000000000, cnt; diff -puN drivers/video/nvidia/nv_i2c.c~fbdev-cleanups-in-driver-video drivers/video/nvidia/nv_i2c.c --- 25/drivers/video/nvidia/nv_i2c.c~fbdev-cleanups-in-driver-video Sun Mar 6 17:18:11 2005 +++ 25-akpm/drivers/video/nvidia/nv_i2c.c Sun Mar 6 17:18:11 2005 @@ -146,6 +146,7 @@ void nvidia_create_i2c_busses(struct nvi nvidia_setup_i2c_bus(&par->chan[2], "BUS3"); } +#if 0 void nvidia_delete_i2c_busses(struct nvidia_par *par) { if (par->chan[0].par) @@ -161,6 +162,7 @@ void nvidia_delete_i2c_busses(struct nvi par->chan[2].par = NULL; } +#endif /* 0 */ static u8 *nvidia_do_probe_i2c_edid(struct nvidia_i2c_chan *chan) { diff -puN drivers/video/nvidia/nvidia.c~fbdev-cleanups-in-driver-video drivers/video/nvidia/nvidia.c --- 25/drivers/video/nvidia/nvidia.c~fbdev-cleanups-in-driver-video Sun Mar 6 17:18:11 2005 +++ 25-akpm/drivers/video/nvidia/nvidia.c Sun Mar 6 17:18:11 2005 @@ -1614,7 +1614,7 @@ static void __exit nvidiafb_remove(struc * ------------------------------------------------------------------------- */ #ifndef MODULE -int __init nvidiafb_setup(char *options) +static int __init nvidiafb_setup(char *options) { char *this_opt; @@ -1667,7 +1667,7 @@ static struct pci_driver nvidiafb_driver * * ------------------------------------------------------------------------- */ -int __devinit nvidiafb_init(void) +static int __devinit nvidiafb_init(void) { #ifndef MODULE char *option = NULL; diff -puN drivers/video/nvidia/nv_of.c~fbdev-cleanups-in-driver-video drivers/video/nvidia/nv_of.c --- 25/drivers/video/nvidia/nv_of.c~fbdev-cleanups-in-driver-video Sun Mar 6 17:18:11 2005 +++ 25-akpm/drivers/video/nvidia/nv_of.c Sun Mar 6 17:18:11 2005 @@ -28,7 +28,6 @@ #include "nv_proto.h" void nvidia_create_i2c_busses(struct nvidia_par *par) {} -void nvidia_delete_i2c_busses(struct nvidia_par *par) {} int nvidia_probe_i2c_connector(struct nvidia_par *par, int conn, u8 **out_edid) { diff -puN drivers/video/nvidia/nv_proto.h~fbdev-cleanups-in-driver-video drivers/video/nvidia/nv_proto.h --- 25/drivers/video/nvidia/nv_proto.h~fbdev-cleanups-in-driver-video Sun Mar 6 17:18:11 2005 +++ 25-akpm/drivers/video/nvidia/nv_proto.h Sun Mar 6 17:18:11 2005 @@ -15,10 +15,7 @@ void NVWriteAttr(struct nvidia_par *par, u8 NVReadAttr(struct nvidia_par *par, u8 index); void NVWriteMiscOut(struct nvidia_par *par, u8 value); u8 NVReadMiscOut(struct nvidia_par *par); -void NVEnablePalette(struct nvidia_par *par); -void NVDisablePalette(struct nvidia_par *par); void NVWriteDacMask(struct nvidia_par *par, u8 value); -u8 NVReadDacMask(struct nvidia_par *par); void NVWriteDacReadAddr(struct nvidia_par *par, u8 value); void NVWriteDacWriteAddr(struct nvidia_par *par, u8 value); void NVWriteDacData(struct nvidia_par *par, u8 value); @@ -36,12 +33,10 @@ void NVLockUnlock(struct nvidia_par *par /* in nvidia-i2c.c */ #if defined(CONFIG_FB_NVIDIA_I2C) || defined (CONFIG_PPC_OF) void nvidia_create_i2c_busses(struct nvidia_par *par); -void nvidia_delete_i2c_busses(struct nvidia_par *par); int nvidia_probe_i2c_connector(struct nvidia_par *par, int conn, u8 ** out_edid); #else #define nvidia_create_i2c_busses(...) -#define nvidia_delete_i2c_busses(...) #define nvidia_probe_i2c_connector(p, c, edid) \ do { \ *(edid) = NULL; \ diff -puN drivers/video/nvidia/nv_setup.c~fbdev-cleanups-in-driver-video drivers/video/nvidia/nv_setup.c --- 25/drivers/video/nvidia/nv_setup.c~fbdev-cleanups-in-driver-video Sun Mar 6 17:18:11 2005 +++ 25-akpm/drivers/video/nvidia/nv_setup.c Sun Mar 6 17:18:11 2005 @@ -108,6 +108,7 @@ u8 NVReadMiscOut(struct nvidia_par *par) { return (VGA_RD08(par->PVIO, VGA_MIS_R)); } +#if 0 void NVEnablePalette(struct nvidia_par *par) { volatile u8 tmp; @@ -124,14 +125,17 @@ void NVDisablePalette(struct nvidia_par VGA_WR08(par->PCIO, VGA_ATT_IW, 0x20); par->paletteEnabled = 0; } +#endif /* 0 */ void NVWriteDacMask(struct nvidia_par *par, u8 value) { VGA_WR08(par->PDIO, VGA_PEL_MSK, value); } +#if 0 u8 NVReadDacMask(struct nvidia_par *par) { return (VGA_RD08(par->PDIO, VGA_PEL_MSK)); } +#endif /* 0 */ void NVWriteDacReadAddr(struct nvidia_par *par, u8 value) { VGA_WR08(par->PDIO, VGA_PEL_IR, value); diff -puN drivers/video/pm2fb.c~fbdev-cleanups-in-driver-video drivers/video/pm2fb.c --- 25/drivers/video/pm2fb.c~fbdev-cleanups-in-driver-video Sun Mar 6 17:18:11 2005 +++ 25-akpm/drivers/video/pm2fb.c Sun Mar 6 17:18:11 2005 @@ -1243,47 +1243,13 @@ static struct pci_driver pm2fb_driver = MODULE_DEVICE_TABLE(pci, pm2fb_id_table); -/* - * Initialization - */ - -int __init pm2fb_setup(char *options); - -int __init pm2fb_init(void) -{ -#ifndef MODULE - char *option = NULL; - - if (fb_get_options("pm2fb", &option)) - return -ENODEV; - pm2fb_setup(option); -#endif - - return pci_module_init(&pm2fb_driver); -} - -#ifdef MODULE -/* - * Cleanup - */ - -static void __exit pm2fb_exit(void) -{ - pci_unregister_driver(&pm2fb_driver); -} -#endif - -/* - * Setup - */ - #ifndef MODULE /** * Parse user speficied options. * * This is, comma-separated options following `video=pm2fb:'. */ -int __init pm2fb_setup(char *options) +static int __init pm2fb_setup(char *options) { char* this_opt; @@ -1306,15 +1272,33 @@ int __init pm2fb_setup(char *options) #endif -/* ------------------------------------------------------------------------- */ - -/* ------------------------------------------------------------------------- */ +static int __init pm2fb_init(void) +{ +#ifndef MODULE + char *option = NULL; + if (fb_get_options("pm2fb", &option)) + return -ENODEV; + pm2fb_setup(option); +#endif + return pci_module_init(&pm2fb_driver); +} module_init(pm2fb_init); #ifdef MODULE +/* + * Cleanup + */ + +static void __exit pm2fb_exit(void) +{ + pci_unregister_driver(&pm2fb_driver); +} +#endif + +#ifdef MODULE module_exit(pm2fb_exit); module_param(mode, charp, 0); diff -puN drivers/video/radeonfb.c~fbdev-cleanups-in-driver-video drivers/video/radeonfb.c --- 25/drivers/video/radeonfb.c~fbdev-cleanups-in-driver-video Sun Mar 6 17:18:11 2005 +++ 25-akpm/drivers/video/radeonfb.c Sun Mar 6 17:18:11 2005 @@ -3109,28 +3109,8 @@ static struct pci_driver radeonfb_driver .remove = __devexit_p(radeonfb_pci_unregister), }; -int __init radeonfb_old_setup (char *options); - -int __init radeonfb_old_init (void) -{ #ifndef MODULE - char *option = NULL; - - if (fb_get_options("radeonfb_old", &option)) - return -ENODEV; - radeonfb_old_setup(option); -#endif - return pci_module_init (&radeonfb_driver); -} - - -void __exit radeonfb_old_exit (void) -{ - pci_unregister_driver (&radeonfb_driver); -} - - -int __init radeonfb_old_setup (char *options) +static int __init radeonfb_old_setup (char *options) { char *this_opt; @@ -3156,12 +3136,28 @@ int __init radeonfb_old_setup (char *opt return 0; } +#endif /* MODULE */ -module_init(radeonfb_old_init); +static int __init radeonfb_old_init (void) +{ +#ifndef MODULE + char *option = NULL; -#ifdef MODULE -module_exit(radeonfb_old_exit); + if (fb_get_options("radeonfb_old", &option)) + return -ENODEV; + radeonfb_old_setup(option); #endif + return pci_module_init (&radeonfb_driver); +} + + +static void __exit radeonfb_old_exit (void) +{ + pci_unregister_driver (&radeonfb_driver); +} + +module_init(radeonfb_old_init); +module_exit(radeonfb_old_exit); MODULE_AUTHOR("Ani Joshi"); diff -puN drivers/video/riva/fbdev.c~fbdev-cleanups-in-driver-video drivers/video/riva/fbdev.c --- 25/drivers/video/riva/fbdev.c~fbdev-cleanups-in-driver-video Sun Mar 6 17:18:11 2005 +++ 25-akpm/drivers/video/riva/fbdev.c Sun Mar 6 17:18:11 2005 @@ -906,7 +906,7 @@ riva_set_pattern(struct riva_par *par, i } /* acceleration routines */ -inline void wait_for_idle(struct riva_par *par) +static inline void wait_for_idle(struct riva_par *par) { while (par->riva.Busy(&par->riva)); } @@ -923,7 +923,7 @@ riva_set_rop_solid(struct riva_par *par, } -void riva_setup_accel(struct fb_info *info) +static void riva_setup_accel(struct fb_info *info) { struct riva_par *par = (struct riva_par *) info->par; @@ -2139,7 +2139,7 @@ static void __exit rivafb_remove(struct * ------------------------------------------------------------------------- */ #ifndef MODULE -int __init rivafb_setup(char *options) +static int __init rivafb_setup(char *options) { char *this_opt; @@ -2189,7 +2189,7 @@ static struct pci_driver rivafb_driver = * * ------------------------------------------------------------------------- */ -int __devinit rivafb_init(void) +static int __devinit rivafb_init(void) { #ifndef MODULE char *option = NULL; diff -puN drivers/video/tdfxfb.c~fbdev-cleanups-in-driver-video drivers/video/tdfxfb.c --- 25/drivers/video/tdfxfb.c~fbdev-cleanups-in-driver-video Sun Mar 6 17:18:11 2005 +++ 25-akpm/drivers/video/tdfxfb.c Sun Mar 6 17:18:11 2005 @@ -154,9 +154,6 @@ MODULE_DEVICE_TABLE(pci, tdfxfb_id_table /* * Frame buffer device API */ -int tdfxfb_init(void); -void tdfxfb_setup(char *options); - static int tdfxfb_check_var(struct fb_var_screeninfo *var, struct fb_info *fb); static int tdfxfb_set_par(struct fb_info *info); static int tdfxfb_setcolreg(u_int regno, u_int red, u_int green, u_int blue, @@ -1292,6 +1289,28 @@ out_err: return -ENXIO; } +#ifndef MODULE +void tdfxfb_setup(char *options) +{ + char* this_opt; + + if (!options || !*options) + return; + + while ((this_opt = strsep(&options, ",")) != NULL) { + if (!*this_opt) + continue; + if(!strcmp(this_opt, "nopan")) { + nopan = 1; + } else if(!strcmp(this_opt, "nowrap")) { + nowrap = 1; + } else { + mode_option = this_opt; + } + } +} +#endif + /** * tdfxfb_remove - Device removal * @@ -1321,7 +1340,7 @@ static void __devexit tdfxfb_remove(stru framebuffer_release(info); } -int __init tdfxfb_init(void) +static int __init tdfxfb_init(void) { #ifndef MODULE char *option = NULL; @@ -1345,27 +1364,3 @@ MODULE_LICENSE("GPL"); module_init(tdfxfb_init); module_exit(tdfxfb_exit); - - -#ifndef MODULE -void tdfxfb_setup(char *options) -{ - char* this_opt; - - if (!options || !*options) - return; - - while ((this_opt = strsep(&options, ",")) != NULL) { - if (!*this_opt) - continue; - if(!strcmp(this_opt, "nopan")) { - nopan = 1; - } else if(!strcmp(this_opt, "nowrap")) { - nowrap = 1; - } else { - mode_option = this_opt; - } - } -} -#endif - diff -puN drivers/video/vesafb.c~fbdev-cleanups-in-driver-video drivers/video/vesafb.c --- 25/drivers/video/vesafb.c~fbdev-cleanups-in-driver-video Sun Mar 6 17:18:11 2005 +++ 25-akpm/drivers/video/vesafb.c Sun Mar 6 17:18:11 2005 @@ -185,7 +185,7 @@ static struct fb_ops vesafb_ops = { .fb_cursor = soft_cursor, }; -int __init vesafb_setup(char *options) +static int __init vesafb_setup(char *options) { char *this_opt; @@ -434,7 +434,7 @@ static struct platform_device vesafb_dev .name = "vesafb", }; -int __init vesafb_init(void) +static int __init vesafb_init(void) { int ret; char *option = NULL; @@ -453,12 +453,4 @@ int __init vesafb_init(void) } module_init(vesafb_init); -/* - * Overrides for Emacs so that we follow Linus's tabbing style. - * --------------------------------------------------------------------------- - * Local variables: - * c-basic-offset: 8 - * End: - */ - MODULE_LICENSE("GPL"); diff -puN drivers/video/vfb.c~fbdev-cleanups-in-driver-video drivers/video/vfb.c --- 25/drivers/video/vfb.c~fbdev-cleanups-in-driver-video Sun Mar 6 17:18:11 2005 +++ 25-akpm/drivers/video/vfb.c Sun Mar 6 17:18:11 2005 @@ -72,12 +72,6 @@ static struct fb_fix_screeninfo vfb_fix static int vfb_enable __initdata = 0; /* disabled by default */ module_param(vfb_enable, bool, 0); - /* - * Interface used by the world - */ -int vfb_init(void); -int vfb_setup(char *); - static int vfb_check_var(struct fb_var_screeninfo *var, struct fb_info *info); static int vfb_set_par(struct fb_info *info); @@ -379,7 +373,8 @@ static int vfb_mmap(struct fb_info *info return -EINVAL; } -int __init vfb_setup(char *options) +#ifndef MODULE +static int __init vfb_setup(char *options) { char *this_opt; @@ -396,6 +391,7 @@ int __init vfb_setup(char *options) } return 1; } +#endif /* MODULE */ /* * Initialisation @@ -492,7 +488,7 @@ static struct platform_device vfb_device } }; -int __init vfb_init(void) +static int __init vfb_init(void) { int ret = 0; diff -puN include/linux/fb.h~fbdev-cleanups-in-driver-video include/linux/fb.h --- 25/include/linux/fb.h~fbdev-cleanups-in-driver-video Sun Mar 6 17:18:11 2005 +++ 25-akpm/include/linux/fb.h Sun Mar 6 17:18:11 2005 @@ -864,10 +864,7 @@ extern int fb_get_mode(int flags, u32 va extern int fb_validate_mode(const struct fb_var_screeninfo *var, struct fb_info *info); extern int fb_parse_edid(unsigned char *edid, struct fb_var_screeninfo *var); -extern int fb_get_monitor_limits(unsigned char *edid, struct fb_monspecs *specs); extern void fb_edid_to_monspecs(unsigned char *edid, struct fb_monspecs *specs); -extern int fb_get_monitor_limits(unsigned char *edid, struct fb_monspecs *specs); -extern struct fb_videomode *fb_create_modedb(unsigned char *edid, int *dbsize); extern void fb_destroy_modedb(struct fb_videomode *modedb); /* drivers/video/modedb.c */ _