From: Adrian Bunk This patch contains the possible cleanups including the following: - every file should #include the headers containing the prototypes for it's global functions - make needlessly global functions static - kyro/STG4000Interface.h: #include video/kyro.h and linux/pci.h instead of a manual "struct pci_dev" - i810_main.{c,h}: prototypes for static functions belong to the C file Signed-off-by: Adrian Bunk Acked-by: "Antonino A. Daplas" Signed-off-by: Andrew Morton --- drivers/video/arcfb.c | 8 ++-- drivers/video/console/softcursor.c | 2 + drivers/video/i810/i810-i2c.c | 1 drivers/video/i810/i810_accel.c | 1 drivers/video/i810/i810_gtf.c | 1 drivers/video/i810/i810_main.c | 51 ++++++++++++++++++++++++--- drivers/video/i810/i810_main.h | 56 ++---------------------------- drivers/video/kyro/STG4000InitDevice.c | 1 drivers/video/kyro/STG4000Interface.h | 3 + drivers/video/kyro/STG4000OverlayDevice.c | 1 drivers/video/matrox/matroxfb_g450.c | 2 + drivers/video/nvidia/nv_hw.c | 1 drivers/video/tdfxfb.c | 2 - 13 files changed, 68 insertions(+), 62 deletions(-) diff -puN drivers/video/arcfb.c~drivers-video-possible-cleanups drivers/video/arcfb.c --- devel/drivers/video/arcfb.c~drivers-video-possible-cleanups 2005-12-10 21:53:03.000000000 -0800 +++ devel-akpm/drivers/video/arcfb.c 2005-12-10 21:53:03.000000000 -0800 @@ -366,7 +366,8 @@ static void arcfb_lcd_update(struct arcf } } -void arcfb_fillrect(struct fb_info *info, const struct fb_fillrect *rect) +static void arcfb_fillrect(struct fb_info *info, + const struct fb_fillrect *rect) { struct arcfb_par *par = info->par; @@ -376,7 +377,8 @@ void arcfb_fillrect(struct fb_info *info arcfb_lcd_update(par, rect->dx, rect->dy, rect->width, rect->height); } -void arcfb_copyarea(struct fb_info *info, const struct fb_copyarea *area) +static void arcfb_copyarea(struct fb_info *info, + const struct fb_copyarea *area) { struct arcfb_par *par = info->par; @@ -386,7 +388,7 @@ void arcfb_copyarea(struct fb_info *info arcfb_lcd_update(par, area->dx, area->dy, area->width, area->height); } -void arcfb_imageblit(struct fb_info *info, const struct fb_image *image) +static void arcfb_imageblit(struct fb_info *info, const struct fb_image *image) { struct arcfb_par *par = info->par; diff -puN drivers/video/console/softcursor.c~drivers-video-possible-cleanups drivers/video/console/softcursor.c --- devel/drivers/video/console/softcursor.c~drivers-video-possible-cleanups 2005-12-10 21:53:03.000000000 -0800 +++ devel-akpm/drivers/video/console/softcursor.c 2005-12-10 21:53:03.000000000 -0800 @@ -17,6 +17,8 @@ #include #include +#include "fbcon.h" + int soft_cursor(struct fb_info *info, struct fb_cursor *cursor) { unsigned int scan_align = info->pixmap.scan_align - 1; diff -puN drivers/video/i810/i810_accel.c~drivers-video-possible-cleanups drivers/video/i810/i810_accel.c --- devel/drivers/video/i810/i810_accel.c~drivers-video-possible-cleanups 2005-12-10 21:53:03.000000000 -0800 +++ devel-akpm/drivers/video/i810/i810_accel.c 2005-12-10 21:53:03.000000000 -0800 @@ -14,6 +14,7 @@ #include "i810_regs.h" #include "i810.h" +#include "i810_main.h" static u32 i810fb_rop[] = { COLOR_COPY_ROP, /* ROP_COPY */ diff -puN drivers/video/i810/i810_gtf.c~drivers-video-possible-cleanups drivers/video/i810/i810_gtf.c --- devel/drivers/video/i810/i810_gtf.c~drivers-video-possible-cleanups 2005-12-10 21:53:03.000000000 -0800 +++ devel-akpm/drivers/video/i810/i810_gtf.c 2005-12-10 21:53:03.000000000 -0800 @@ -14,6 +14,7 @@ #include "i810_regs.h" #include "i810.h" +#include "i810_main.h" /* * FIFO and Watermark tables - based almost wholly on i810_wmark.c in diff -puN drivers/video/i810/i810-i2c.c~drivers-video-possible-cleanups drivers/video/i810/i810-i2c.c --- devel/drivers/video/i810/i810-i2c.c~drivers-video-possible-cleanups 2005-12-10 21:53:03.000000000 -0800 +++ devel-akpm/drivers/video/i810/i810-i2c.c 2005-12-10 21:53:03.000000000 -0800 @@ -17,6 +17,7 @@ #include #include "i810.h" #include "i810_regs.h" +#include "i810_main.h" #include "../edid.h" #define I810_DDC 0x50 diff -puN drivers/video/i810/i810_main.c~drivers-video-possible-cleanups drivers/video/i810/i810_main.c --- devel/drivers/video/i810/i810_main.c~drivers-video-possible-cleanups 2005-12-10 21:53:03.000000000 -0800 +++ devel-akpm/drivers/video/i810/i810_main.c 2005-12-10 21:53:03.000000000 -0800 @@ -45,17 +45,58 @@ #include #include - -#ifdef CONFIG_MTRR -#include -#endif - #include #include "i810_regs.h" #include "i810.h" #include "i810_main.h" +/* + * voffset - framebuffer offset in MiB from aperture start address. In order for + * the driver to work with X, we must try to use memory holes left untouched by X. The + * following table lists where X's different surfaces start at. + * + * --------------------------------------------- + * : : 64 MiB : 32 MiB : + * ---------------------------------------------- + * : FrontBuffer : 0 : 0 : + * : DepthBuffer : 48 : 16 : + * : BackBuffer : 56 : 24 : + * ---------------------------------------------- + * + * So for chipsets with 64 MiB Aperture sizes, 32 MiB for v_offset is okay, allowing up to + * 15 + 1 MiB of Framebuffer memory. For 32 MiB Aperture sizes, a v_offset of 8 MiB should + * work, allowing 7 + 1 MiB of Framebuffer memory. + * Note, the size of the hole may change depending on how much memory you allocate to X, + * and how the memory is split up between these surfaces. + * + * Note: Anytime the DepthBuffer or FrontBuffer is overlapped, X would still run but with + * DRI disabled. But if the Frontbuffer is overlapped, X will fail to load. + * + * Experiment with v_offset to find out which works best for you. + */ +static u32 v_offset_default __initdata; /* For 32 MiB Aper size, 8 should be the default */ +static u32 voffset __initdata = 0; + +static int i810fb_cursor(struct fb_info *info, struct fb_cursor *cursor); +static int __devinit i810fb_init_pci (struct pci_dev *dev, + const struct pci_device_id *entry); +static void __exit i810fb_remove_pci(struct pci_dev *dev); +static int i810fb_resume(struct pci_dev *dev); +static int i810fb_suspend(struct pci_dev *dev, pm_message_t state); + +/* Chipset Specific Functions */ +static int i810fb_set_par (struct fb_info *info); +static int i810fb_getcolreg (u8 regno, u8 *red, u8 *green, u8 *blue, + u8 *transp, struct fb_info *info); +static int i810fb_setcolreg (unsigned regno, unsigned red, unsigned green, unsigned blue, + unsigned transp, struct fb_info *info); +static int i810fb_pan_display(struct fb_var_screeninfo *var, struct fb_info *info); +static int i810fb_blank (int blank_mode, struct fb_info *info); + +/* Initialization */ +static void i810fb_release_resource (struct fb_info *info, struct i810fb_par *par); + /* PCI */ static const char *i810_pci_list[] __devinitdata = { "Intel(R) 810 Framebuffer Device" , diff -puN drivers/video/i810/i810_main.h~drivers-video-possible-cleanups drivers/video/i810/i810_main.h --- devel/drivers/video/i810/i810_main.h~drivers-video-possible-cleanups 2005-12-10 21:53:03.000000000 -0800 +++ devel-akpm/drivers/video/i810/i810_main.h 2005-12-10 21:53:03.000000000 -0800 @@ -14,55 +14,6 @@ #ifndef __I810_MAIN_H__ #define __I810_MAIN_H__ -static int __devinit i810fb_init_pci (struct pci_dev *dev, - const struct pci_device_id *entry); -static void __exit i810fb_remove_pci(struct pci_dev *dev); -static int i810fb_resume(struct pci_dev *dev); -static int i810fb_suspend(struct pci_dev *dev, pm_message_t state); - -/* - * voffset - framebuffer offset in MiB from aperture start address. In order for - * the driver to work with X, we must try to use memory holes left untouched by X. The - * following table lists where X's different surfaces start at. - * - * --------------------------------------------- - * : : 64 MiB : 32 MiB : - * ---------------------------------------------- - * : FrontBuffer : 0 : 0 : - * : DepthBuffer : 48 : 16 : - * : BackBuffer : 56 : 24 : - * ---------------------------------------------- - * - * So for chipsets with 64 MiB Aperture sizes, 32 MiB for v_offset is okay, allowing up to - * 15 + 1 MiB of Framebuffer memory. For 32 MiB Aperture sizes, a v_offset of 8 MiB should - * work, allowing 7 + 1 MiB of Framebuffer memory. - * Note, the size of the hole may change depending on how much memory you allocate to X, - * and how the memory is split up between these surfaces. - * - * Note: Anytime the DepthBuffer or FrontBuffer is overlapped, X would still run but with - * DRI disabled. But if the Frontbuffer is overlapped, X will fail to load. - * - * Experiment with v_offset to find out which works best for you. - */ -static u32 v_offset_default __initdata; /* For 32 MiB Aper size, 8 should be the default */ -static u32 voffset __initdata = 0; - -static int i810fb_cursor(struct fb_info *info, struct fb_cursor *cursor); - -/* Chipset Specific Functions */ -static int i810fb_set_par (struct fb_info *info); -static int i810fb_getcolreg (u8 regno, u8 *red, u8 *green, u8 *blue, - u8 *transp, struct fb_info *info); -static int i810fb_setcolreg (unsigned regno, unsigned red, unsigned green, unsigned blue, - unsigned transp, struct fb_info *info); -static int i810fb_pan_display(struct fb_var_screeninfo *var, struct fb_info *info); -static int i810fb_blank (int blank_mode, struct fb_info *info); - -/* Initialization */ -static void i810fb_release_resource (struct fb_info *info, struct i810fb_par *par); -extern int __init agp_intel_init(void); - - /* Video Timings */ extern void round_off_xres (u32 *xres); extern void round_off_yres (u32 *xres, u32 *yres); @@ -101,7 +52,7 @@ static inline void i810_delete_i2c_busse /* Conditionals */ #ifdef CONFIG_X86 -inline void flush_cache(void) +static inline void flush_cache(void) { asm volatile ("wbinvd":::"memory"); } @@ -110,7 +61,9 @@ inline void flush_cache(void) #endif #ifdef CONFIG_MTRR -#define KERNEL_HAS_MTRR 1 + +#include + static inline void __devinit set_mtrr(struct i810fb_par *par) { par->mtrr_reg = mtrr_add((u32) par->aperture.physical, @@ -128,7 +81,6 @@ static inline void unset_mtrr(struct i81 par->aperture.size); } #else -#define KERNEL_HAS_MTRR 0 #define set_mtrr(x) printk("set_mtrr: MTRR is disabled in the kernel\n") #define unset_mtrr(x) do { } while (0) diff -puN drivers/video/kyro/STG4000InitDevice.c~drivers-video-possible-cleanups drivers/video/kyro/STG4000InitDevice.c --- devel/drivers/video/kyro/STG4000InitDevice.c~drivers-video-possible-cleanups 2005-12-10 21:53:03.000000000 -0800 +++ devel-akpm/drivers/video/kyro/STG4000InitDevice.c 2005-12-10 21:53:03.000000000 -0800 @@ -15,6 +15,7 @@ #include #include "STG4000Reg.h" +#include "STG4000Interface.h" /* SDRAM fixed settings */ #define SDRAM_CFG_0 0x49A1 diff -puN drivers/video/kyro/STG4000Interface.h~drivers-video-possible-cleanups drivers/video/kyro/STG4000Interface.h --- devel/drivers/video/kyro/STG4000Interface.h~drivers-video-possible-cleanups 2005-12-10 21:53:03.000000000 -0800 +++ devel-akpm/drivers/video/kyro/STG4000Interface.h 2005-12-10 21:53:03.000000000 -0800 @@ -11,7 +11,8 @@ #ifndef _STG4000INTERFACE_H #define _STG4000INTERFACE_H -struct pci_dev; +#include +#include