CINXE.COM
LKML: Christoph Hellwig: Re: [PATCH 1/2] sanitize ->fb_ioctl prototype
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>LKML: Christoph Hellwig: Re: [PATCH 1/2] sanitize ->fb_ioctl prototype</title><link href="/css/message.css" rel="stylesheet" type="text/css" /><link href="/css/wrap.css" rel="alternate stylesheet" type="text/css" title="wrap" /><link href="/css/nowrap.css" rel="stylesheet" type="text/css" title="nowrap" /><link href="/favicon.ico" rel="shortcut icon" /><script src="/js/simple-calendar.js" type="text/javascript"></script><script src="/js/styleswitcher.js" type="text/javascript"></script><link rel="alternate" type="application/rss+xml" title="lkml.org : last 100 messages" href="/rss.php" /><link rel="alternate" type="application/rss+xml" title="lkml.org : last messages by Christoph Hellwig" href="/groupie.php?aid=30078" /><!--Matomo--><script> var _paq = window._paq = window._paq || []; /* tracker methods like "setCustomDimension" should be called before "trackPageView" */ _paq.push(["setDoNotTrack", true]); _paq.push(["disableCookies"]); _paq.push(['trackPageView']); _paq.push(['enableLinkTracking']); (function() { var u="//m.lkml.org/"; _paq.push(['setTrackerUrl', u+'matomo.php']); _paq.push(['setSiteId', '1']); var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s); })(); </script><!--End Matomo Code--></head><body onload="es.jasper.simpleCalendar.init();" itemscope="itemscope" itemtype="http://schema.org/BlogPosting"><table border="0" cellpadding="0" cellspacing="0"><tr><td width="180" align="center"><a href="/"><img style="border:0;width:135px;height:32px" src="/images/toprowlk.gif" alt="lkml.org" /></a></td><td width="32">聽</td><td class="nb"><div><a class="nb" href="/lkml"> [lkml]</a> 聽 <a class="nb" href="/lkml/2006"> [2006]</a> 聽 <a class="nb" href="/lkml/2006/1"> [Jan]</a> 聽 <a class="nb" href="/lkml/2006/1/4"> [4]</a> 聽 <a class="nb" href="/lkml/last100"> [last100]</a> 聽 <a href="/rss.php"><img src="/images/rss-or.gif" border="0" alt="RSS Feed" /></a></div><div>Views: <a href="#" class="nowrap" onclick="setActiveStyleSheet('wrap');return false;">[wrap]</a><a href="#" class="wrap" onclick="setActiveStyleSheet('nowrap');return false;">[no wrap]</a> 聽 <a class="nb" href="/lkml/mheaders/2006/1/4/58" onclick="this.href='/lkml/headers'+'/2006/1/4/58';">[headers]</a>聽 <a href="/lkml/bounce/2006/1/4/58">[forward]</a>聽 </div></td><td width="32">聽</td></tr><tr><td valign="top"><div class="es-jasper-simpleCalendar" baseurl="/lkml/"></div><div class="threadlist">Messages in this thread</div><ul class="threadlist"><li class="root"><a href="/lkml/2005/11/11/30">First message in thread</a></li><li><a href="/lkml/2005/11/11/30">Christoph Hellwig</a><ul><li><a href="/lkml/2005/11/13/10">Christoph Hellwig</a></li><li class="origin"><a href="">Christoph Hellwig</a></li></ul></li></ul><div class="threadlist">Patch in this message</div><ul class="threadlist"><li><a href="/lkml/diff/2006/1/4/58/1">Get diff 1</a></li></ul></td><td width="32" rowspan="2" class="c" valign="top"><img src="/images/icornerl.gif" width="32" height="32" alt="/" /></td><td class="c" rowspan="2" valign="top" style="padding-top: 1em"><table><tr><td><table><tr><td class="lp">Date</td><td class="rp" itemprop="datePublished">Wed, 4 Jan 2006 10:44:46 +0100</td></tr><tr><td class="lp">From</td><td class="rp" itemprop="author">Christoph Hellwig <></td></tr><tr><td class="lp">Subject</td><td class="rp" itemprop="name">Re: [PATCH 1/2] sanitize ->fb_ioctl prototype</td></tr></table></td><td></td></tr></table><pre itemprop="articleBody">On Fri, Nov 11, 2005 at 09:34:57AM +0100, Christoph Hellwig wrote:<br />> The ioctl and file arguments to ->fb_ioctl are totally unused and there's<br />> not reason a driver should need them.<br />> <br />> Also update the ->fb_compat_ioctl prototype to be the same as ->fb_ioctl.<br /><br />ping?<br /><br />Index: linux-2.6/drivers/video/amifb.c<br />===================================================================<br />--- linux-2.6.orig/drivers/video/amifb.c 2005-11-10 01:20:49.000000000 +0100<br />+++ linux-2.6/drivers/video/amifb.c 2005-11-10 01:28:56.000000000 +0100<br />@@ -1129,9 +1129,7 @@<br /> const struct fb_copyarea *region);<br /> static void amifb_imageblit(struct fb_info *info,<br /> const struct fb_image *image);<br />-static int amifb_ioctl(struct inode *inode, struct file *file,<br />- unsigned int cmd, unsigned long arg,<br />- struct fb_info *info);<br />+static int amifb_ioctl(struct fb_info *info, unsigned int cmd, unsigned long arg);<br /> <br /> <br /> /*<br />@@ -2170,9 +2168,8 @@<br /> * Amiga Frame Buffer Specific ioctls<br /> */<br /> <br />-static int amifb_ioctl(struct inode *inode, struct file *file,<br />- unsigned int cmd, unsigned long arg,<br />- struct fb_info *info)<br />+static int amifb_ioctl(struct fb_info *info,<br />+ unsigned int cmd, unsigned long arg)<br /> {<br /> union {<br /> struct fb_fix_cursorinfo fix;<br />Index: linux-2.6/drivers/video/arcfb.c<br />===================================================================<br />--- linux-2.6.orig/drivers/video/arcfb.c 2005-11-10 01:20:49.000000000 +0100<br />+++ linux-2.6/drivers/video/arcfb.c 2005-11-10 01:28:56.000000000 +0100<br />@@ -397,9 +397,8 @@<br /> image->height);<br /> }<br /> <br />-static int arcfb_ioctl(struct inode *inode, struct file *file,<br />- unsigned int cmd, unsigned long arg,<br />- struct fb_info *info)<br />+static int arcfb_ioctl(struct fb_info *info,<br />+ unsigned int cmd, unsigned long arg)<br /> {<br /> void __user *argp = (void __user *)arg;<br /> struct arcfb_par *par = info->par;<br />Index: linux-2.6/drivers/video/atafb.c<br />===================================================================<br />--- linux-2.6.orig/drivers/video/atafb.c 2005-11-10 01:20:49.000000000 +0100<br />+++ linux-2.6/drivers/video/atafb.c 2005-11-10 01:28:56.000000000 +0100<br />@@ -2571,8 +2571,7 @@<br /> }<br /> <br /> static int<br />-atafb_ioctl(struct inode *inode, struct file *file, unsigned int cmd,<br />- unsigned long arg, int con, struct fb_info *info)<br />+atafb_ioctl(struct fb_info *info, unsigned int cmd, unsigned long arg)<br /> {<br /> switch (cmd) {<br /> #ifdef FBCMD_GET_CURRENTPAR<br />Index: linux-2.6/drivers/video/aty/aty128fb.c<br />===================================================================<br />--- linux-2.6.orig/drivers/video/aty/aty128fb.c 2005-11-10 01:20:49.000000000 +0100<br />+++ linux-2.6/drivers/video/aty/aty128fb.c 2005-11-10 01:28:56.000000000 +0100<br />@@ -431,8 +431,7 @@<br /> static int aty128fb_pan_display(struct fb_var_screeninfo *var,<br /> struct fb_info *fb);<br /> static int aty128fb_blank(int blank, struct fb_info *fb);<br />-static int aty128fb_ioctl(struct inode *inode, struct file *file, u_int cmd,<br />- u_long arg, struct fb_info *info);<br />+static int aty128fb_ioctl(struct fb_info *info, u_int cmd);<br /> static int aty128fb_sync(struct fb_info *info);<br /> <br /> /*<br />@@ -2108,8 +2107,7 @@<br /> /* in param: u32* backlight value: 0 to 15 */<br /> #define FBIO_ATY128_SET_MIRROR _IOW('@', 2, __u32)<br /> <br />-static int aty128fb_ioctl(struct inode *inode, struct file *file, u_int cmd,<br />- u_long arg, struct fb_info *info)<br />+static int aty128fb_ioctl(struct fb_info *info, u_int cmd, u_long arg)<br /> {<br /> struct aty128fb_par *par = info->par;<br /> u32 value;<br />Index: linux-2.6/drivers/video/aty/atyfb_base.c<br />===================================================================<br />--- linux-2.6.orig/drivers/video/aty/atyfb_base.c 2005-11-10 01:20:49.000000000 +0100<br />+++ linux-2.6/drivers/video/aty/atyfb_base.c 2005-11-10 01:28:56.000000000 +0100<br />@@ -229,8 +229,7 @@<br /> u_int transp, struct fb_info *info);<br /> static int atyfb_pan_display(struct fb_var_screeninfo *var, struct fb_info *info);<br /> static int atyfb_blank(int blank, struct fb_info *info);<br />-static int atyfb_ioctl(struct inode *inode, struct file *file, u_int cmd,<br />- u_long arg, struct fb_info *info);<br />+static int atyfb_ioctl(struct fb_info *info, u_int cmd, u_long arg);<br /> extern void atyfb_fillrect(struct fb_info *info, const struct fb_fillrect *rect);<br /> extern void atyfb_copyarea(struct fb_info *info, const struct fb_copyarea *area);<br /> extern void atyfb_imageblit(struct fb_info *info, const struct fb_image *image);<br />@@ -1706,8 +1705,7 @@<br /> #define FBIO_WAITFORVSYNC _IOW('F', 0x20, __u32)<br /> #endif<br /> <br />-static int atyfb_ioctl(struct inode *inode, struct file *file, u_int cmd,<br />- u_long arg, struct fb_info *info)<br />+static int atyfb_ioctl(struct fb_info *info, u_int cmd, u_long arg)<br /> {<br /> struct atyfb_par *par = (struct atyfb_par *) info->par;<br /> #ifdef __sparc__<br />Index: linux-2.6/drivers/video/aty/radeon_base.c<br />===================================================================<br />--- linux-2.6.orig/drivers/video/aty/radeon_base.c 2005-11-10 01:20:49.000000000 +0100<br />+++ linux-2.6/drivers/video/aty/radeon_base.c 2005-11-10 01:28:56.000000000 +0100<br />@@ -864,8 +864,8 @@<br /> }<br /> <br /> <br />-static int radeonfb_ioctl (struct inode *inode, struct file *file, unsigned int cmd,<br />- unsigned long arg, struct fb_info *info)<br />+static int radeonfb_ioctl (struct fb_info *info, unsigned int cmd,<br />+ unsigned long arg)<br /> {<br /> struct radeonfb_info *rinfo = info->par;<br /> unsigned int tmp;<br />Index: linux-2.6/drivers/video/bw2.c<br />===================================================================<br />--- linux-2.6.orig/drivers/video/bw2.c 2005-11-10 01:20:49.000000000 +0100<br />+++ linux-2.6/drivers/video/bw2.c 2005-11-10 01:28:56.000000000 +0100<br />@@ -36,8 +36,7 @@<br /> static int bw2_blank(int, struct fb_info *);<br /> <br /> static int bw2_mmap(struct fb_info *, struct file *, struct vm_area_struct *);<br />-static int bw2_ioctl(struct inode *, struct file *, unsigned int,<br />- unsigned long, struct fb_info *);<br />+static int bw2_ioctl(struct fb_info *, unsigned int, unsigned long);<br /> <br /> /*<br /> * Frame buffer operations<br />@@ -179,8 +178,7 @@<br /> vma);<br /> }<br /> <br />-static int bw2_ioctl(struct inode *inode, struct file *file, unsigned int cmd,<br />- unsigned long arg, struct fb_info *info)<br />+static int bw2_ioctl(struct fb_info *info, unsigned int cmd, unsigned long arg)<br /> {<br /> struct bw2_par *par = (struct bw2_par *) info->par;<br /> <br />Index: linux-2.6/drivers/video/cg14.c<br />===================================================================<br />--- linux-2.6.orig/drivers/video/cg14.c 2005-11-10 01:20:49.000000000 +0100<br />+++ linux-2.6/drivers/video/cg14.c 2005-11-10 01:28:56.000000000 +0100<br />@@ -32,8 +32,7 @@<br /> unsigned, struct fb_info *);<br /> <br /> static int cg14_mmap(struct fb_info *, struct file *, struct vm_area_struct *);<br />-static int cg14_ioctl(struct inode *, struct file *, unsigned int,<br />- unsigned long, struct fb_info *);<br />+static int cg14_ioctl(struct fb_info *, unsigned int, unsigned long);<br /> static int cg14_pan_display(struct fb_var_screeninfo *, struct fb_info *);<br /> <br /> /*<br />@@ -275,8 +274,7 @@<br /> par->iospace, vma);<br /> }<br /> <br />-static int cg14_ioctl(struct inode *inode, struct file *file, unsigned int cmd,<br />- unsigned long arg, struct fb_info *info)<br />+static int cg14_ioctl(struct fb_info *info, unsigned int cmd, unsigned long arg)<br /> {<br /> struct cg14_par *par = (struct cg14_par *) info->par;<br /> struct cg14_regs __iomem *regs = par->regs;<br />Index: linux-2.6/drivers/video/cg3.c<br />===================================================================<br />--- linux-2.6.orig/drivers/video/cg3.c 2005-11-10 01:20:49.000000000 +0100<br />+++ linux-2.6/drivers/video/cg3.c 2005-11-10 01:28:56.000000000 +0100<br />@@ -34,8 +34,7 @@<br /> static int cg3_blank(int, struct fb_info *);<br /> <br /> static int cg3_mmap(struct fb_info *, struct file *, struct vm_area_struct *);<br />-static int cg3_ioctl(struct inode *, struct file *, unsigned int,<br />- unsigned long, struct fb_info *);<br />+static int cg3_ioctl(struct fb_info *, unsigned int, unsigned long);<br /> <br /> /*<br /> * Frame buffer operations<br />@@ -238,8 +237,7 @@<br /> vma);<br /> }<br /> <br />-static int cg3_ioctl(struct inode *inode, struct file *file, unsigned int cmd,<br />- unsigned long arg, struct fb_info *info)<br />+static int cg3_ioctl(struct fb_info *info, unsigned int cmd, unsigned long arg)<br /> {<br /> struct cg3_par *par = (struct cg3_par *) info->par;<br /> <br />Index: linux-2.6/drivers/video/cg6.c<br />===================================================================<br />--- linux-2.6.orig/drivers/video/cg6.c 2005-11-10 01:20:49.000000000 +0100<br />+++ linux-2.6/drivers/video/cg6.c 2005-11-10 01:28:56.000000000 +0100<br />@@ -37,8 +37,7 @@<br /> static void cg6_fillrect(struct fb_info *, const struct fb_fillrect *);<br /> static int cg6_sync(struct fb_info *);<br /> static int cg6_mmap(struct fb_info *, struct file *, struct vm_area_struct *);<br />-static int cg6_ioctl(struct inode *, struct file *, unsigned int,<br />- unsigned long, struct fb_info *);<br />+static int cg6_ioctl(struct fb_info *, unsigned int, unsigned long);<br /> <br /> /*<br /> * Frame buffer operations<br />@@ -532,8 +531,7 @@<br /> vma);<br /> }<br /> <br />-static int cg6_ioctl(struct inode *inode, struct file *file, unsigned int cmd,<br />- unsigned long arg, struct fb_info *info)<br />+static int cg6_ioctl(struct fb_info *info, unsigned int cmd, unsigned long arg)<br /> {<br /> struct cg6_par *par = (struct cg6_par *) info->par;<br /> <br />Index: linux-2.6/drivers/video/fbmem.c<br />===================================================================<br />--- linux-2.6.orig/drivers/video/fbmem.c 2005-11-10 01:26:31.000000000 +0100<br />+++ linux-2.6/drivers/video/fbmem.c 2005-11-10 01:30:13.000000000 +0100<br />@@ -929,7 +929,7 @@<br /> default:<br /> if (fb->fb_ioctl == NULL)<br /> return -EINVAL;<br />- return fb->fb_ioctl(inode, file, cmd, arg, info);<br />+ return fb->fb_ioctl(info, cmd, arg);<br /> }<br /> }<br /> <br />@@ -1079,7 +1079,7 @@<br /> <br /> default:<br /> if (fb->fb_compat_ioctl)<br />- ret = fb->fb_compat_ioctl(file, cmd, arg, info);<br />+ ret = fb->fb_compat_ioctl(cmd, arg, info);<br /> break;<br /> }<br /> unlock_kernel();<br />Index: linux-2.6/drivers/video/ffb.c<br />===================================================================<br />--- linux-2.6.orig/drivers/video/ffb.c 2005-11-10 01:20:49.000000000 +0100<br />+++ linux-2.6/drivers/video/ffb.c 2005-11-10 01:28:56.000000000 +0100<br />@@ -38,8 +38,7 @@<br /> static void ffb_copyarea(struct fb_info *, const struct fb_copyarea *);<br /> static int ffb_sync(struct fb_info *);<br /> static int ffb_mmap(struct fb_info *, struct file *, struct vm_area_struct *);<br />-static int ffb_ioctl(struct inode *, struct file *, unsigned int,<br />- unsigned long, struct fb_info *);<br />+static int ffb_ioctl(struct fb_info *, unsigned int, unsigned long);<br /> static int ffb_pan_display(struct fb_var_screeninfo *, struct fb_info *);<br /> <br /> /*<br />@@ -846,8 +845,7 @@<br /> 0, vma);<br /> }<br /> <br />-static int ffb_ioctl(struct inode *inode, struct file *file, unsigned int cmd,<br />- unsigned long arg, struct fb_info *info)<br />+static int ffb_ioctl(struct fb_info *info, unsigned int cmd, unsigned long arg)<br /> {<br /> struct ffb_par *par = (struct ffb_par *) info->par;<br /> <br />Index: linux-2.6/drivers/video/imsttfb.c<br />===================================================================<br />--- linux-2.6.orig/drivers/video/imsttfb.c 2005-11-10 01:20:49.000000000 +0100<br />+++ linux-2.6/drivers/video/imsttfb.c 2005-11-10 01:28:56.000000000 +0100<br />@@ -1263,8 +1263,7 @@<br /> #define FBIMSTT_GETIDXREG 0x545406<br /> <br /> static int<br />-imsttfb_ioctl(struct inode *inode, struct file *file, u_int cmd,<br />- u_long arg, struct fb_info *info)<br />+imsttfb_ioctl(struct fb_info *info, u_int cmd, u_long arg)<br /> {<br /> struct imstt_par *par = (struct imstt_par *) info->par;<br /> void __user *argp = (void __user *)arg;<br />Index: linux-2.6/drivers/video/intelfb/intelfbdrv.c<br />===================================================================<br />--- linux-2.6.orig/drivers/video/intelfb/intelfbdrv.c 2005-11-10 01:26:31.000000000 +0100<br />+++ linux-2.6/drivers/video/intelfb/intelfbdrv.c 2005-11-10 01:28:56.000000000 +0100<br />@@ -160,9 +160,8 @@<br /> <br /> static int intelfb_sync(struct fb_info *info);<br /> <br />-static int intelfb_ioctl(struct inode *inode, struct file *file,<br />- unsigned int cmd, unsigned long arg,<br />- struct fb_info *info);<br />+static int intelfb_ioctl(struct fb_info *info,<br />+ unsigned int cmd, unsigned long arg);<br /> <br /> static int __devinit intelfb_pci_register(struct pci_dev *pdev,<br /> const struct pci_device_id *ent);<br />@@ -1391,8 +1390,7 @@<br /> <br /> /* When/if we have our own ioctls. */<br /> static int<br />-intelfb_ioctl(struct inode *inode, struct file *file, unsigned int cmd,<br />- unsigned long arg, struct fb_info *info)<br />+intelfb_ioctl(struct fb_info *info, unsigned int cmd, unsigned long arg)<br /> {<br /> int retval = 0;<br /> <br />Index: linux-2.6/drivers/video/kyro/fbdev.c<br />===================================================================<br />--- linux-2.6.orig/drivers/video/kyro/fbdev.c 2005-11-10 01:20:49.000000000 +0100<br />+++ linux-2.6/drivers/video/kyro/fbdev.c 2005-11-10 01:28:56.000000000 +0100<br />@@ -586,9 +586,8 @@<br /> }<br /> #endif<br /> <br />-static int kyrofb_ioctl(struct inode *inode, struct file *file,<br />- unsigned int cmd, unsigned long arg,<br />- struct fb_info *info)<br />+static int kyrofb_ioctl(struct fb_info *info,<br />+ unsigned int cmd, unsigned long arg)<br /> {<br /> overlay_create ol_create;<br /> overlay_viewport_set ol_viewport_set;<br />Index: linux-2.6/drivers/video/leo.c<br />===================================================================<br />--- linux-2.6.orig/drivers/video/leo.c 2005-11-10 01:20:49.000000000 +0100<br />+++ linux-2.6/drivers/video/leo.c 2005-11-10 01:28:56.000000000 +0100<br />@@ -33,8 +33,7 @@<br /> static int leo_blank(int, struct fb_info *);<br /> <br /> static int leo_mmap(struct fb_info *, struct file *, struct vm_area_struct *);<br />-static int leo_ioctl(struct inode *, struct file *, unsigned int,<br />- unsigned long, struct fb_info *);<br />+static int leo_ioctl(struct fb_info *, unsigned int, unsigned long);<br /> static int leo_pan_display(struct fb_var_screeninfo *, struct fb_info *);<br /> <br /> /*<br />@@ -371,8 +370,7 @@<br /> vma);<br /> }<br /> <br />-static int leo_ioctl(struct inode *inode, struct file *file, unsigned int cmd,<br />- unsigned long arg, struct fb_info *info)<br />+static int leo_ioctl(struct fb_info *info, unsigned int cmd, unsigned long arg)<br /> {<br /> struct leo_par *par = (struct leo_par *) info->par;<br /> <br />Index: linux-2.6/drivers/video/matrox/matroxfb_base.c<br />===================================================================<br />--- linux-2.6.orig/drivers/video/matrox/matroxfb_base.c 2005-11-10 01:20:49.000000000 +0100<br />+++ linux-2.6/drivers/video/matrox/matroxfb_base.c 2005-11-10 01:28:56.000000000 +0100<br />@@ -865,9 +865,8 @@<br /> .name = "Panellink output",<br /> };<br /> <br />-static int matroxfb_ioctl(struct inode *inode, struct file *file,<br />- unsigned int cmd, unsigned long arg,<br />- struct fb_info *info)<br />+static int matroxfb_ioctl(struct fb_info *info,<br />+ unsigned int cmd, unsigned long arg)<br /> {<br /> void __user *argp = (void __user *)arg;<br /> MINFO_FROM_INFO(info);<br />Index: linux-2.6/drivers/video/matrox/matroxfb_crtc2.c<br />===================================================================<br />--- linux-2.6.orig/drivers/video/matrox/matroxfb_crtc2.c 2005-11-10 01:20:49.000000000 +0100<br />+++ linux-2.6/drivers/video/matrox/matroxfb_crtc2.c 2005-11-10 01:28:56.000000000 +0100<br />@@ -419,11 +419,10 @@<br /> return 0;<br /> }<br /> <br />-static int matroxfb_dh_ioctl(struct inode* inode,<br />- struct file* file,<br />+static int matroxfb_dh_ioctl(struct fb_info *info,<br /> unsigned int cmd,<br />- unsigned long arg,<br />- struct fb_info* info) {<br />+ unsigned long arg)<br />+{<br /> #define m2info (container_of(info, struct matroxfb_dh_fb_info, fbcon))<br /> MINFO_FROM(m2info->primary_dev);<br /> <br />@@ -457,7 +456,7 @@<br /> case MATROXFB_GET_OUTPUT_MODE:<br /> case MATROXFB_GET_ALL_OUTPUTS:<br /> {<br />- return ACCESS_FBINFO(fbcon.fbops)->fb_ioctl(inode, file, cmd, arg, &ACCESS_FBINFO(fbcon));<br />+ return ACCESS_FBINFO(fbcon.fbops)->fb_ioctl(&ACCESS_FBINFO(fbcon), cmd, arg);<br /> }<br /> case MATROXFB_SET_OUTPUT_CONNECTION:<br /> {<br />Index: linux-2.6/drivers/video/p9100.c<br />===================================================================<br />--- linux-2.6.orig/drivers/video/p9100.c 2005-11-10 01:20:49.000000000 +0100<br />+++ linux-2.6/drivers/video/p9100.c 2005-11-10 01:28:56.000000000 +0100<br />@@ -32,8 +32,7 @@<br /> static int p9100_blank(int, struct fb_info *);<br /> <br /> static int p9100_mmap(struct fb_info *, struct file *, struct vm_area_struct *);<br />-static int p9100_ioctl(struct inode *, struct file *, unsigned int,<br />- unsigned long, struct fb_info *);<br />+static int p9100_ioctl(struct fb_info *, unsigned int, unsigned long);<br /> <br /> /*<br /> * Frame buffer operations<br />@@ -230,8 +229,8 @@<br /> vma);<br /> }<br /> <br />-static int p9100_ioctl(struct inode *inode, struct file *file, unsigned int cmd,<br />- unsigned long arg, struct fb_info *info)<br />+static int p9100_ioctl(struct fb_info *info, unsigned int cmd,<br />+ unsigned long arg)<br /> {<br /> struct p9100_par *par = (struct p9100_par *) info->par;<br /> <br />Index: linux-2.6/drivers/video/pm3fb.c<br />===================================================================<br />--- linux-2.6.orig/drivers/video/pm3fb.c 2005-11-10 01:20:49.000000000 +0100<br />+++ linux-2.6/drivers/video/pm3fb.c 2005-11-10 01:28:56.000000000 +0100<br />@@ -657,9 +657,7 @@<br /> static void pm3fb_detect(void);<br /> static int pm3fb_pan_display(const struct fb_var_screeninfo *var,<br /> struct fb_info_gen *info);<br />-static int pm3fb_ioctl(struct inode *inode, struct file *file,<br />- u_int cmd, u_long arg, int con,<br />- struct fb_info *info);<br />+static int pm3fb_ioctl(struct fb_info *info, u_int cmd, u_long arg);<br /> <br /> <br /> /* the struct that hold them together */<br />@@ -3438,9 +3436,7 @@<br /> return 0;<br /> }<br /> <br />-static int pm3fb_ioctl(struct inode *inode, struct file *file,<br />- u_int cmd, u_long arg, int con,<br />- struct fb_info *info)<br />+static int pm3fb_ioctl(struct fb_info *info, u_int cmd, u_long arg)<br /> {<br /> struct pm3fb_info *l_fb_info = (struct pm3fb_info *) info;<br /> u32 cm, i;<br />Index: linux-2.6/drivers/video/pmag-aa-fb.c<br />===================================================================<br />--- linux-2.6.orig/drivers/video/pmag-aa-fb.c 2005-11-10 01:20:49.000000000 +0100<br />+++ linux-2.6/drivers/video/pmag-aa-fb.c 2005-11-10 01:28:56.000000000 +0100<br />@@ -299,8 +299,7 @@<br /> return -EINVAL;<br /> }<br /> <br />-static int aafb_ioctl(struct inode *inode, struct file *file, u32 cmd,<br />- unsigned long arg, int con, struct fb_info *info)<br />+static int aafb_ioctl(struct fb_info *info, u32 cmd, unsigned long arg)<br /> {<br /> /* TODO: Not yet implemented */<br /> return -ENOIOCTLCMD;<br />Index: linux-2.6/drivers/video/radeonfb.c<br />===================================================================<br />--- linux-2.6.orig/drivers/video/radeonfb.c 2005-11-10 01:20:49.000000000 +0100<br />+++ linux-2.6/drivers/video/radeonfb.c 2005-11-10 01:28:56.000000000 +0100<br />@@ -1497,8 +1497,8 @@<br /> }<br /> <br /> <br />-static int radeonfb_ioctl (struct inode *inode, struct file *file, unsigned int cmd,<br />- unsigned long arg, struct fb_info *info)<br />+static int radeonfb_ioctl (struct fb_info *info, unsigned int cmd,<br />+ unsigned long arg)<br /> {<br /> struct radeonfb_info *rinfo = (struct radeonfb_info *) info;<br /> unsigned int tmp;<br />Index: linux-2.6/drivers/video/sis/sis_main.c<br />===================================================================<br />--- linux-2.6.orig/drivers/video/sis/sis_main.c 2005-11-10 01:20:49.000000000 +0100<br />+++ linux-2.6/drivers/video/sis/sis_main.c 2005-11-10 01:28:56.000000000 +0100<br />@@ -1744,12 +1744,8 @@<br /> /* ----------- FBDev related routines for all series ---------- */<br /> <br /> static int<br />-sisfb_ioctl(struct inode *inode, struct file *file,<br />- unsigned int cmd, unsigned long arg,<br />-#if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0)<br />- int con,<br />-#endif<br />- struct fb_info *info)<br />+sisfb_ioctl(struct fb_info *info,<br />+ unsigned int cmd, unsigned long arg)<br /> {<br /> struct sis_video_info *ivideo = (struct sis_video_info *)info->par;<br /> struct sis_memreq sismemreq;<br />@@ -1924,19 +1920,6 @@<br /> return 0;<br /> }<br /> <br />-#ifdef SIS_NEW_CONFIG_COMPAT<br />-static long<br />-sisfb_compat_ioctl(struct file *f, unsigned int cmd, unsigned long arg, struct fb_info *info)<br />-{<br />- int ret;<br />-<br />- lock_kernel();<br />- ret = sisfb_ioctl(NULL, f, cmd, arg, info);<br />- unlock_kernel();<br />- return ret;<br />-}<br />-#endif<br />-<br /> static int<br /> sisfb_get_fix(struct fb_fix_screeninfo *fix, int con, struct fb_info *info)<br /> {<br />@@ -2007,7 +1990,7 @@<br /> #endif<br /> .fb_sync = fbcon_sis_sync,<br /> #ifdef SIS_NEW_CONFIG_COMPAT<br />- .fb_compat_ioctl= sisfb_compat_ioctl,<br />+ .fb_compat_ioctl= sisfb_ioctl,<br /> #endif<br /> .fb_ioctl = sisfb_ioctl<br /> };<br />Index: linux-2.6/drivers/video/sstfb.c<br />===================================================================<br />--- linux-2.6.orig/drivers/video/sstfb.c 2005-11-10 01:20:49.000000000 +0100<br />+++ linux-2.6/drivers/video/sstfb.c 2005-11-10 01:28:56.000000000 +0100<br />@@ -770,8 +770,7 @@<br /> return 0;<br /> }<br /> <br />-static int sstfb_ioctl(struct inode *inode, struct file *file,<br />- u_int cmd, u_long arg, struct fb_info *info )<br />+static int sstfb_ioctl(struct fb_info *info, u_int cmd, u_long arg)<br /> {<br /> struct sstfb_par *par = (struct sstfb_par *) info->par;<br /> struct pci_dev *sst_dev = par->dev;<br />Index: linux-2.6/drivers/video/tcx.c<br />===================================================================<br />--- linux-2.6.orig/drivers/video/tcx.c 2005-11-10 01:20:49.000000000 +0100<br />+++ linux-2.6/drivers/video/tcx.c 2005-11-10 01:28:56.000000000 +0100<br />@@ -34,8 +34,7 @@<br /> static int tcx_blank(int, struct fb_info *);<br /> <br /> static int tcx_mmap(struct fb_info *, struct file *, struct vm_area_struct *);<br />-static int tcx_ioctl(struct inode *, struct file *, unsigned int,<br />- unsigned long, struct fb_info *);<br />+static int tcx_ioctl(struct fb_info *, unsigned int, unsigned long);<br /> static int tcx_pan_display(struct fb_var_screeninfo *, struct fb_info *);<br /> <br /> /*<br />@@ -310,8 +309,8 @@<br /> vma);<br /> }<br /> <br />-static int tcx_ioctl(struct inode *inode, struct file *file, unsigned int cmd,<br />- unsigned long arg, struct fb_info *info)<br />+static int tcx_ioctl(struct fb_info *info, unsigned int cmd,<br />+ unsigned long arg)<br /> {<br /> struct tcx_par *par = (struct tcx_par *) info->par;<br /> <br />Index: linux-2.6/include/linux/fb.h<br />===================================================================<br />--- linux-2.6.orig/include/linux/fb.h 2005-11-10 01:26:32.000000000 +0100<br />+++ linux-2.6/include/linux/fb.h 2005-11-10 01:28:56.000000000 +0100<br />@@ -608,12 +608,12 @@<br /> int (*fb_sync)(struct fb_info *info);<br /> <br /> /* perform fb specific ioctl (optional) */<br />- int (*fb_ioctl)(struct inode *inode, struct file *file, unsigned int cmd,<br />- unsigned long arg, struct fb_info *info);<br />+ int (*fb_ioctl)(struct fb_info *info, unsigned int cmd,<br />+ unsigned long arg);<br /> <br /> /* Handle 32bit compat ioctl (optional) */<br />- long (*fb_compat_ioctl)(struct file *f, unsigned cmd, unsigned long arg,<br />- struct fb_info *info);<br />+ int (*fb_compat_ioctl)(struct fb_info *info, unsigned cmd,<br />+ unsigned long arg);<br /> <br /> /* perform fb specific mmap */<br /> int (*fb_mmap)(struct fb_info *info, struct file *file, struct vm_area_struct *vma);<br />-<br />To unsubscribe from this list: send the line "unsubscribe linux-kernel" in<br />the body of a message to majordomo@vger.kernel.org<br />More majordomo info at <a href="http://vger.kernel.org/majordomo-info.html">http://vger.kernel.org/majordomo-info.html</a><br />Please read the FAQ at <a href="http://www.tux.org/lkml/">http://www.tux.org/lkml/</a><br /></pre></td><td width="32" rowspan="2" class="c" valign="top"><img src="/images/icornerr.gif" width="32" height="32" alt="\" /></td></tr><tr><td align="right" valign="bottom"> 聽 </td></tr><tr><td align="right" valign="bottom">聽</td><td class="c" valign="bottom" style="padding-bottom: 0px"><img src="/images/bcornerl.gif" width="32" height="32" alt="\" /></td><td class="c">聽</td><td class="c" valign="bottom" style="padding-bottom: 0px"><img src="/images/bcornerr.gif" width="32" height="32" alt="/" /></td></tr><tr><td align="right" valign="top" colspan="2"> 聽 </td><td class="lm">Last update: 2006-01-04 10:47 聽聽 [from the cache]<br />漏2003-2020 <a href="http://blog.jasper.es/"><span itemprop="editor">Jasper Spaans</span></a>|hosted at <a href="https://www.digitalocean.com/?refcode=9a8e99d24cf9">Digital Ocean</a> and my Meterkast|<a href="http://blog.jasper.es/categories.html#lkml-ref">Read the blog</a></td><td>聽</td></tr></table><script language="javascript" src="/js/styleswitcher.js" type="text/javascript"></script></body></html>