diff --git a/drivers/video/s3fb.c b/drivers/video/s3fb.c
index 75738a9..bcbf098 100644
--- a/drivers/video/s3fb.c
+++ b/drivers/video/s3fb.c
@@ -552,7 +552,7 @@
 	}
 
 	vga_wcrt(NULL, 0x3A, 0x35);
-	svga_wattr(0x33, 0x00);
+	svga_wattr(par->state.vgabase, 0x33, 0x00);
 
 	if (info->var.vmode & FB_VMODE_DOUBLE)
 		svga_wcrt_mask(0x09, 0x80, 0x80);
diff --git a/drivers/video/svgalib.c b/drivers/video/svgalib.c
index fdb4567..59c99fd 100644
--- a/drivers/video/svgalib.c
+++ b/drivers/video/svgalib.c
@@ -102,14 +102,14 @@
 
 	/* All standard ATC registers (AR00 - AR14) */
 	for (count = 0; count <= 0xF; count ++)
-		svga_wattr(count, count);
+		svga_wattr(NULL, count, count);
 
-	svga_wattr(VGA_ATC_MODE, 0x01);
-/*	svga_wattr(VGA_ATC_MODE, 0x41); */
-	svga_wattr(VGA_ATC_OVERSCAN, 0x00);
-	svga_wattr(VGA_ATC_PLANE_ENABLE, 0x0F);
-	svga_wattr(VGA_ATC_PEL, 0x00);
-	svga_wattr(VGA_ATC_COLOR_PAGE, 0x00);
+	svga_wattr(NULL, VGA_ATC_MODE, 0x01);
+/*	svga_wattr(NULL, VGA_ATC_MODE, 0x41); */
+	svga_wattr(NULL, VGA_ATC_OVERSCAN, 0x00);
+	svga_wattr(NULL, VGA_ATC_PLANE_ENABLE, 0x0F);
+	svga_wattr(NULL, VGA_ATC_PEL, 0x00);
+	svga_wattr(NULL, VGA_ATC_COLOR_PAGE, 0x00);
 
 	vga_r(NULL, 0x3DA);
 	vga_w(NULL, VGA_ATT_W, 0x20);
@@ -159,8 +159,8 @@
 	vga_r(NULL, 0x3DA);
 	vga_w(NULL, VGA_ATT_W, 0x00);
 
-	svga_wattr(0x10, 0x0C);			/* Attribute Mode Control Register - text mode, blinking and line graphics */
-	svga_wattr(0x13, 0x08);			/* Horizontal Pixel Panning Register  */
+	svga_wattr(NULL, 0x10, 0x0C);			/* Attribute Mode Control Register - text mode, blinking and line graphics */
+	svga_wattr(NULL, 0x13, 0x08);			/* Horizontal Pixel Panning Register  */
 
 	vga_r(NULL, 0x3DA);
 	vga_w(NULL, VGA_ATT_W, 0x20);
diff --git a/include/linux/svga.h b/include/linux/svga.h
index 3fc52cb..95d3941 100644
--- a/include/linux/svga.h
+++ b/include/linux/svga.h
@@ -67,11 +67,11 @@
 
 /* Write a value to the attribute register */
 
-static inline void svga_wattr(u8 index, u8 data)
+static inline void svga_wattr(void __iomem *regbase, u8 index, u8 data)
 {
-	inb(VGA_IS1_RC);
-	outb(index, VGA_ATT_IW);
-	outb(data, VGA_ATT_W);
+	vga_r(regbase, VGA_IS1_RC);
+	vga_w(regbase, VGA_ATT_IW, index);
+	vga_w(regbase, VGA_ATT_W, data);
 }
 
 /* Write a value to a sequence register with a mask */
