fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git] / drivers / video / vgastate.c
index 1902281..d94efaf 100644 (file)
@@ -13,7 +13,6 @@
  * archive for more details.  
  *
  */
-#include <linux/config.h>
 #include <linux/module.h>
 #include <linux/slab.h>
 #include <linux/fb.h>
@@ -32,21 +31,21 @@ struct regstate {
        __u8 misc;
 };     
 
-static inline unsigned char vga_rcrtcs(caddr_t regbase, unsigned short iobase, 
+static inline unsigned char vga_rcrtcs(void __iomem *regbase, unsigned short iobase, 
                                       unsigned char reg)
 {
        vga_w(regbase, iobase + 0x4, reg);
        return vga_r(regbase, iobase + 0x5);
 }
 
-static inline void vga_wcrtcs(caddr_t regbase, unsigned short iobase, 
+static inline void vga_wcrtcs(void __iomem *regbase, unsigned short iobase, 
                              unsigned char reg, unsigned char val)
 {
        vga_w(regbase, iobase + 0x4, reg);
        vga_w(regbase, iobase + 0x5, val);
 }
 
-static void save_vga_text(struct vgastate *state, caddr_t fbbase)
+static void save_vga_text(struct vgastate *state, void __iomem *fbbase)
 {
        struct regstate *saved = (struct regstate *) state->vidstate;
        int i;
@@ -134,7 +133,7 @@ static void save_vga_text(struct vgastate *state, caddr_t fbbase)
        vga_wseq(state->vgabase, VGA_SEQ_CLOCK_MODE, seq1);
 }
 
-static void restore_vga_text(struct vgastate *state, caddr_t fbbase)
+static void restore_vga_text(struct vgastate *state, void __iomem *fbbase)
 {
        struct regstate *saved = (struct regstate *) state->vidstate;
        int i;
@@ -342,16 +341,11 @@ static void vga_cleanup(struct vgastate *state)
        if (state->vidstate != NULL) {
                struct regstate *saved = (struct regstate *) state->vidstate;
 
-               if (saved->vga_font0) 
-                       vfree(saved->vga_font0);
-               if (saved->vga_font1) 
-                       vfree(saved->vga_font1);
-               if (saved->vga_text)
-                       vfree(saved->vga_text);
-               if (saved->vga_cmap)
-                       vfree(saved->vga_cmap);
-               if (saved->attr)
-                       vfree(saved->attr);
+               vfree(saved->vga_font0);
+               vfree(saved->vga_font1);
+               vfree(saved->vga_text);
+               vfree(saved->vga_cmap);
+               vfree(saved->attr);
                kfree(saved);
                state->vidstate = NULL;
        }
@@ -361,10 +355,11 @@ int save_vga(struct vgastate *state)
 {
        struct regstate *saved;
 
-       saved = kmalloc(sizeof(struct regstate), GFP_KERNEL);
+       saved = kzalloc(sizeof(struct regstate), GFP_KERNEL);
+
        if (saved == NULL)
                return 1;
-       memset (saved, 0, sizeof(struct regstate));
+
        state->vidstate = (void *)saved;
                
        if (state->flags & VGA_SAVE_CMAP) {
@@ -403,7 +398,7 @@ int save_vga(struct vgastate *state)
        }
 
        if (state->flags & VGA_SAVE_FONTS) {
-               caddr_t fbbase;
+               void __iomem *fbbase;
 
                /* exit if window is less than 32K */
                if (state->memsize && state->memsize < 4 * 8192) {
@@ -473,7 +468,7 @@ int restore_vga (struct vgastate *state)
                restore_vga_mode(state);
 
        if (state->flags & VGA_SAVE_FONTS) {
-               caddr_t fbbase = ioremap(state->membase, state->memsize);
+               void __iomem *fbbase = ioremap(state->membase, state->memsize);
 
                if (!fbbase) {
                        vga_cleanup(state);
@@ -490,11 +485,6 @@ int restore_vga (struct vgastate *state)
        return 0;
 }
 
-#ifdef MODULE
-int init_module(void) { return 0; };
-void cleanup_module(void) {};
-#endif
-
 EXPORT_SYMBOL(save_vga);
 EXPORT_SYMBOL(restore_vga);