svga: Make svga_tilecursor() take an iomem regbase pointer.
authorDavid Miller <davem@davemloft.net>
Tue, 11 Jan 2011 23:52:11 +0000 (23:52 +0000)
committerPaul Mundt <lethal@linux-sh.org>
Tue, 22 Mar 2011 06:47:18 +0000 (15:47 +0900)
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
drivers/video/arkfb.c
drivers/video/s3fb.c
drivers/video/svgalib.c
drivers/video/vt8623fb.c
include/linux/svga.h

index 658fff45332c972dee5d893cc9f594f8dea0bf10..a4cfcf99ceb62aef489bccb01855090b9dbdf54e 100644 (file)
@@ -158,12 +158,19 @@ static void arkfb_settile(struct fb_info *info, struct fb_tilemap *map)
        }
 }
 
+static void arkfb_tilecursor(struct fb_info *info, struct fb_tilecursor *cursor)
+{
+       struct arkfb_info *par = info->par;
+
+       svga_tilecursor(par->state.vgabase, info, cursor);
+}
+
 static struct fb_tile_ops arkfb_tile_ops = {
        .fb_settile     = arkfb_settile,
        .fb_tilecopy    = svga_tilecopy,
        .fb_tilefill    = svga_tilefill,
        .fb_tileblit    = svga_tileblit,
-       .fb_tilecursor  = svga_tilecursor,
+       .fb_tilecursor  = arkfb_tilecursor,
        .fb_get_tilemax = svga_get_tilemax,
 };
 
index 01721956580088d046abff96d5e1cb738501acf3..be3802e8108a91eaa18a8b68ea0d6bd017fb7bd6 100644 (file)
@@ -188,12 +188,19 @@ static void s3fb_settile_fast(struct fb_info *info, struct fb_tilemap *map)
        }
 }
 
+static void s3fb_tilecursor(struct fb_info *info, struct fb_tilecursor *cursor)
+{
+       struct s3fb_info *par = info->par;
+
+       svga_tilecursor(par->state.vgabase, info, cursor);
+}
+
 static struct fb_tile_ops s3fb_tile_ops = {
        .fb_settile     = svga_settile,
        .fb_tilecopy    = svga_tilecopy,
        .fb_tilefill    = svga_tilefill,
        .fb_tileblit    = svga_tileblit,
-       .fb_tilecursor  = svga_tilecursor,
+       .fb_tilecursor  = s3fb_tilecursor,
        .fb_get_tilemax = svga_get_tilemax,
 };
 
@@ -202,7 +209,7 @@ static struct fb_tile_ops s3fb_fast_tile_ops = {
        .fb_tilecopy    = svga_tilecopy,
        .fb_tilefill    = svga_tilefill,
        .fb_tileblit    = svga_tileblit,
-       .fb_tilecursor  = svga_tilecursor,
+       .fb_tilecursor  = s3fb_tilecursor,
        .fb_get_tilemax = svga_get_tilemax,
 };
 
index ecda90ec405684c9b2c07a63dbc4d535701dd9e8..4876be85ecfda5777bdbe9ffb2d8ca06d8de1e4e 100644 (file)
@@ -299,7 +299,7 @@ void svga_tileblit(struct fb_info *info, struct fb_tileblit *blit)
 }
 
 /* Set cursor in text (tileblit) mode */
-void svga_tilecursor(struct fb_info *info, struct fb_tilecursor *cursor)
+void svga_tilecursor(void __iomem *regbase, struct fb_info *info, struct fb_tilecursor *cursor)
 {
        u8 cs = 0x0d;
        u8 ce = 0x0e;
@@ -310,7 +310,7 @@ void svga_tilecursor(struct fb_info *info, struct fb_tilecursor *cursor)
        if (! cursor -> mode)
                return;
 
-       svga_wcrt_mask(NULL, 0x0A, 0x20, 0x20); /* disable cursor */
+       svga_wcrt_mask(regbase, 0x0A, 0x20, 0x20); /* disable cursor */
 
        if (cursor -> shape == FB_TILE_CURSOR_NONE)
                return;
@@ -334,11 +334,11 @@ void svga_tilecursor(struct fb_info *info, struct fb_tilecursor *cursor)
        }
 
        /* set cursor position */
-       vga_wcrt(NULL, 0x0E, pos >> 8);
-       vga_wcrt(NULL, 0x0F, pos & 0xFF);
+       vga_wcrt(regbase, 0x0E, pos >> 8);
+       vga_wcrt(regbase, 0x0F, pos & 0xFF);
 
-       vga_wcrt(NULL, 0x0B, ce); /* set cursor end */
-       vga_wcrt(NULL, 0x0A, cs); /* set cursor start and enable it */
+       vga_wcrt(regbase, 0x0B, ce); /* set cursor end */
+       vga_wcrt(regbase, 0x0A, cs); /* set cursor start and enable it */
 }
 
 int svga_get_tilemax(struct fb_info *info)
index e3bb7c5b1bd5c05c8ca4d198bf704badd7e24c1c..cedac002fa4ba5ddde989b293ccbf1fd91d7ea54 100644 (file)
@@ -121,13 +121,19 @@ MODULE_PARM_DESC(mtrr, "Enable write-combining with MTRR (1=enable, 0=disable, d
 
 /* ------------------------------------------------------------------------- */
 
+static void vt8623fb_tilecursor(struct fb_info *info, struct fb_tilecursor *cursor)
+{
+       struct vt8623fb_info *par = info->par;
+
+       svga_tilecursor(par->state.vgabase, info, cursor);
+}
 
 static struct fb_tile_ops vt8623fb_tile_ops = {
        .fb_settile     = svga_settile,
        .fb_tilecopy    = svga_tilecopy,
        .fb_tilefill    = svga_tilefill,
        .fb_tileblit    = svga_tileblit,
-       .fb_tilecursor  = svga_tilecursor,
+       .fb_tilecursor  = vt8623fb_tilecursor,
        .fb_get_tilemax = svga_get_tilemax,
 };
 
index 767937d362d15c24aa7cf411e433a0db34a3262c..87879500f75b934561ae1ed10f0e6bbaad1f990c 100644 (file)
@@ -109,7 +109,7 @@ void svga_settile(struct fb_info *info, struct fb_tilemap *map);
 void svga_tilecopy(struct fb_info *info, struct fb_tilearea *area);
 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);
+void svga_tilecursor(void __iomem *regbase, 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);