u32                     pseudo_palette[16];
 };
 
-extern void mb862xxfb_init_accel(struct fb_info *info, int xres);
+extern void mb862xxfb_init_accel(struct fb_info *info, struct fb_ops *fbops, int xres);
 #ifdef CONFIG_FB_MB862XX_I2C
 extern int mb862xx_i2c_init(struct mb862xxfb_par *par);
 extern void mb862xx_i2c_exit(struct mb862xxfb_par *par);
 
        mb862xxfb_write_fifo(7, cmd, info);
 }
 
-void mb862xxfb_init_accel(struct fb_info *info, int xres)
+void mb862xxfb_init_accel(struct fb_info *info, struct fb_ops *fbops, int xres)
 {
        struct mb862xxfb_par *par = info->par;
 
        if (info->var.bits_per_pixel == 32) {
-               info->fbops->fb_fillrect = cfb_fillrect;
-               info->fbops->fb_copyarea = cfb_copyarea;
-               info->fbops->fb_imageblit = cfb_imageblit;
+               fbops->fb_fillrect = cfb_fillrect;
+               fbops->fb_copyarea = cfb_copyarea;
+               fbops->fb_imageblit = cfb_imageblit;
        } else {
                outreg(disp, GC_L0EM, 3);
-               info->fbops->fb_fillrect = mb86290fb_fillrect;
-               info->fbops->fb_copyarea = mb86290fb_copyarea;
-               info->fbops->fb_imageblit = mb86290fb_imageblit;
+               fbops->fb_fillrect = mb86290fb_fillrect;
+               fbops->fb_copyarea = mb86290fb_copyarea;
+               fbops->fb_imageblit = mb86290fb_imageblit;
        }
        outreg(draw, GDC_REG_DRAW_BASE, 0);
        outreg(draw, GDC_REG_MODE_MISC, 0x8000);
            FBINFO_HWACCEL_IMAGEBLIT;
        info->fix.accel = 0xff; /*FIXME: add right define */
 }
-EXPORT_SYMBOL(mb862xxfb_init_accel);
 
 MODULE_LICENSE("GPL v2");
 
        return 0;
 }
 
+static struct fb_ops mb862xxfb_ops;
+
 /*
  * set display parameters
  */
 
        dev_dbg(par->dev, "%s\n", __func__);
        if (par->type == BT_CORALP)
-               mb862xxfb_init_accel(fbi, fbi->var.xres);
+               mb862xxfb_init_accel(fbi, &mb862xxfb_ops, fbi->var.xres);
 
        if (par->pre_init)
                return 0;