[PATCH] fbdev: Sanitize ->fb_mmap prototype
No need for a file argument. If we'd really need it it's in vma->vm_file already. gbefb and sgivwfb used to set vma->vm_file to the file argument, but the kernel alrady did that. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Antonino Daplas <adaplas@pol.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
67a6680d64
commit
216d526c89
22 changed files with 35 additions and 39 deletions
|
@ -102,8 +102,7 @@ static int mc68x328fb_setcolreg(u_int regno, u_int red, u_int green, u_int blue,
|
||||||
u_int transp, struct fb_info *info);
|
u_int transp, struct fb_info *info);
|
||||||
static int mc68x328fb_pan_display(struct fb_var_screeninfo *var,
|
static int mc68x328fb_pan_display(struct fb_var_screeninfo *var,
|
||||||
struct fb_info *info);
|
struct fb_info *info);
|
||||||
static int mc68x328fb_mmap(struct fb_info *info, struct file *file,
|
static int mc68x328fb_mmap(struct fb_info *info, struct vm_area_struct *vma);
|
||||||
struct vm_area_struct *vma);
|
|
||||||
|
|
||||||
static struct fb_ops mc68x328fb_ops = {
|
static struct fb_ops mc68x328fb_ops = {
|
||||||
.fb_check_var = mc68x328fb_check_var,
|
.fb_check_var = mc68x328fb_check_var,
|
||||||
|
@ -398,8 +397,7 @@ static int mc68x328fb_pan_display(struct fb_var_screeninfo *var,
|
||||||
* Most drivers don't need their own mmap function
|
* Most drivers don't need their own mmap function
|
||||||
*/
|
*/
|
||||||
|
|
||||||
static int mc68x328fb_mmap(struct fb_info *info, struct file *file,
|
static int mc68x328fb_mmap(struct fb_info *info, struct vm_area_struct *vma)
|
||||||
struct vm_area_struct *vma)
|
|
||||||
{
|
{
|
||||||
#ifndef MMU
|
#ifndef MMU
|
||||||
/* this is uClinux (no MMU) specific code */
|
/* this is uClinux (no MMU) specific code */
|
||||||
|
|
|
@ -883,7 +883,7 @@ acornfb_pan_display(struct fb_var_screeninfo *var, struct fb_info *info)
|
||||||
* Note that we are entered with the kernel locked.
|
* Note that we are entered with the kernel locked.
|
||||||
*/
|
*/
|
||||||
static int
|
static int
|
||||||
acornfb_mmap(struct fb_info *info, struct file *file, struct vm_area_struct *vma)
|
acornfb_mmap(struct fb_info *info, struct vm_area_struct *vma)
|
||||||
{
|
{
|
||||||
unsigned long off, start;
|
unsigned long off, start;
|
||||||
u32 len;
|
u32 len;
|
||||||
|
|
|
@ -307,7 +307,7 @@ static int clcdfb_blank(int blank_mode, struct fb_info *info)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int clcdfb_mmap(struct fb_info *info, struct file *file,
|
static int clcdfb_mmap(struct fb_info *info,
|
||||||
struct vm_area_struct *vma)
|
struct vm_area_struct *vma)
|
||||||
{
|
{
|
||||||
struct clcd_fb *fb = to_clcd(info);
|
struct clcd_fb *fb = to_clcd(info);
|
||||||
|
|
|
@ -243,7 +243,7 @@ extern void atyfb_fillrect(struct fb_info *info, const struct fb_fillrect *rect)
|
||||||
extern void atyfb_copyarea(struct fb_info *info, const struct fb_copyarea *area);
|
extern void atyfb_copyarea(struct fb_info *info, const struct fb_copyarea *area);
|
||||||
extern void atyfb_imageblit(struct fb_info *info, const struct fb_image *image);
|
extern void atyfb_imageblit(struct fb_info *info, const struct fb_image *image);
|
||||||
#ifdef __sparc__
|
#ifdef __sparc__
|
||||||
static int atyfb_mmap(struct fb_info *info, struct file *file, struct vm_area_struct *vma);
|
static int atyfb_mmap(struct fb_info *info, struct vm_area_struct *vma);
|
||||||
#endif
|
#endif
|
||||||
static int atyfb_sync(struct fb_info *info);
|
static int atyfb_sync(struct fb_info *info);
|
||||||
|
|
||||||
|
@ -1843,7 +1843,7 @@ static int atyfb_sync(struct fb_info *info)
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef __sparc__
|
#ifdef __sparc__
|
||||||
static int atyfb_mmap(struct fb_info *info, struct file *file, struct vm_area_struct *vma)
|
static int atyfb_mmap(struct fb_info *info, struct vm_area_struct *vma)
|
||||||
{
|
{
|
||||||
struct atyfb_par *par = (struct atyfb_par *) info->par;
|
struct atyfb_par *par = (struct atyfb_par *) info->par;
|
||||||
unsigned int size, page, map_size = 0;
|
unsigned int size, page, map_size = 0;
|
||||||
|
|
|
@ -379,7 +379,7 @@ void au1100fb_fb_rotate(struct fb_info *fbi, int angle)
|
||||||
* Map video memory in user space. We don't use the generic fb_mmap method mainly
|
* Map video memory in user space. We don't use the generic fb_mmap method mainly
|
||||||
* to allow the use of the TLB streaming flag (CCA=6)
|
* to allow the use of the TLB streaming flag (CCA=6)
|
||||||
*/
|
*/
|
||||||
int au1100fb_fb_mmap(struct fb_info *fbi, struct file *file, struct vm_area_struct *vma)
|
int au1100fb_fb_mmap(struct fb_info *fbi, struct vm_area_struct *vma)
|
||||||
{
|
{
|
||||||
struct au1100fb_device *fbdev = to_au1100fb_device(fbi);
|
struct au1100fb_device *fbdev = to_au1100fb_device(fbi);
|
||||||
unsigned int len;
|
unsigned int len;
|
||||||
|
|
|
@ -35,7 +35,7 @@
|
||||||
|
|
||||||
static int bw2_blank(int, struct fb_info *);
|
static int bw2_blank(int, struct fb_info *);
|
||||||
|
|
||||||
static int bw2_mmap(struct fb_info *, struct file *, struct vm_area_struct *);
|
static int bw2_mmap(struct fb_info *, struct vm_area_struct *);
|
||||||
static int bw2_ioctl(struct fb_info *, unsigned int, unsigned long);
|
static int bw2_ioctl(struct fb_info *, unsigned int, unsigned long);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -168,7 +168,7 @@ static struct sbus_mmap_map bw2_mmap_map[] = {
|
||||||
{ .size = 0 }
|
{ .size = 0 }
|
||||||
};
|
};
|
||||||
|
|
||||||
static int bw2_mmap(struct fb_info *info, struct file *file, struct vm_area_struct *vma)
|
static int bw2_mmap(struct fb_info *info, struct vm_area_struct *vma)
|
||||||
{
|
{
|
||||||
struct bw2_par *par = (struct bw2_par *)info->par;
|
struct bw2_par *par = (struct bw2_par *)info->par;
|
||||||
|
|
||||||
|
|
|
@ -31,7 +31,7 @@
|
||||||
static int cg14_setcolreg(unsigned, unsigned, unsigned, unsigned,
|
static int cg14_setcolreg(unsigned, unsigned, unsigned, unsigned,
|
||||||
unsigned, struct fb_info *);
|
unsigned, struct fb_info *);
|
||||||
|
|
||||||
static int cg14_mmap(struct fb_info *, struct file *, struct vm_area_struct *);
|
static int cg14_mmap(struct fb_info *, struct vm_area_struct *);
|
||||||
static int cg14_ioctl(struct fb_info *, unsigned int, unsigned long);
|
static int cg14_ioctl(struct fb_info *, unsigned int, unsigned long);
|
||||||
static int cg14_pan_display(struct fb_var_screeninfo *, struct fb_info *);
|
static int cg14_pan_display(struct fb_var_screeninfo *, struct fb_info *);
|
||||||
|
|
||||||
|
@ -267,7 +267,7 @@ static int cg14_setcolreg(unsigned regno,
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int cg14_mmap(struct fb_info *info, struct file *file, struct vm_area_struct *vma)
|
static int cg14_mmap(struct fb_info *info, struct vm_area_struct *vma)
|
||||||
{
|
{
|
||||||
struct cg14_par *par = (struct cg14_par *) info->par;
|
struct cg14_par *par = (struct cg14_par *) info->par;
|
||||||
|
|
||||||
|
|
|
@ -33,7 +33,7 @@ static int cg3_setcolreg(unsigned, unsigned, unsigned, unsigned,
|
||||||
unsigned, struct fb_info *);
|
unsigned, struct fb_info *);
|
||||||
static int cg3_blank(int, struct fb_info *);
|
static int cg3_blank(int, struct fb_info *);
|
||||||
|
|
||||||
static int cg3_mmap(struct fb_info *, struct file *, struct vm_area_struct *);
|
static int cg3_mmap(struct fb_info *, struct vm_area_struct *);
|
||||||
static int cg3_ioctl(struct fb_info *, unsigned int, unsigned long);
|
static int cg3_ioctl(struct fb_info *, unsigned int, unsigned long);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -229,7 +229,7 @@ static struct sbus_mmap_map cg3_mmap_map[] = {
|
||||||
{ .size = 0 }
|
{ .size = 0 }
|
||||||
};
|
};
|
||||||
|
|
||||||
static int cg3_mmap(struct fb_info *info, struct file *file, struct vm_area_struct *vma)
|
static int cg3_mmap(struct fb_info *info, struct vm_area_struct *vma)
|
||||||
{
|
{
|
||||||
struct cg3_par *par = (struct cg3_par *)info->par;
|
struct cg3_par *par = (struct cg3_par *)info->par;
|
||||||
|
|
||||||
|
|
|
@ -36,7 +36,7 @@ static int cg6_blank(int, struct fb_info *);
|
||||||
static void cg6_imageblit(struct fb_info *, const struct fb_image *);
|
static void cg6_imageblit(struct fb_info *, const struct fb_image *);
|
||||||
static void cg6_fillrect(struct fb_info *, const struct fb_fillrect *);
|
static void cg6_fillrect(struct fb_info *, const struct fb_fillrect *);
|
||||||
static int cg6_sync(struct fb_info *);
|
static int cg6_sync(struct fb_info *);
|
||||||
static int cg6_mmap(struct fb_info *, struct file *, struct vm_area_struct *);
|
static int cg6_mmap(struct fb_info *, struct vm_area_struct *);
|
||||||
static int cg6_ioctl(struct fb_info *, unsigned int, unsigned long);
|
static int cg6_ioctl(struct fb_info *, unsigned int, unsigned long);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -523,7 +523,7 @@ static struct sbus_mmap_map cg6_mmap_map[] = {
|
||||||
{ .size = 0 }
|
{ .size = 0 }
|
||||||
};
|
};
|
||||||
|
|
||||||
static int cg6_mmap(struct fb_info *info, struct file *file, struct vm_area_struct *vma)
|
static int cg6_mmap(struct fb_info *info, struct vm_area_struct *vma)
|
||||||
{
|
{
|
||||||
struct cg6_par *par = (struct cg6_par *)info->par;
|
struct cg6_par *par = (struct cg6_par *)info->par;
|
||||||
|
|
||||||
|
|
|
@ -128,7 +128,7 @@ static int controlfb_pan_display(struct fb_var_screeninfo *var,
|
||||||
static int controlfb_setcolreg(u_int regno, u_int red, u_int green, u_int blue,
|
static int controlfb_setcolreg(u_int regno, u_int red, u_int green, u_int blue,
|
||||||
u_int transp, struct fb_info *info);
|
u_int transp, struct fb_info *info);
|
||||||
static int controlfb_blank(int blank_mode, struct fb_info *info);
|
static int controlfb_blank(int blank_mode, struct fb_info *info);
|
||||||
static int controlfb_mmap(struct fb_info *info, struct file *file,
|
static int controlfb_mmap(struct fb_info *info,
|
||||||
struct vm_area_struct *vma);
|
struct vm_area_struct *vma);
|
||||||
static int controlfb_set_par (struct fb_info *info);
|
static int controlfb_set_par (struct fb_info *info);
|
||||||
static int controlfb_check_var (struct fb_var_screeninfo *var, struct fb_info *info);
|
static int controlfb_check_var (struct fb_var_screeninfo *var, struct fb_info *info);
|
||||||
|
@ -280,7 +280,7 @@ static int controlfb_pan_display(struct fb_var_screeninfo *var,
|
||||||
* for controlfb.
|
* for controlfb.
|
||||||
* Note there's no locking in here; it's done in fb_mmap() in fbmem.c.
|
* Note there's no locking in here; it's done in fb_mmap() in fbmem.c.
|
||||||
*/
|
*/
|
||||||
static int controlfb_mmap(struct fb_info *info, struct file *file,
|
static int controlfb_mmap(struct fb_info *info,
|
||||||
struct vm_area_struct *vma)
|
struct vm_area_struct *vma)
|
||||||
{
|
{
|
||||||
unsigned long off, start;
|
unsigned long off, start;
|
||||||
|
|
|
@ -1135,7 +1135,7 @@ fb_mmap(struct file *file, struct vm_area_struct * vma)
|
||||||
if (fb->fb_mmap) {
|
if (fb->fb_mmap) {
|
||||||
int res;
|
int res;
|
||||||
lock_kernel();
|
lock_kernel();
|
||||||
res = fb->fb_mmap(info, file, vma);
|
res = fb->fb_mmap(info, vma);
|
||||||
unlock_kernel();
|
unlock_kernel();
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
|
@ -37,7 +37,7 @@ static void ffb_imageblit(struct fb_info *, const struct fb_image *);
|
||||||
static void ffb_fillrect(struct fb_info *, const struct fb_fillrect *);
|
static void ffb_fillrect(struct fb_info *, const struct fb_fillrect *);
|
||||||
static void ffb_copyarea(struct fb_info *, const struct fb_copyarea *);
|
static void ffb_copyarea(struct fb_info *, const struct fb_copyarea *);
|
||||||
static int ffb_sync(struct fb_info *);
|
static int ffb_sync(struct fb_info *);
|
||||||
static int ffb_mmap(struct fb_info *, struct file *, struct vm_area_struct *);
|
static int ffb_mmap(struct fb_info *, struct vm_area_struct *);
|
||||||
static int ffb_ioctl(struct fb_info *, unsigned int, unsigned long);
|
static int ffb_ioctl(struct fb_info *, unsigned int, unsigned long);
|
||||||
static int ffb_pan_display(struct fb_var_screeninfo *, struct fb_info *);
|
static int ffb_pan_display(struct fb_var_screeninfo *, struct fb_info *);
|
||||||
|
|
||||||
|
@ -838,7 +838,7 @@ static struct sbus_mmap_map ffb_mmap_map[] = {
|
||||||
{ .size = 0 }
|
{ .size = 0 }
|
||||||
};
|
};
|
||||||
|
|
||||||
static int ffb_mmap(struct fb_info *info, struct file *file, struct vm_area_struct *vma)
|
static int ffb_mmap(struct fb_info *info, struct vm_area_struct *vma)
|
||||||
{
|
{
|
||||||
struct ffb_par *par = (struct ffb_par *)info->par;
|
struct ffb_par *par = (struct ffb_par *)info->par;
|
||||||
|
|
||||||
|
|
|
@ -979,7 +979,7 @@ static int gbefb_check_var(struct fb_var_screeninfo *var, struct fb_info *info)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int gbefb_mmap(struct fb_info *info, struct file *file,
|
static int gbefb_mmap(struct fb_info *info,
|
||||||
struct vm_area_struct *vma)
|
struct vm_area_struct *vma)
|
||||||
{
|
{
|
||||||
unsigned long size = vma->vm_end - vma->vm_start;
|
unsigned long size = vma->vm_end - vma->vm_start;
|
||||||
|
@ -1000,7 +1000,6 @@ static int gbefb_mmap(struct fb_info *info, struct file *file,
|
||||||
pgprot_fb(pgprot_val(vma->vm_page_prot));
|
pgprot_fb(pgprot_val(vma->vm_page_prot));
|
||||||
|
|
||||||
vma->vm_flags |= VM_IO | VM_RESERVED;
|
vma->vm_flags |= VM_IO | VM_RESERVED;
|
||||||
vma->vm_file = file;
|
|
||||||
|
|
||||||
/* look for the starting tile */
|
/* look for the starting tile */
|
||||||
tile = &gbe_tiles.cpu[offset >> TILE_SHIFT];
|
tile = &gbe_tiles.cpu[offset >> TILE_SHIFT];
|
||||||
|
|
|
@ -219,7 +219,7 @@ static void iga_blank_border(struct iga_par *par)
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef __sparc__
|
#ifdef __sparc__
|
||||||
static int igafb_mmap(struct fb_info *info, struct file *file,
|
static int igafb_mmap(struct fb_info *info,
|
||||||
struct vm_area_struct *vma)
|
struct vm_area_struct *vma)
|
||||||
{
|
{
|
||||||
struct iga_par *par = (struct iga_par *)info->par;
|
struct iga_par *par = (struct iga_par *)info->par;
|
||||||
|
|
|
@ -32,7 +32,7 @@ static int leo_setcolreg(unsigned, unsigned, unsigned, unsigned,
|
||||||
unsigned, struct fb_info *);
|
unsigned, struct fb_info *);
|
||||||
static int leo_blank(int, struct fb_info *);
|
static int leo_blank(int, struct fb_info *);
|
||||||
|
|
||||||
static int leo_mmap(struct fb_info *, struct file *, struct vm_area_struct *);
|
static int leo_mmap(struct fb_info *, struct vm_area_struct *);
|
||||||
static int leo_ioctl(struct fb_info *, unsigned int, unsigned long);
|
static int leo_ioctl(struct fb_info *, unsigned int, unsigned long);
|
||||||
static int leo_pan_display(struct fb_var_screeninfo *, struct fb_info *);
|
static int leo_pan_display(struct fb_var_screeninfo *, struct fb_info *);
|
||||||
|
|
||||||
|
@ -362,7 +362,7 @@ static struct sbus_mmap_map leo_mmap_map[] = {
|
||||||
{ .size = 0 }
|
{ .size = 0 }
|
||||||
};
|
};
|
||||||
|
|
||||||
static int leo_mmap(struct fb_info *info, struct file *file, struct vm_area_struct *vma)
|
static int leo_mmap(struct fb_info *info, struct vm_area_struct *vma)
|
||||||
{
|
{
|
||||||
struct leo_par *par = (struct leo_par *)info->par;
|
struct leo_par *par = (struct leo_par *)info->par;
|
||||||
|
|
||||||
|
|
|
@ -31,7 +31,7 @@ static int p9100_setcolreg(unsigned, unsigned, unsigned, unsigned,
|
||||||
unsigned, struct fb_info *);
|
unsigned, struct fb_info *);
|
||||||
static int p9100_blank(int, struct fb_info *);
|
static int p9100_blank(int, struct fb_info *);
|
||||||
|
|
||||||
static int p9100_mmap(struct fb_info *, struct file *, struct vm_area_struct *);
|
static int p9100_mmap(struct fb_info *, struct vm_area_struct *);
|
||||||
static int p9100_ioctl(struct fb_info *, unsigned int, unsigned long);
|
static int p9100_ioctl(struct fb_info *, unsigned int, unsigned long);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -221,7 +221,7 @@ static struct sbus_mmap_map p9100_mmap_map[] = {
|
||||||
{ 0, 0, 0 }
|
{ 0, 0, 0 }
|
||||||
};
|
};
|
||||||
|
|
||||||
static int p9100_mmap(struct fb_info *info, struct file *file, struct vm_area_struct *vma)
|
static int p9100_mmap(struct fb_info *info, struct vm_area_struct *vma)
|
||||||
{
|
{
|
||||||
struct p9100_par *par = (struct p9100_par *)info->par;
|
struct p9100_par *par = (struct p9100_par *)info->par;
|
||||||
|
|
||||||
|
|
|
@ -395,7 +395,7 @@ static int pxafb_blank(int blank, struct fb_info *info)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int pxafb_mmap(struct fb_info *info, struct file *file,
|
static int pxafb_mmap(struct fb_info *info,
|
||||||
struct vm_area_struct *vma)
|
struct vm_area_struct *vma)
|
||||||
{
|
{
|
||||||
struct pxafb_info *fbi = (struct pxafb_info *)info;
|
struct pxafb_info *fbi = (struct pxafb_info *)info;
|
||||||
|
|
|
@ -815,7 +815,7 @@ static int sa1100fb_blank(int blank, struct fb_info *info)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int sa1100fb_mmap(struct fb_info *info, struct file *file,
|
static int sa1100fb_mmap(struct fb_info *info,
|
||||||
struct vm_area_struct *vma)
|
struct vm_area_struct *vma)
|
||||||
{
|
{
|
||||||
struct sa1100fb_info *fbi = (struct sa1100fb_info *)info;
|
struct sa1100fb_info *fbi = (struct sa1100fb_info *)info;
|
||||||
|
|
|
@ -115,7 +115,7 @@ static int sgivwfb_set_par(struct fb_info *info);
|
||||||
static int sgivwfb_setcolreg(u_int regno, u_int red, u_int green,
|
static int sgivwfb_setcolreg(u_int regno, u_int red, u_int green,
|
||||||
u_int blue, u_int transp,
|
u_int blue, u_int transp,
|
||||||
struct fb_info *info);
|
struct fb_info *info);
|
||||||
static int sgivwfb_mmap(struct fb_info *info, struct file *file,
|
static int sgivwfb_mmap(struct fb_info *info,
|
||||||
struct vm_area_struct *vma);
|
struct vm_area_struct *vma);
|
||||||
|
|
||||||
static struct fb_ops sgivwfb_ops = {
|
static struct fb_ops sgivwfb_ops = {
|
||||||
|
@ -706,7 +706,7 @@ static int sgivwfb_setcolreg(u_int regno, u_int red, u_int green,
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int sgivwfb_mmap(struct fb_info *info, struct file *file,
|
static int sgivwfb_mmap(struct fb_info *info,
|
||||||
struct vm_area_struct *vma)
|
struct vm_area_struct *vma)
|
||||||
{
|
{
|
||||||
unsigned long size = vma->vm_end - vma->vm_start;
|
unsigned long size = vma->vm_end - vma->vm_start;
|
||||||
|
@ -723,7 +723,6 @@ static int sgivwfb_mmap(struct fb_info *info, struct file *file,
|
||||||
if (remap_pfn_range(vma, vma->vm_start, offset >> PAGE_SHIFT,
|
if (remap_pfn_range(vma, vma->vm_start, offset >> PAGE_SHIFT,
|
||||||
size, vma->vm_page_prot))
|
size, vma->vm_page_prot))
|
||||||
return -EAGAIN;
|
return -EAGAIN;
|
||||||
vma->vm_file = file;
|
|
||||||
printk(KERN_DEBUG "sgivwfb: mmap framebuffer P(%lx)->V(%lx)\n",
|
printk(KERN_DEBUG "sgivwfb: mmap framebuffer P(%lx)->V(%lx)\n",
|
||||||
offset, vma->vm_start);
|
offset, vma->vm_start);
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
@ -33,7 +33,7 @@ static int tcx_setcolreg(unsigned, unsigned, unsigned, unsigned,
|
||||||
unsigned, struct fb_info *);
|
unsigned, struct fb_info *);
|
||||||
static int tcx_blank(int, struct fb_info *);
|
static int tcx_blank(int, struct fb_info *);
|
||||||
|
|
||||||
static int tcx_mmap(struct fb_info *, struct file *, struct vm_area_struct *);
|
static int tcx_mmap(struct fb_info *, struct vm_area_struct *);
|
||||||
static int tcx_ioctl(struct fb_info *, unsigned int, unsigned long);
|
static int tcx_ioctl(struct fb_info *, unsigned int, unsigned long);
|
||||||
static int tcx_pan_display(struct fb_var_screeninfo *, struct fb_info *);
|
static int tcx_pan_display(struct fb_var_screeninfo *, struct fb_info *);
|
||||||
|
|
||||||
|
@ -301,7 +301,7 @@ static struct sbus_mmap_map __tcx_mmap_map[TCX_MMAP_ENTRIES] = {
|
||||||
{ .size = 0 }
|
{ .size = 0 }
|
||||||
};
|
};
|
||||||
|
|
||||||
static int tcx_mmap(struct fb_info *info, struct file *file, struct vm_area_struct *vma)
|
static int tcx_mmap(struct fb_info *info, struct vm_area_struct *vma)
|
||||||
{
|
{
|
||||||
struct tcx_par *par = (struct tcx_par *)info->par;
|
struct tcx_par *par = (struct tcx_par *)info->par;
|
||||||
|
|
||||||
|
|
|
@ -81,7 +81,7 @@ static int vfb_setcolreg(u_int regno, u_int red, u_int green, u_int blue,
|
||||||
u_int transp, struct fb_info *info);
|
u_int transp, struct fb_info *info);
|
||||||
static int vfb_pan_display(struct fb_var_screeninfo *var,
|
static int vfb_pan_display(struct fb_var_screeninfo *var,
|
||||||
struct fb_info *info);
|
struct fb_info *info);
|
||||||
static int vfb_mmap(struct fb_info *info, struct file *file,
|
static int vfb_mmap(struct fb_info *info,
|
||||||
struct vm_area_struct *vma);
|
struct vm_area_struct *vma);
|
||||||
|
|
||||||
static struct fb_ops vfb_ops = {
|
static struct fb_ops vfb_ops = {
|
||||||
|
@ -368,7 +368,7 @@ static int vfb_pan_display(struct fb_var_screeninfo *var,
|
||||||
* Most drivers don't need their own mmap function
|
* Most drivers don't need their own mmap function
|
||||||
*/
|
*/
|
||||||
|
|
||||||
static int vfb_mmap(struct fb_info *info, struct file *file,
|
static int vfb_mmap(struct fb_info *info,
|
||||||
struct vm_area_struct *vma)
|
struct vm_area_struct *vma)
|
||||||
{
|
{
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
|
@ -616,7 +616,7 @@ struct fb_ops {
|
||||||
unsigned long arg);
|
unsigned long arg);
|
||||||
|
|
||||||
/* perform fb specific mmap */
|
/* perform fb specific mmap */
|
||||||
int (*fb_mmap)(struct fb_info *info, struct file *file, struct vm_area_struct *vma);
|
int (*fb_mmap)(struct fb_info *info, struct vm_area_struct *vma);
|
||||||
|
|
||||||
/* save current hardware state */
|
/* save current hardware state */
|
||||||
void (*fb_save_state)(struct fb_info *info);
|
void (*fb_save_state)(struct fb_info *info);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue