X-Git-Url: http://pilppa.org/gitweb/gitweb.cgi?a=blobdiff_plain;f=drivers%2Fvideo%2Fpm3fb.c;h=bd787e80177d332c29357ab86420337de9a2585e;hb=cbe56159a3e60624b5f44cf48b640fa470436e34;hp=2e11b601c488cb63f4e0d815f258d03cda74bf12;hpb=5833f1420b96c4f9b193b7f2fcbc0003dc032fe8;p=linux-2.6-omap-h63xx.git diff --git a/drivers/video/pm3fb.c b/drivers/video/pm3fb.c index 2e11b601c48..bd787e80177 100644 --- a/drivers/video/pm3fb.c +++ b/drivers/video/pm3fb.c @@ -52,13 +52,11 @@ * Wed Feb 21 14:47:06 CET 2001, v 1.0.0: First working version */ -#include #include #include #include #include #include -#include #include #include #include @@ -657,9 +655,7 @@ static void pm3fb_set_disp(const void *par, struct display *disp, static void pm3fb_detect(void); static int pm3fb_pan_display(const struct fb_var_screeninfo *var, struct fb_info_gen *info); -static int pm3fb_ioctl(struct inode *inode, struct file *file, - u_int cmd, u_long arg, int con, - struct fb_info *info); +static int pm3fb_ioctl(struct fb_info *info, u_int cmd, u_long arg); /* the struct that hold them together */ @@ -3303,14 +3299,12 @@ static void pm3fb_detect(void) fb_info[i].dev = NULL; } - dev = - pci_find_device(PCI_VENDOR_ID_3DLABS, + dev = pci_get_device(PCI_VENDOR_ID_3DLABS, PCI_DEVICE_ID_3DLABS_PERMEDIA3, dev); for (i = 0; ((i < PM3_MAX_BOARD) && dev); i++) { dev_array[i] = dev; - dev = - pci_find_device(PCI_VENDOR_ID_3DLABS, + dev = pci_get_device(PCI_VENDOR_ID_3DLABS, PCI_DEVICE_ID_3DLABS_PERMEDIA3, dev); } @@ -3357,7 +3351,7 @@ static void pm3fb_detect(void) /* now, initialize... or not */ for (i = 0; i < PM3_MAX_BOARD; i++) { l_fb_info = &(fb_info[i]); - if ((l_fb_info->dev) && (!disable[i])) { /* PCI device was found and not disabled by user */ + if (l_fb_info->dev && !disable[i]) { /* PCI device was found and not disabled by user */ DPRINTK(2, "found @%lx Vendor %lx Device %lx ; base @ : %lx - %lx - %lx - %lx - %lx - %lx, irq %ld\n", (unsigned long) l_fb_info->dev, @@ -3438,9 +3432,7 @@ static int pm3fb_pan_display(const struct fb_var_screeninfo *var, return 0; } -static int pm3fb_ioctl(struct inode *inode, struct file *file, - u_int cmd, u_long arg, int con, - struct fb_info *info) +static int pm3fb_ioctl(struct fb_info *info, u_int cmd, u_long arg) { struct pm3fb_info *l_fb_info = (struct pm3fb_info *) info; u32 cm, i; @@ -3536,26 +3528,26 @@ int __init pm3fb_init(void) MODULE_AUTHOR("Romain Dolbeau"); MODULE_DESCRIPTION("Permedia3 framebuffer device driver"); static char *mode[PM3_MAX_BOARD]; -MODULE_PARM(mode,PM3_MAX_BOARD_MODULE_ARRAY_STRING); +module_param_array(mode, charp, NULL, 0); MODULE_PARM_DESC(mode,"video mode"); -MODULE_PARM(disable,PM3_MAX_BOARD_MODULE_ARRAY_SHORT); +module_param_array(disable, short, NULL, 0); MODULE_PARM_DESC(disable,"disable board"); static short off[PM3_MAX_BOARD]; -MODULE_PARM(off,PM3_MAX_BOARD_MODULE_ARRAY_SHORT); +module_param_array(off, short, NULL, 0); MODULE_PARM_DESC(off,"disable board"); static char *pciid[PM3_MAX_BOARD]; -MODULE_PARM(pciid,PM3_MAX_BOARD_MODULE_ARRAY_STRING); +module_param_array(pciid, charp, NULL, 0); MODULE_PARM_DESC(pciid,"board PCI Id"); -MODULE_PARM(noaccel,PM3_MAX_BOARD_MODULE_ARRAY_SHORT); +module_param_array(noaccel, short, NULL, 0); MODULE_PARM_DESC(noaccel,"disable accel"); static char *font[PM3_MAX_BOARD]; -MODULE_PARM(font,PM3_MAX_BOARD_MODULE_ARRAY_STRING); +module_param_array(font, charp, NULL, 0); MODULE_PARM_DESC(font,"choose font"); -MODULE_PARM(depth,PM3_MAX_BOARD_MODULE_ARRAY_SHORT); +module_param(depth, short, NULL, 0); MODULE_PARM_DESC(depth,"boot-time depth"); -MODULE_PARM(printtimings, "h"); +module_param(printtimings, short, NULL, 0); MODULE_PARM_DESC(printtimings, "print the memory timings of the card(s)"); -MODULE_PARM(forcesize, PM3_MAX_BOARD_MODULE_ARRAY_SHORT); +module_param(forcesize, short, NULL, 0); MODULE_PARM_DESC(forcesize, "force specified memory size"); /* MODULE_SUPPORTED_DEVICE("Permedia3 PCI boards") @@ -3614,7 +3606,7 @@ int init_module(void) pm3fb_init(); - return (0); + return 0; } void cleanup_module(void) @@ -3625,23 +3617,18 @@ void cleanup_module(void) struct pm3fb_info *l_fb_info; for (i = 0; i < PM3_MAX_BOARD; i++) { l_fb_info = &(fb_info[i]); - if ((l_fb_info->dev != NULL) - && (!(disable[l_fb_info->board_num]))) { - if (l_fb_info->vIOBase != - (unsigned char *) -1) { + pci_dev_put(l_fb_info->dev); + if (l_fb_info->dev != NULL && !(disable[l_fb_info->board_num])) { + if (l_fb_info->vIOBase != (unsigned char *) -1) { pm3fb_unmapIO(l_fb_info); release_mem_region(l_fb_info->p_fb, - l_fb_info-> - fb_size); - release_mem_region(l_fb_info-> - pIOBase, - PM3_REGS_SIZE); + l_fb_info->fb_size); + release_mem_region(l_fb_info->pIOBase, + PM3_REGS_SIZE); } - unregister_framebuffer(&l_fb_info->gen. - info); + unregister_framebuffer(&l_fb_info->gen.info); } } } - return; } #endif /* MODULE */