fbdev/p9100: Use initializer macro for struct fb_ops
Initialize struct fb_ops to the correct default values with the macro FB_DEFAULT_SBUS_OPS(). Rename the ioctl and mmap callbacks to use the infix _sbusfb_. This makes them fit the SBUS helpers' naming pattern. Also make the driver depend on FB_SBUS_HELPERS, which selects the correct modules. Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> Reviewed-by: Sam Ravnborg <sam@ravnborg.org> Link: https://patchwork.freedesktop.org/patch/msgid/20230806120926.5368-11-tzimmermann@suse.de
This commit is contained in:
@@ -577,9 +577,7 @@ config FB_CG14
|
||||
config FB_P9100
|
||||
bool "P9100 (Sparcbook 3 only) support"
|
||||
depends on FB_SBUS
|
||||
select FB_CFB_FILLRECT
|
||||
select FB_CFB_COPYAREA
|
||||
select FB_CFB_IMAGEBLIT
|
||||
select FB_SBUS_HELPERS
|
||||
help
|
||||
This is the frame buffer device driver for the P9100 card
|
||||
supported on Sparcbook 3 machines.
|
||||
|
||||
@@ -30,8 +30,8 @@ static int p9100_setcolreg(unsigned, unsigned, unsigned, unsigned,
|
||||
unsigned, struct fb_info *);
|
||||
static int p9100_blank(int, struct fb_info *);
|
||||
|
||||
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_sbusfb_mmap(struct fb_info *info, struct vm_area_struct *vma);
|
||||
static int p9100_sbusfb_ioctl(struct fb_info *info, unsigned int cmd, unsigned long arg);
|
||||
|
||||
/*
|
||||
* Frame buffer operations
|
||||
@@ -39,16 +39,9 @@ static int p9100_ioctl(struct fb_info *, unsigned int, unsigned long);
|
||||
|
||||
static const struct fb_ops p9100_ops = {
|
||||
.owner = THIS_MODULE,
|
||||
FB_DEFAULT_SBUS_OPS(p9100),
|
||||
.fb_setcolreg = p9100_setcolreg,
|
||||
.fb_blank = p9100_blank,
|
||||
.fb_fillrect = cfb_fillrect,
|
||||
.fb_copyarea = cfb_copyarea,
|
||||
.fb_imageblit = cfb_imageblit,
|
||||
.fb_mmap = p9100_mmap,
|
||||
.fb_ioctl = p9100_ioctl,
|
||||
#ifdef CONFIG_COMPAT
|
||||
.fb_compat_ioctl = sbusfb_compat_ioctl,
|
||||
#endif
|
||||
};
|
||||
|
||||
/* P9100 control registers */
|
||||
@@ -217,7 +210,7 @@ static struct sbus_mmap_map p9100_mmap_map[] = {
|
||||
{ 0, 0, 0 }
|
||||
};
|
||||
|
||||
static int p9100_mmap(struct fb_info *info, struct vm_area_struct *vma)
|
||||
static int p9100_sbusfb_mmap(struct fb_info *info, struct vm_area_struct *vma)
|
||||
{
|
||||
struct p9100_par *par = (struct p9100_par *)info->par;
|
||||
|
||||
@@ -226,8 +219,7 @@ static int p9100_mmap(struct fb_info *info, struct vm_area_struct *vma)
|
||||
par->which_io, vma);
|
||||
}
|
||||
|
||||
static int p9100_ioctl(struct fb_info *info, unsigned int cmd,
|
||||
unsigned long arg)
|
||||
static int p9100_sbusfb_ioctl(struct fb_info *info, unsigned int cmd, unsigned long arg)
|
||||
{
|
||||
/* Make it look like a cg3. */
|
||||
return sbusfb_ioctl_helper(cmd, arg, info,
|
||||
|
||||
Reference in New Issue
Block a user