struct display_switch *dispsw;
struct display *display;
struct pci_dev *dev;
- unsigned char *region;
- unsigned char *regs;
+ unsigned char __iomem *region;
+ unsigned char __iomem *regs;
u_int id;
int func_use_count;
u_long ref_ps;
*/
u_char ramdac_ctrl;
u_char ramdac_powerdown;
+
+ u32 pseudo_palette[16];
};
-static char default_font_storage[40];
static char *default_font = "Acorn8x8";
-MODULE_PARM(default_font, "s");
+module_param(default_font, charp, 0);
MODULE_PARM_DESC(default_font, "Default font name");
/*
int i;
switch (blank) {
- case 4: /* powerdown - both sync lines down */
+ case FB_BLANK_POWERDOWN: /* powerdown - both sync lines down */
sync = EXT_SYNC_CTL_VS_0 | EXT_SYNC_CTL_HS_0;
break;
- case 3: /* hsync off */
+ case FB_BLANK_HSYNC_SUSPEND: /* hsync off */
sync = EXT_SYNC_CTL_VS_NORMAL | EXT_SYNC_CTL_HS_0;
break;
- case 2: /* vsync off */
+ case FB_BLANK_VSYNC_SUSPEND: /* vsync off */
sync = EXT_SYNC_CTL_VS_0 | EXT_SYNC_CTL_HS_NORMAL;
break;
- case 1: /* soft blank */
+ case FB_BLANK_NORMAL: /* soft blank */
default: /* unblank */
break;
}
{
struct cfb_info *cfb;
- cfb = kmalloc(sizeof(struct cfb_info) +
- sizeof(u32) * 16, GFP_KERNEL);
-
+ cfb = kmalloc(sizeof(struct cfb_info), GFP_KERNEL);
if (!cfb)
return NULL;
cfb->fb.fbops = &cyber2000fb_ops;
cfb->fb.flags = FBINFO_DEFAULT | FBINFO_HWACCEL_YPAN;
- cfb->fb.pseudo_palette = (void *)(cfb + 1);
+ cfb->fb.pseudo_palette = cfb->pseudo_palette;
fb_alloc_cmap(&cfb->fb.cmap, NR_PALETTE, 0);
* Parse Cyber2000fb options. Usage:
* video=cyber2000:font:fontname
*/
-int
+#ifndef MODULE
+static int
cyber2000fb_setup(char *options)
{
char *opt;
continue;
if (strncmp(opt, "font:", 5) == 0) {
+ static char default_font_storage[40];
+
strlcpy(default_font_storage, opt + 5, sizeof(default_font_storage));
default_font = default_font_storage;
continue;
}
return 0;
}
+#endif /* MODULE */
/*
* The CyberPro chips can be placed on many different bus types.
cfb->fb.var.xres, cfb->fb.var.yres,
h_sync / 1000, h_sync % 1000, v_sync);
+ if (cfb->dev)
+ cfb->fb.device = &cfb->dev->dev;
err = register_framebuffer(&cfb->fb);
failed:
}
}
-static int cyberpro_pci_suspend(struct pci_dev *dev, u32 state)
+static int cyberpro_pci_suspend(struct pci_dev *dev, pm_message_t state)
{
return 0;
}
*
* Tony: "module_init" is now required
*/
-int __init cyber2000fb_init(void)
+static int __init cyber2000fb_init(void)
{
int ret = -1, err;
#ifndef MODULE
char *option = NULL;
- if (fb_get_options("cyber2000fb", NULL))
+ if (fb_get_options("cyber2000fb", &option))
return -ENODEV;
cyber2000fb_setup(option);
#endif
}
#endif
#ifdef CONFIG_PCI
- err = pci_module_init(&cyberpro_driver);
+ err = pci_register_driver(&cyberpro_driver);
if (!err)
ret = 0;
#endif