[PATCH] fbdev: Sanitize ->fb_ioctl prototype

The ioctl and file arguments to ->fb_mmap are totally unused and there's not
reason a driver should need them.

Also update the ->fb_compat_ioctl prototype to be the same as ->fb_mmap.

Signed-off-by: Antonino Daplas <adaplas@pol.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

authored by Christoph Hellwig and committed by Linus Torvalds 67a6680d a80da738

+67 -109
+3 -6
drivers/video/amifb.c
··· 1131 const struct fb_copyarea *region); 1132 static void amifb_imageblit(struct fb_info *info, 1133 const struct fb_image *image); 1134 - static int amifb_ioctl(struct inode *inode, struct file *file, 1135 - unsigned int cmd, unsigned long arg, 1136 - struct fb_info *info); 1137 1138 1139 /* ··· 2170 * Amiga Frame Buffer Specific ioctls 2171 */ 2172 2173 - static int amifb_ioctl(struct inode *inode, struct file *file, 2174 - unsigned int cmd, unsigned long arg, 2175 - struct fb_info *info) 2176 { 2177 union { 2178 struct fb_fix_cursorinfo fix;
··· 1131 const struct fb_copyarea *region); 1132 static void amifb_imageblit(struct fb_info *info, 1133 const struct fb_image *image); 1134 + static int amifb_ioctl(struct fb_info *info, unsigned int cmd, unsigned long arg); 1135 1136 1137 /* ··· 2172 * Amiga Frame Buffer Specific ioctls 2173 */ 2174 2175 + static int amifb_ioctl(struct fb_info *info, 2176 + unsigned int cmd, unsigned long arg) 2177 { 2178 union { 2179 struct fb_fix_cursorinfo fix;
+2 -3
drivers/video/arcfb.c
··· 399 image->height); 400 } 401 402 - static int arcfb_ioctl(struct inode *inode, struct file *file, 403 - unsigned int cmd, unsigned long arg, 404 - struct fb_info *info) 405 { 406 void __user *argp = (void __user *)arg; 407 struct arcfb_par *par = info->par;
··· 399 image->height); 400 } 401 402 + static int arcfb_ioctl(struct fb_info *info, 403 + unsigned int cmd, unsigned long arg) 404 { 405 void __user *argp = (void __user *)arg; 406 struct arcfb_par *par = info->par;
+1 -2
drivers/video/atafb.c
··· 2571 } 2572 2573 static int 2574 - atafb_ioctl(struct inode *inode, struct file *file, unsigned int cmd, 2575 - unsigned long arg, int con, struct fb_info *info) 2576 { 2577 switch (cmd) { 2578 #ifdef FBCMD_GET_CURRENTPAR
··· 2571 } 2572 2573 static int 2574 + atafb_ioctl(struct fb_info *info, unsigned int cmd, unsigned long arg) 2575 { 2576 switch (cmd) { 2577 #ifdef FBCMD_GET_CURRENTPAR
+2 -4
drivers/video/aty/aty128fb.c
··· 431 static int aty128fb_pan_display(struct fb_var_screeninfo *var, 432 struct fb_info *fb); 433 static int aty128fb_blank(int blank, struct fb_info *fb); 434 - static int aty128fb_ioctl(struct inode *inode, struct file *file, u_int cmd, 435 - u_long arg, struct fb_info *info); 436 static int aty128fb_sync(struct fb_info *info); 437 438 /* ··· 2107 /* in param: u32* backlight value: 0 to 15 */ 2108 #define FBIO_ATY128_SET_MIRROR _IOW('@', 2, __u32) 2109 2110 - static int aty128fb_ioctl(struct inode *inode, struct file *file, u_int cmd, 2111 - u_long arg, struct fb_info *info) 2112 { 2113 struct aty128fb_par *par = info->par; 2114 u32 value;
··· 431 static int aty128fb_pan_display(struct fb_var_screeninfo *var, 432 struct fb_info *fb); 433 static int aty128fb_blank(int blank, struct fb_info *fb); 434 + static int aty128fb_ioctl(struct fb_info *info, u_int cmd, unsigned long arg); 435 static int aty128fb_sync(struct fb_info *info); 436 437 /* ··· 2108 /* in param: u32* backlight value: 0 to 15 */ 2109 #define FBIO_ATY128_SET_MIRROR _IOW('@', 2, __u32) 2110 2111 + static int aty128fb_ioctl(struct fb_info *info, u_int cmd, u_long arg) 2112 { 2113 struct aty128fb_par *par = info->par; 2114 u32 value;
+2 -4
drivers/video/aty/atyfb_base.c
··· 238 u_int transp, struct fb_info *info); 239 static int atyfb_pan_display(struct fb_var_screeninfo *var, struct fb_info *info); 240 static int atyfb_blank(int blank, struct fb_info *info); 241 - static int atyfb_ioctl(struct inode *inode, struct file *file, u_int cmd, 242 - u_long arg, struct fb_info *info); 243 extern void atyfb_fillrect(struct fb_info *info, const struct fb_fillrect *rect); 244 extern void atyfb_copyarea(struct fb_info *info, const struct fb_copyarea *area); 245 extern void atyfb_imageblit(struct fb_info *info, const struct fb_image *image); ··· 1738 #define FBIO_WAITFORVSYNC _IOW('F', 0x20, __u32) 1739 #endif 1740 1741 - static int atyfb_ioctl(struct inode *inode, struct file *file, u_int cmd, 1742 - u_long arg, struct fb_info *info) 1743 { 1744 struct atyfb_par *par = (struct atyfb_par *) info->par; 1745 #ifdef __sparc__
··· 238 u_int transp, struct fb_info *info); 239 static int atyfb_pan_display(struct fb_var_screeninfo *var, struct fb_info *info); 240 static int atyfb_blank(int blank, struct fb_info *info); 241 + static int atyfb_ioctl(struct fb_info *info, u_int cmd, u_long arg); 242 extern void atyfb_fillrect(struct fb_info *info, const struct fb_fillrect *rect); 243 extern void atyfb_copyarea(struct fb_info *info, const struct fb_copyarea *area); 244 extern void atyfb_imageblit(struct fb_info *info, const struct fb_image *image); ··· 1739 #define FBIO_WAITFORVSYNC _IOW('F', 0x20, __u32) 1740 #endif 1741 1742 + static int atyfb_ioctl(struct fb_info *info, u_int cmd, u_long arg) 1743 { 1744 struct atyfb_par *par = (struct atyfb_par *) info->par; 1745 #ifdef __sparc__
+2 -2
drivers/video/aty/radeon_base.c
··· 864 } 865 866 867 - static int radeonfb_ioctl (struct inode *inode, struct file *file, unsigned int cmd, 868 - unsigned long arg, struct fb_info *info) 869 { 870 struct radeonfb_info *rinfo = info->par; 871 unsigned int tmp;
··· 864 } 865 866 867 + static int radeonfb_ioctl (struct fb_info *info, unsigned int cmd, 868 + unsigned long arg) 869 { 870 struct radeonfb_info *rinfo = info->par; 871 unsigned int tmp;
+2 -4
drivers/video/bw2.c
··· 36 static int bw2_blank(int, struct fb_info *); 37 38 static int bw2_mmap(struct fb_info *, struct file *, struct vm_area_struct *); 39 - static int bw2_ioctl(struct inode *, struct file *, unsigned int, 40 - unsigned long, struct fb_info *); 41 42 /* 43 * Frame buffer operations ··· 180 vma); 181 } 182 183 - static int bw2_ioctl(struct inode *inode, struct file *file, unsigned int cmd, 184 - unsigned long arg, struct fb_info *info) 185 { 186 struct bw2_par *par = (struct bw2_par *) info->par; 187
··· 36 static int bw2_blank(int, struct fb_info *); 37 38 static int bw2_mmap(struct fb_info *, struct file *, struct vm_area_struct *); 39 + static int bw2_ioctl(struct fb_info *, unsigned int, unsigned long); 40 41 /* 42 * Frame buffer operations ··· 181 vma); 182 } 183 184 + static int bw2_ioctl(struct fb_info *info, unsigned int cmd, unsigned long arg) 185 { 186 struct bw2_par *par = (struct bw2_par *) info->par; 187
+2 -4
drivers/video/cg14.c
··· 32 unsigned, struct fb_info *); 33 34 static int cg14_mmap(struct fb_info *, struct file *, struct vm_area_struct *); 35 - static int cg14_ioctl(struct inode *, struct file *, unsigned int, 36 - unsigned long, struct fb_info *); 37 static int cg14_pan_display(struct fb_var_screeninfo *, struct fb_info *); 38 39 /* ··· 276 par->iospace, vma); 277 } 278 279 - static int cg14_ioctl(struct inode *inode, struct file *file, unsigned int cmd, 280 - unsigned long arg, struct fb_info *info) 281 { 282 struct cg14_par *par = (struct cg14_par *) info->par; 283 struct cg14_regs __iomem *regs = par->regs;
··· 32 unsigned, struct fb_info *); 33 34 static int cg14_mmap(struct fb_info *, struct file *, struct vm_area_struct *); 35 + static int cg14_ioctl(struct fb_info *, unsigned int, unsigned long); 36 static int cg14_pan_display(struct fb_var_screeninfo *, struct fb_info *); 37 38 /* ··· 277 par->iospace, vma); 278 } 279 280 + static int cg14_ioctl(struct fb_info *info, unsigned int cmd, unsigned long arg) 281 { 282 struct cg14_par *par = (struct cg14_par *) info->par; 283 struct cg14_regs __iomem *regs = par->regs;
+2 -4
drivers/video/cg3.c
··· 34 static int cg3_blank(int, struct fb_info *); 35 36 static int cg3_mmap(struct fb_info *, struct file *, struct vm_area_struct *); 37 - static int cg3_ioctl(struct inode *, struct file *, unsigned int, 38 - unsigned long, struct fb_info *); 39 40 /* 41 * Frame buffer operations ··· 239 vma); 240 } 241 242 - static int cg3_ioctl(struct inode *inode, struct file *file, unsigned int cmd, 243 - unsigned long arg, struct fb_info *info) 244 { 245 struct cg3_par *par = (struct cg3_par *) info->par; 246
··· 34 static int cg3_blank(int, struct fb_info *); 35 36 static int cg3_mmap(struct fb_info *, struct file *, struct vm_area_struct *); 37 + static int cg3_ioctl(struct fb_info *, unsigned int, unsigned long); 38 39 /* 40 * Frame buffer operations ··· 240 vma); 241 } 242 243 + static int cg3_ioctl(struct fb_info *info, unsigned int cmd, unsigned long arg) 244 { 245 struct cg3_par *par = (struct cg3_par *) info->par; 246
+2 -4
drivers/video/cg6.c
··· 37 static void cg6_fillrect(struct fb_info *, const struct fb_fillrect *); 38 static int cg6_sync(struct fb_info *); 39 static int cg6_mmap(struct fb_info *, struct file *, struct vm_area_struct *); 40 - static int cg6_ioctl(struct inode *, struct file *, unsigned int, 41 - unsigned long, struct fb_info *); 42 43 /* 44 * Frame buffer operations ··· 533 vma); 534 } 535 536 - static int cg6_ioctl(struct inode *inode, struct file *file, unsigned int cmd, 537 - unsigned long arg, struct fb_info *info) 538 { 539 struct cg6_par *par = (struct cg6_par *) info->par; 540
··· 37 static void cg6_fillrect(struct fb_info *, const struct fb_fillrect *); 38 static int cg6_sync(struct fb_info *); 39 static int cg6_mmap(struct fb_info *, struct file *, struct vm_area_struct *); 40 + static int cg6_ioctl(struct fb_info *, unsigned int, unsigned long); 41 42 /* 43 * Frame buffer operations ··· 534 vma); 535 } 536 537 + static int cg6_ioctl(struct fb_info *info, unsigned int cmd, unsigned long arg) 538 { 539 struct cg6_par *par = (struct cg6_par *) info->par; 540
+2 -2
drivers/video/fbmem.c
··· 957 default: 958 if (fb->fb_ioctl == NULL) 959 return -EINVAL; 960 - return fb->fb_ioctl(inode, file, cmd, arg, info); 961 } 962 } 963 ··· 1107 1108 default: 1109 if (fb->fb_compat_ioctl) 1110 - ret = fb->fb_compat_ioctl(file, cmd, arg, info); 1111 break; 1112 } 1113 unlock_kernel();
··· 957 default: 958 if (fb->fb_ioctl == NULL) 959 return -EINVAL; 960 + return fb->fb_ioctl(info, cmd, arg); 961 } 962 } 963 ··· 1107 1108 default: 1109 if (fb->fb_compat_ioctl) 1110 + ret = fb->fb_compat_ioctl(info, cmd, arg); 1111 break; 1112 } 1113 unlock_kernel();
+2 -4
drivers/video/ffb.c
··· 38 static void ffb_copyarea(struct fb_info *, const struct fb_copyarea *); 39 static int ffb_sync(struct fb_info *); 40 static int ffb_mmap(struct fb_info *, struct file *, struct vm_area_struct *); 41 - static int ffb_ioctl(struct inode *, struct file *, unsigned int, 42 - unsigned long, struct fb_info *); 43 static int ffb_pan_display(struct fb_var_screeninfo *, struct fb_info *); 44 45 /* ··· 847 0, vma); 848 } 849 850 - static int ffb_ioctl(struct inode *inode, struct file *file, unsigned int cmd, 851 - unsigned long arg, struct fb_info *info) 852 { 853 struct ffb_par *par = (struct ffb_par *) info->par; 854
··· 38 static void ffb_copyarea(struct fb_info *, const struct fb_copyarea *); 39 static int ffb_sync(struct fb_info *); 40 static int ffb_mmap(struct fb_info *, struct file *, struct vm_area_struct *); 41 + static int ffb_ioctl(struct fb_info *, unsigned int, unsigned long); 42 static int ffb_pan_display(struct fb_var_screeninfo *, struct fb_info *); 43 44 /* ··· 848 0, vma); 849 } 850 851 + static int ffb_ioctl(struct fb_info *info, unsigned int cmd, unsigned long arg) 852 { 853 struct ffb_par *par = (struct ffb_par *) info->par; 854
+1 -2
drivers/video/imsttfb.c
··· 1267 #define FBIMSTT_GETIDXREG 0x545406 1268 1269 static int 1270 - imsttfb_ioctl(struct inode *inode, struct file *file, u_int cmd, 1271 - u_long arg, struct fb_info *info) 1272 { 1273 struct imstt_par *par = info->par; 1274 void __user *argp = (void __user *)arg;
··· 1267 #define FBIMSTT_GETIDXREG 0x545406 1268 1269 static int 1270 + imsttfb_ioctl(struct fb_info *info, u_int cmd, u_long arg) 1271 { 1272 struct imstt_par *par = info->par; 1273 void __user *argp = (void __user *)arg;
+3 -5
drivers/video/intelfb/intelfbdrv.c
··· 157 158 static int intelfb_sync(struct fb_info *info); 159 160 - static int intelfb_ioctl(struct inode *inode, struct file *file, 161 - unsigned int cmd, unsigned long arg, 162 - struct fb_info *info); 163 164 static int __devinit intelfb_pci_register(struct pci_dev *pdev, 165 const struct pci_device_id *ent); ··· 1379 1380 /* When/if we have our own ioctls. */ 1381 static int 1382 - intelfb_ioctl(struct inode *inode, struct file *file, unsigned int cmd, 1383 - unsigned long arg, struct fb_info *info) 1384 { 1385 int retval = 0; 1386
··· 157 158 static int intelfb_sync(struct fb_info *info); 159 160 + static int intelfb_ioctl(struct fb_info *info, 161 + unsigned int cmd, unsigned long arg); 162 163 static int __devinit intelfb_pci_register(struct pci_dev *pdev, 164 const struct pci_device_id *ent); ··· 1380 1381 /* When/if we have our own ioctls. */ 1382 static int 1383 + intelfb_ioctl(struct fb_info *info, unsigned int cmd, unsigned long arg) 1384 { 1385 int retval = 0; 1386
+2 -3
drivers/video/kyro/fbdev.c
··· 586 } 587 #endif 588 589 - static int kyrofb_ioctl(struct inode *inode, struct file *file, 590 - unsigned int cmd, unsigned long arg, 591 - struct fb_info *info) 592 { 593 overlay_create ol_create; 594 overlay_viewport_set ol_viewport_set;
··· 586 } 587 #endif 588 589 + static int kyrofb_ioctl(struct fb_info *info, 590 + unsigned int cmd, unsigned long arg) 591 { 592 overlay_create ol_create; 593 overlay_viewport_set ol_viewport_set;
+2 -4
drivers/video/leo.c
··· 33 static int leo_blank(int, struct fb_info *); 34 35 static int leo_mmap(struct fb_info *, struct file *, struct vm_area_struct *); 36 - static int leo_ioctl(struct inode *, struct file *, unsigned int, 37 - unsigned long, struct fb_info *); 38 static int leo_pan_display(struct fb_var_screeninfo *, struct fb_info *); 39 40 /* ··· 372 vma); 373 } 374 375 - static int leo_ioctl(struct inode *inode, struct file *file, unsigned int cmd, 376 - unsigned long arg, struct fb_info *info) 377 { 378 struct leo_par *par = (struct leo_par *) info->par; 379
··· 33 static int leo_blank(int, struct fb_info *); 34 35 static int leo_mmap(struct fb_info *, struct file *, struct vm_area_struct *); 36 + static int leo_ioctl(struct fb_info *, unsigned int, unsigned long); 37 static int leo_pan_display(struct fb_var_screeninfo *, struct fb_info *); 38 39 /* ··· 373 vma); 374 } 375 376 + static int leo_ioctl(struct fb_info *info, unsigned int cmd, unsigned long arg) 377 { 378 struct leo_par *par = (struct leo_par *) info->par; 379
+2 -3
drivers/video/matrox/matroxfb_base.c
··· 865 .name = "Panellink output", 866 }; 867 868 - static int matroxfb_ioctl(struct inode *inode, struct file *file, 869 - unsigned int cmd, unsigned long arg, 870 - struct fb_info *info) 871 { 872 void __user *argp = (void __user *)arg; 873 MINFO_FROM_INFO(info);
··· 865 .name = "Panellink output", 866 }; 867 868 + static int matroxfb_ioctl(struct fb_info *info, 869 + unsigned int cmd, unsigned long arg) 870 { 871 void __user *argp = (void __user *)arg; 872 MINFO_FROM_INFO(info);
+4 -5
drivers/video/matrox/matroxfb_crtc2.c
··· 419 return 0; 420 } 421 422 - static int matroxfb_dh_ioctl(struct inode* inode, 423 - struct file* file, 424 unsigned int cmd, 425 - unsigned long arg, 426 - struct fb_info* info) { 427 #define m2info (container_of(info, struct matroxfb_dh_fb_info, fbcon)) 428 MINFO_FROM(m2info->primary_dev); 429 ··· 456 case MATROXFB_GET_OUTPUT_MODE: 457 case MATROXFB_GET_ALL_OUTPUTS: 458 { 459 - return ACCESS_FBINFO(fbcon.fbops)->fb_ioctl(inode, file, cmd, arg, &ACCESS_FBINFO(fbcon)); 460 } 461 case MATROXFB_SET_OUTPUT_CONNECTION: 462 {
··· 419 return 0; 420 } 421 422 + static int matroxfb_dh_ioctl(struct fb_info *info, 423 unsigned int cmd, 424 + unsigned long arg) 425 + { 426 #define m2info (container_of(info, struct matroxfb_dh_fb_info, fbcon)) 427 MINFO_FROM(m2info->primary_dev); 428 ··· 457 case MATROXFB_GET_OUTPUT_MODE: 458 case MATROXFB_GET_ALL_OUTPUTS: 459 { 460 + return ACCESS_FBINFO(fbcon.fbops)->fb_ioctl(&ACCESS_FBINFO(fbcon), cmd, arg); 461 } 462 case MATROXFB_SET_OUTPUT_CONNECTION: 463 {
+3 -4
drivers/video/p9100.c
··· 32 static int p9100_blank(int, struct fb_info *); 33 34 static int p9100_mmap(struct fb_info *, struct file *, struct vm_area_struct *); 35 - static int p9100_ioctl(struct inode *, struct file *, unsigned int, 36 - unsigned long, struct fb_info *); 37 38 /* 39 * Frame buffer operations ··· 231 vma); 232 } 233 234 - static int p9100_ioctl(struct inode *inode, struct file *file, unsigned int cmd, 235 - unsigned long arg, struct fb_info *info) 236 { 237 struct p9100_par *par = (struct p9100_par *) info->par; 238
··· 32 static int p9100_blank(int, struct fb_info *); 33 34 static int p9100_mmap(struct fb_info *, struct file *, struct vm_area_struct *); 35 + static int p9100_ioctl(struct fb_info *, unsigned int, unsigned long); 36 37 /* 38 * Frame buffer operations ··· 232 vma); 233 } 234 235 + static int p9100_ioctl(struct fb_info *info, unsigned int cmd, 236 + unsigned long arg) 237 { 238 struct p9100_par *par = (struct p9100_par *) info->par; 239
+2 -6
drivers/video/pm3fb.c
··· 657 static void pm3fb_detect(void); 658 static int pm3fb_pan_display(const struct fb_var_screeninfo *var, 659 struct fb_info_gen *info); 660 - static int pm3fb_ioctl(struct inode *inode, struct file *file, 661 - u_int cmd, u_long arg, int con, 662 - struct fb_info *info); 663 664 665 /* the struct that hold them together */ ··· 3436 return 0; 3437 } 3438 3439 - static int pm3fb_ioctl(struct inode *inode, struct file *file, 3440 - u_int cmd, u_long arg, int con, 3441 - struct fb_info *info) 3442 { 3443 struct pm3fb_info *l_fb_info = (struct pm3fb_info *) info; 3444 u32 cm, i;
··· 657 static void pm3fb_detect(void); 658 static int pm3fb_pan_display(const struct fb_var_screeninfo *var, 659 struct fb_info_gen *info); 660 + static int pm3fb_ioctl(struct fb_info *info, u_int cmd, u_long arg); 661 662 663 /* the struct that hold them together */ ··· 3438 return 0; 3439 } 3440 3441 + static int pm3fb_ioctl(struct fb_info *info, u_int cmd, u_long arg) 3442 { 3443 struct pm3fb_info *l_fb_info = (struct pm3fb_info *) info; 3444 u32 cm, i;
+1 -2
drivers/video/pmag-aa-fb.c
··· 299 return -EINVAL; 300 } 301 302 - static int aafb_ioctl(struct inode *inode, struct file *file, u32 cmd, 303 - unsigned long arg, int con, struct fb_info *info) 304 { 305 /* TODO: Not yet implemented */ 306 return -ENOIOCTLCMD;
··· 299 return -EINVAL; 300 } 301 302 + static int aafb_ioctl(struct fb_info *info, u32 cmd, unsigned long arg) 303 { 304 /* TODO: Not yet implemented */ 305 return -ENOIOCTLCMD;
+2 -2
drivers/video/radeonfb.c
··· 1497 } 1498 1499 1500 - static int radeonfb_ioctl (struct inode *inode, struct file *file, unsigned int cmd, 1501 - unsigned long arg, struct fb_info *info) 1502 { 1503 struct radeonfb_info *rinfo = (struct radeonfb_info *) info; 1504 unsigned int tmp;
··· 1497 } 1498 1499 1500 + static int radeonfb_ioctl (struct fb_info *info, unsigned int cmd, 1501 + unsigned long arg) 1502 { 1503 struct radeonfb_info *rinfo = (struct radeonfb_info *) info; 1504 unsigned int tmp;
+8 -20
drivers/video/sis/sis_main.c
··· 1743 1744 /* ----------- FBDev related routines for all series ---------- */ 1745 1746 - static int 1747 - sisfb_ioctl(struct inode *inode, struct file *file, 1748 - unsigned int cmd, unsigned long arg, 1749 - #if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0) 1750 - int con, 1751 #endif 1752 - struct fb_info *info) 1753 { 1754 struct sis_video_info *ivideo = (struct sis_video_info *)info->par; 1755 struct sis_memreq sismemreq; ··· 1925 return 0; 1926 } 1927 1928 - #ifdef SIS_NEW_CONFIG_COMPAT 1929 - static long 1930 - sisfb_compat_ioctl(struct file *f, unsigned int cmd, unsigned long arg, struct fb_info *info) 1931 - { 1932 - int ret; 1933 - 1934 - lock_kernel(); 1935 - ret = sisfb_ioctl(NULL, f, cmd, arg, info); 1936 - unlock_kernel(); 1937 - return ret; 1938 - } 1939 - #endif 1940 - 1941 static int 1942 sisfb_get_fix(struct fb_fix_screeninfo *fix, int con, struct fb_info *info) 1943 { ··· 1995 #endif 1996 .fb_sync = fbcon_sis_sync, 1997 #ifdef SIS_NEW_CONFIG_COMPAT 1998 - .fb_compat_ioctl= sisfb_compat_ioctl, 1999 #endif 2000 .fb_ioctl = sisfb_ioctl 2001 };
··· 1743 1744 /* ----------- FBDev related routines for all series ---------- */ 1745 1746 + #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,15) 1747 + static int sisfb_ioctl(struct fb_info *info, unsigned int cmd, 1748 + unsigned long arg) 1749 + #else 1750 + static int sisfb_ioctl(struct inode *inode, struct file *file, 1751 + unsigned int cmd, unsigned long arg, 1752 + struct fb_info *info) 1753 #endif 1754 { 1755 struct sis_video_info *ivideo = (struct sis_video_info *)info->par; 1756 struct sis_memreq sismemreq; ··· 1924 return 0; 1925 } 1926 1927 static int 1928 sisfb_get_fix(struct fb_fix_screeninfo *fix, int con, struct fb_info *info) 1929 { ··· 2007 #endif 2008 .fb_sync = fbcon_sis_sync, 2009 #ifdef SIS_NEW_CONFIG_COMPAT 2010 + .fb_compat_ioctl= sisfb_ioctl, 2011 #endif 2012 .fb_ioctl = sisfb_ioctl 2013 };
+5
drivers/video/sis/sis_main.h
··· 727 #endif 728 729 #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,0) 730 static int sisfb_ioctl(struct inode *inode, struct file *file, 731 unsigned int cmd, unsigned long arg, 732 struct fb_info *info); 733 static int sisfb_set_par(struct fb_info *info); 734 static int sisfb_blank(int blank, 735 struct fb_info *info);
··· 727 #endif 728 729 #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,0) 730 + #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,15) 731 + static int sisfb_ioctl(struct fb_info *info, unsigned int cmd, 732 + unsigned long arg); 733 + #else 734 static int sisfb_ioctl(struct inode *inode, struct file *file, 735 unsigned int cmd, unsigned long arg, 736 struct fb_info *info); 737 + #endif 738 static int sisfb_set_par(struct fb_info *info); 739 static int sisfb_blank(int blank, 740 struct fb_info *info);
+1 -2
drivers/video/sstfb.c
··· 771 return 0; 772 } 773 774 - static int sstfb_ioctl(struct inode *inode, struct file *file, 775 - u_int cmd, u_long arg, struct fb_info *info ) 776 { 777 struct sstfb_par *par = info->par; 778 struct pci_dev *sst_dev = par->dev;
··· 771 return 0; 772 } 773 774 + static int sstfb_ioctl(struct fb_info *info, u_int cmd, u_long arg) 775 { 776 struct sstfb_par *par = info->par; 777 struct pci_dev *sst_dev = par->dev;
+3 -4
drivers/video/tcx.c
··· 34 static int tcx_blank(int, struct fb_info *); 35 36 static int tcx_mmap(struct fb_info *, struct file *, struct vm_area_struct *); 37 - static int tcx_ioctl(struct inode *, struct file *, unsigned int, 38 - unsigned long, struct fb_info *); 39 static int tcx_pan_display(struct fb_var_screeninfo *, struct fb_info *); 40 41 /* ··· 311 vma); 312 } 313 314 - static int tcx_ioctl(struct inode *inode, struct file *file, unsigned int cmd, 315 - unsigned long arg, struct fb_info *info) 316 { 317 struct tcx_par *par = (struct tcx_par *) info->par; 318
··· 34 static int tcx_blank(int, struct fb_info *); 35 36 static int tcx_mmap(struct fb_info *, struct file *, struct vm_area_struct *); 37 + static int tcx_ioctl(struct fb_info *, unsigned int, unsigned long); 38 static int tcx_pan_display(struct fb_var_screeninfo *, struct fb_info *); 39 40 /* ··· 312 vma); 313 } 314 315 + static int tcx_ioctl(struct fb_info *info, unsigned int cmd, 316 + unsigned long arg) 317 { 318 struct tcx_par *par = (struct tcx_par *) info->par; 319
+4 -4
include/linux/fb.h
··· 608 int (*fb_sync)(struct fb_info *info); 609 610 /* perform fb specific ioctl (optional) */ 611 - int (*fb_ioctl)(struct inode *inode, struct file *file, unsigned int cmd, 612 - unsigned long arg, struct fb_info *info); 613 614 /* Handle 32bit compat ioctl (optional) */ 615 - long (*fb_compat_ioctl)(struct file *f, unsigned cmd, unsigned long arg, 616 - struct fb_info *info); 617 618 /* perform fb specific mmap */ 619 int (*fb_mmap)(struct fb_info *info, struct file *file, struct vm_area_struct *vma);
··· 608 int (*fb_sync)(struct fb_info *info); 609 610 /* perform fb specific ioctl (optional) */ 611 + int (*fb_ioctl)(struct fb_info *info, unsigned int cmd, 612 + unsigned long arg); 613 614 /* Handle 32bit compat ioctl (optional) */ 615 + int (*fb_compat_ioctl)(struct fb_info *info, unsigned cmd, 616 + unsigned long arg); 617 618 /* perform fb specific mmap */ 619 int (*fb_mmap)(struct fb_info *info, struct file *file, struct vm_area_struct *vma);