]> git.baikalelectronics.ru Git - kernel.git/commitdiff
video: fbdev: controlfb: remove function prototypes part #3
authorBartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Tue, 24 Mar 2020 13:45:08 +0000 (14:45 +0100)
committerBartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Fri, 17 Apr 2020 13:50:06 +0000 (15:50 +0200)
Reorder code a bit and then remove no longer needed function
prototypes.

Acked-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200324134508.25120-7-b.zolnierkie@samsung.com
drivers/video/fbdev/controlfb.c

index 417b95437bf91e6d99524d64f5dfcdf11e3bafd5..52170ed20e745dc0d81abdb59c3bbc60f7a75550 100644 (file)
@@ -141,16 +141,6 @@ struct fb_info_control {
 #define CNTRL_REG(INFO,REG) (&(((INFO)->control_regs->REG).r))
 
 
-/******************** Prototypes for internal functions **********************/
-
-static void control_set_hardware(struct fb_info_control *p,
-       struct fb_par_control *par);
-static int control_var_to_par(struct fb_var_screeninfo *var,
-       struct fb_par_control *par, const struct fb_info *fb_info);
-static void control_par_to_var(struct fb_par_control *par,
-       struct fb_var_screeninfo *var);
-
-
 /************************** Internal variables *******************************/
 
 static struct fb_info_control *control_fb;
@@ -159,153 +149,6 @@ static int default_vmode __initdata = VMODE_NVRAM;
 static int default_cmode __initdata = CMODE_NVRAM;
 
 
-/********************  The functions for controlfb_ops ********************/
-
-/*
- * Checks a var structure
- */
-static int controlfb_check_var (struct fb_var_screeninfo *var, struct fb_info *info)
-{
-       struct fb_par_control par;
-       int err;
-
-       err = control_var_to_par(var, &par, info);
-       if (err)
-               return err;     
-       control_par_to_var(&par, var);
-
-       return 0;
-}
-
-/*
- * Applies current var to display
- */
-static int controlfb_set_par (struct fb_info *info)
-{
-       struct fb_info_control *p =
-               container_of(info, struct fb_info_control, info);
-       struct fb_par_control par;
-       int err;
-
-       if((err = control_var_to_par(&info->var, &par, info))) {
-               printk (KERN_ERR "controlfb_set_par: error calling"
-                                " control_var_to_par: %d.\n", err);
-               return err;
-       }
-       
-       control_set_hardware(p, &par);
-
-       info->fix.visual = (p->par.cmode == CMODE_8) ?
-               FB_VISUAL_PSEUDOCOLOR : FB_VISUAL_DIRECTCOLOR;
-       info->fix.line_length = p->par.pitch;
-       info->fix.xpanstep = 32 >> p->par.cmode;
-       info->fix.ypanstep = 1;
-
-       return 0;
-}
-
-/*
- * Set screen start address according to var offset values
- */
-static inline void set_screen_start(int xoffset, int yoffset,
-       struct fb_info_control *p)
-{
-       struct fb_par_control *par = &p->par;
-
-       par->xoffset = xoffset;
-       par->yoffset = yoffset;
-       out_le32(CNTRL_REG(p,start_addr),
-                par->yoffset * par->pitch + (par->xoffset << par->cmode));
-}
-
-
-static int controlfb_pan_display(struct fb_var_screeninfo *var,
-                                struct fb_info *info)
-{
-       unsigned int xoffset, hstep;
-       struct fb_info_control *p =
-               container_of(info, struct fb_info_control, info);
-       struct fb_par_control *par = &p->par;
-
-       /*
-        * make sure start addr will be 32-byte aligned
-        */
-       hstep = 0x1f >> par->cmode;
-       xoffset = (var->xoffset + hstep) & ~hstep;
-
-       if (xoffset+par->xres > par->vxres ||
-           var->yoffset+par->yres > par->vyres)
-               return -EINVAL;
-
-       set_screen_start(xoffset, var->yoffset, p);
-
-       return 0;
-}
-
-
-/*
- * Private mmap since we want to have a different caching on the framebuffer
- * for controlfb.
- * 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 vm_area_struct *vma)
-{
-       unsigned long mmio_pgoff;
-       unsigned long start;
-       u32 len;
-
-       start = info->fix.smem_start;
-       len = info->fix.smem_len;
-       mmio_pgoff = PAGE_ALIGN((start & ~PAGE_MASK) + len) >> PAGE_SHIFT;
-       if (vma->vm_pgoff >= mmio_pgoff) {
-               if (info->var.accel_flags)
-                       return -EINVAL;
-               vma->vm_pgoff -= mmio_pgoff;
-               start = info->fix.mmio_start;
-               len = info->fix.mmio_len;
-               vma->vm_page_prot = pgprot_noncached(vma->vm_page_prot);
-       } else {
-               /* framebuffer */
-               vma->vm_page_prot = pgprot_cached_wthru(vma->vm_page_prot);
-       }
-
-       return vm_iomap_memory(vma, start, len);
-}
-
-static int controlfb_blank(int blank_mode, struct fb_info *info)
-{
-       struct fb_info_control __maybe_unused *p =
-               container_of(info, struct fb_info_control, info);
-       unsigned ctrl;
-
-       ctrl = in_le32(CNTRL_REG(p, ctrl));
-       if (blank_mode > 0)
-               switch (blank_mode) {
-               case FB_BLANK_VSYNC_SUSPEND:
-                       ctrl &= ~3;
-                       break;
-               case FB_BLANK_HSYNC_SUSPEND:
-                       ctrl &= ~0x30;
-                       break;
-               case FB_BLANK_POWERDOWN:
-                       ctrl &= ~0x33;
-                       /* fall through */
-               case FB_BLANK_NORMAL:
-                       ctrl |= 0x400;
-                       break;
-               default:
-                       break;
-               }
-       else {
-               ctrl &= ~0x400;
-               ctrl |= 0x33;
-       }
-       out_le32(CNTRL_REG(p,ctrl), ctrl);
-
-       return 0;
-}
-
 static int controlfb_setcolreg(u_int regno, u_int red, u_int green, u_int blue,
                             u_int transp, struct fb_info *info)
 {
@@ -362,6 +205,20 @@ static void set_control_clock(unsigned char *params)
 #endif 
 }
 
+/*
+ * Set screen start address according to var offset values
+ */
+static inline void set_screen_start(int xoffset, int yoffset,
+       struct fb_info_control *p)
+{
+       struct fb_par_control *par = &p->par;
+
+       par->xoffset = xoffset;
+       par->yoffset = yoffset;
+       out_le32(CNTRL_REG(p,start_addr),
+                par->yoffset * par->pitch + (par->xoffset << par->cmode));
+}
+
 #define RADACAL_WRITE(a,d) \
        out_8(&p->cmap_regs->addr, (a)); \
        out_8(&p->cmap_regs->dat,   (d))
@@ -771,6 +628,137 @@ static void control_par_to_var(struct fb_par_control *par, struct fb_var_screeni
        var->pixclock >>= par->regvals.clock_params[2];
 }
 
+/********************  The functions for controlfb_ops ********************/
+
+/*
+ * Checks a var structure
+ */
+static int controlfb_check_var (struct fb_var_screeninfo *var, struct fb_info *info)
+{
+       struct fb_par_control par;
+       int err;
+
+       err = control_var_to_par(var, &par, info);
+       if (err)
+               return err;     
+       control_par_to_var(&par, var);
+
+       return 0;
+}
+
+/*
+ * Applies current var to display
+ */
+static int controlfb_set_par (struct fb_info *info)
+{
+       struct fb_info_control *p =
+               container_of(info, struct fb_info_control, info);
+       struct fb_par_control par;
+       int err;
+
+       if((err = control_var_to_par(&info->var, &par, info))) {
+               printk (KERN_ERR "controlfb_set_par: error calling"
+                                " control_var_to_par: %d.\n", err);
+               return err;
+       }
+       
+       control_set_hardware(p, &par);
+
+       info->fix.visual = (p->par.cmode == CMODE_8) ?
+               FB_VISUAL_PSEUDOCOLOR : FB_VISUAL_DIRECTCOLOR;
+       info->fix.line_length = p->par.pitch;
+       info->fix.xpanstep = 32 >> p->par.cmode;
+       info->fix.ypanstep = 1;
+
+       return 0;
+}
+
+static int controlfb_pan_display(struct fb_var_screeninfo *var,
+                                struct fb_info *info)
+{
+       unsigned int xoffset, hstep;
+       struct fb_info_control *p =
+               container_of(info, struct fb_info_control, info);
+       struct fb_par_control *par = &p->par;
+
+       /*
+        * make sure start addr will be 32-byte aligned
+        */
+       hstep = 0x1f >> par->cmode;
+       xoffset = (var->xoffset + hstep) & ~hstep;
+
+       if (xoffset+par->xres > par->vxres ||
+           var->yoffset+par->yres > par->vyres)
+               return -EINVAL;
+
+       set_screen_start(xoffset, var->yoffset, p);
+
+       return 0;
+}
+
+static int controlfb_blank(int blank_mode, struct fb_info *info)
+{
+       struct fb_info_control __maybe_unused *p =
+               container_of(info, struct fb_info_control, info);
+       unsigned ctrl;
+
+       ctrl = in_le32(CNTRL_REG(p, ctrl));
+       if (blank_mode > 0)
+               switch (blank_mode) {
+               case FB_BLANK_VSYNC_SUSPEND:
+                       ctrl &= ~3;
+                       break;
+               case FB_BLANK_HSYNC_SUSPEND:
+                       ctrl &= ~0x30;
+                       break;
+               case FB_BLANK_POWERDOWN:
+                       ctrl &= ~0x33;
+                       /* fall through */
+               case FB_BLANK_NORMAL:
+                       ctrl |= 0x400;
+                       break;
+               default:
+                       break;
+               }
+       else {
+               ctrl &= ~0x400;
+               ctrl |= 0x33;
+       }
+       out_le32(CNTRL_REG(p,ctrl), ctrl);
+
+       return 0;
+}
+
+/*
+ * Private mmap since we want to have a different caching on the framebuffer
+ * for controlfb.
+ * 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 vm_area_struct *vma)
+{
+       unsigned long mmio_pgoff;
+       unsigned long start;
+       u32 len;
+
+       start = info->fix.smem_start;
+       len = info->fix.smem_len;
+       mmio_pgoff = PAGE_ALIGN((start & ~PAGE_MASK) + len) >> PAGE_SHIFT;
+       if (vma->vm_pgoff >= mmio_pgoff) {
+               if (info->var.accel_flags)
+                       return -EINVAL;
+               vma->vm_pgoff -= mmio_pgoff;
+               start = info->fix.mmio_start;
+               len = info->fix.mmio_len;
+               vma->vm_page_prot = pgprot_noncached(vma->vm_page_prot);
+       } else {
+               /* framebuffer */
+               vma->vm_page_prot = pgprot_cached_wthru(vma->vm_page_prot);
+       }
+
+       return vm_iomap_memory(vma, start, len);
+}
+
 static const struct fb_ops controlfb_ops = {
        .owner          = THIS_MODULE,
        .fb_check_var   = controlfb_check_var,