svgalib: move fb_get_caps to svgalib
authorAntonino A. Daplas <adaplas@gmail.com>
Wed, 9 May 2007 09:35:32 +0000 (02:35 -0700)
committerLinus Torvalds <torvalds@woody.linux-foundation.org>
Wed, 9 May 2007 19:30:57 +0000 (12:30 -0700)
Move fb_get_caps() method to svgalib.c as svga_get_caps() so it can be used by
s3fb, arkfb and vt8623fb.

Signed-off-by: Antonino Daplas <adaplas@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
drivers/video/arkfb.c
drivers/video/s3fb.c
drivers/video/svgalib.c
drivers/video/vt8623fb.c
include/linux/svga.h

index 9288dd1..ba6fede 100644 (file)
@@ -919,6 +919,7 @@ static struct fb_ops arkfb_ops = {
        .fb_fillrect    = arkfb_fillrect,
        .fb_copyarea    = cfb_copyarea,
        .fb_imageblit   = arkfb_imageblit,
+       .fb_get_caps    = svga_get_caps,
 };
 
 
index 756fafb..d117358 100644 (file)
@@ -796,23 +796,6 @@ static int s3fb_pan_display(struct fb_var_screeninfo *var, struct fb_info *info)
        return 0;
 }
 
-/* Get capabilities of accelerator based on the mode */
-
-static void s3fb_get_caps(struct fb_info *info, struct fb_blit_caps *caps,
-                         struct fb_var_screeninfo *var)
-{
-       if (var->bits_per_pixel == 0) {
-               /* can only support 256 8x16 bitmap */
-               caps->x = 1 << (8 - 1);
-               caps->y = 1 << (16 - 1);
-               caps->len = 256;
-       } else {
-               caps->x = ~(u32)0;
-               caps->y = ~(u32)0;
-               caps->len = ~(u32)0;
-       }
-}
-
 /* ------------------------------------------------------------------------- */
 
 /* Frame buffer operations */
@@ -829,7 +812,7 @@ static struct fb_ops s3fb_ops = {
        .fb_fillrect    = s3fb_fillrect,
        .fb_copyarea    = cfb_copyarea,
        .fb_imageblit   = s3fb_imageblit,
-       .fb_get_caps    = s3fb_get_caps,
+       .fb_get_caps    = svga_get_caps,
 };
 
 /* ------------------------------------------------------------------------- */
index 079cdc9..25df928 100644 (file)
@@ -347,6 +347,23 @@ int svga_get_tilemax(struct fb_info *info)
        return 256;
 }
 
+/* Get capabilities of accelerator based on the mode */
+
+void svga_get_caps(struct fb_info *info, struct fb_blit_caps *caps,
+                  struct fb_var_screeninfo *var)
+{
+       if (var->bits_per_pixel == 0) {
+               /* can only support 256 8x16 bitmap */
+               caps->x = 1 << (8 - 1);
+               caps->y = 1 << (16 - 1);
+               caps->len = 256;
+       } else {
+               caps->x = (var->bits_per_pixel == 4) ? 1 << (8 - 1) : ~(u32)0;
+               caps->y = ~(u32)0;
+               caps->len = ~(u32)0;
+       }
+}
+EXPORT_SYMBOL(svga_get_caps);
 
 /* ------------------------------------------------------------------------- */
 
index 8883b6f..5e9755e 100644 (file)
@@ -635,6 +635,7 @@ static struct fb_ops vt8623fb_ops = {
        .fb_fillrect    = vt8623fb_fillrect,
        .fb_copyarea    = cfb_copyarea,
        .fb_imageblit   = vt8623fb_imageblit,
+       .fb_get_caps    = svga_get_caps,
 };
 
 
index e1cc552..13ad0b8 100644 (file)
@@ -113,6 +113,8 @@ void svga_tilefill(struct fb_info *info, struct fb_tilerect *rect);
 void svga_tileblit(struct fb_info *info, struct fb_tileblit *blit);
 void svga_tilecursor(struct fb_info *info, struct fb_tilecursor *cursor);
 int svga_get_tilemax(struct fb_info *info);
+void svga_get_caps(struct fb_info *info, struct fb_blit_caps *caps,
+                  struct fb_var_screeninfo *var);
 
 int svga_compute_pll(const struct svga_pll *pll, u32 f_wanted, u16 *m, u16 *n, u16 *r, int node);
 int svga_check_timings(const struct svga_timing_regs *tm, struct fb_var_screeninfo *var, int node);