viafb_write_reg_mask(CR36, VIACR, 0x0, BIT5 + BIT4);
 }
 
-void viafb_get_mmio_info(unsigned long *mmio_base,
-       unsigned long *mmio_len)
+void viafb_get_mmio_info(unsigned long *mmio_base, u32 *mmio_len)
 {
        struct pci_dev *pdev = NULL;
        u32 vendor, device;
 
 int viafb_get_refresh(int hres, int vres, u32 float_refresh);
 void viafb_update_device_setting(int hres, int vres, int bpp,
                           int vmode_refresh, int flag);
-void viafb_get_mmio_info(unsigned long *mmio_base,
-       unsigned long *mmio_len);
+void viafb_get_mmio_info(unsigned long *mmio_base, u32 *mmio_len);
 
 void viafb_set_iga_path(void);
 void viafb_set_primary_address(u32 addr);
 
 
        fix->smem_start = viaparinfo->fbmem;
        fix->smem_len = viaparinfo->fbmem_free;
-       fix->mmio_start = viaparinfo->mmio_base;
-       fix->mmio_len = viaparinfo->mmio_len;
 
        fix->type = FB_TYPE_PACKED_PIXELS;
        fix->type_aux = 0;
                return -ENOMEM;
        }
 
-       viafb_get_mmio_info(&viaparinfo->mmio_base, &viaparinfo->mmio_len);
-       viaparinfo->io_virt = ioremap_nocache(viaparinfo->mmio_base,
-               viaparinfo->mmio_len);
+       viafb_get_mmio_info(&viafbinfo->fix.mmio_start,
+               &viafbinfo->fix.mmio_len);
+       viaparinfo->io_virt = ioremap_nocache(viafbinfo->fix.mmio_start,
+               viafbinfo->fix.mmio_len);
        if (!viaparinfo->io_virt) {
                printk(KERN_WARNING "ioremap failed: hardware acceleration disabled\n");
                viafb_accel = 0;
 
        void __iomem *io_virt;  /*iospace virtual memory address */
        unsigned int fbmem;     /*framebuffer physical memory address */
        unsigned int memsize;   /*size of fbmem */
-       unsigned int io;        /*io space address */
-       unsigned long mmio_base;        /*mmio base address */
-       unsigned long mmio_len; /*mmio base length */
        u32 fbmem_free;         /* Free FB memory */
        u32 fbmem_used;         /* Use FB memory size */
        u32 cursor_start;       /* Cursor Start Address */