[PATCH 01/19] staging: sm750fb: replace lynx_cursor methods with function calls

Mike Rapoport mike.rapoport at gmail.com
Mon Oct 26 07:05:50 UTC 2015


The methods in lynx_cursor always use the same implementation and there is
no point to use redirection rather than direct function call.

Signed-off-by: Mike Rapoport <mike.rapoport at gmail.com>
---
 drivers/staging/sm750fb/sm750.c | 34 ++++++++++++++--------------------
 drivers/staging/sm750fb/sm750.h |  7 -------
 2 files changed, 14 insertions(+), 27 deletions(-)

diff --git a/drivers/staging/sm750fb/sm750.c b/drivers/staging/sm750fb/sm750.c
index cd20629..3fbcee6 100644
--- a/drivers/staging/sm750fb/sm750.c
+++ b/drivers/staging/sm750fb/sm750.c
@@ -129,16 +129,16 @@ static int lynxfb_ops_cursor(struct fb_info *info, struct fb_cursor *fbcursor)
 		return -ENXIO;
 	}
 
-	cursor->disable(cursor);
+	hw_cursor_disable(cursor);
 	if (fbcursor->set & FB_CUR_SETSIZE)
-		cursor->setSize(cursor,
-				fbcursor->image.width,
-				fbcursor->image.height);
+		hw_cursor_setSize(cursor,
+				  fbcursor->image.width,
+				  fbcursor->image.height);
 
 	if (fbcursor->set & FB_CUR_SETPOS)
-		cursor->setPos(cursor,
-			       fbcursor->image.dx - info->var.xoffset,
-			       fbcursor->image.dy - info->var.yoffset);
+		hw_cursor_setPos(cursor,
+				 fbcursor->image.dx - info->var.xoffset,
+				 fbcursor->image.dy - info->var.yoffset);
 
 	if (fbcursor->set & FB_CUR_SETCMAP) {
 		/* get the 16bit color of kernel means */
@@ -152,18 +152,18 @@ static int lynxfb_ops_cursor(struct fb_info *info, struct fb_cursor *fbcursor)
 		      ((info->cmap.green[fbcursor->image.bg_color] & 0xfc00) >> 5) |
 		      ((info->cmap.blue[fbcursor->image.bg_color] & 0xf800) >> 11);
 
-		cursor->setColor(cursor, fg, bg);
+		hw_cursor_setColor(cursor, fg, bg);
 	}
 
 	if (fbcursor->set & (FB_CUR_SETSHAPE | FB_CUR_SETIMAGE)) {
-		cursor->setData(cursor,
-				fbcursor->rop,
-				fbcursor->image.data,
-				fbcursor->mask);
+		hw_cursor_setData(cursor,
+				  fbcursor->rop,
+				  fbcursor->image.data,
+				  fbcursor->mask);
 	}
 
 	if (fbcursor->enable)
-		cursor->enable(cursor);
+		hw_cursor_enable(cursor);
 
 	return 0;
 }
@@ -791,19 +791,13 @@ static int lynxfb_set_fbinfo(struct fb_info *info, int index)
 	pr_info("crtc->cursor.mmio = %p\n", crtc->cursor.mmio);
 	crtc->cursor.maxH = crtc->cursor.maxW = 64;
 	crtc->cursor.size = crtc->cursor.maxH * crtc->cursor.maxW * 2 / 8;
-	crtc->cursor.disable = hw_cursor_disable;
-	crtc->cursor.enable = hw_cursor_enable;
-	crtc->cursor.setColor = hw_cursor_setColor;
-	crtc->cursor.setPos = hw_cursor_setPos;
-	crtc->cursor.setSize = hw_cursor_setSize;
-	crtc->cursor.setData = hw_cursor_setData;
 	crtc->cursor.vstart = share->pvMem + crtc->cursor.offset;
 
 	crtc->cursor.share = share;
 		memset_io(crtc->cursor.vstart, 0, crtc->cursor.size);
 	if (!g_hwcursor) {
 		lynxfb_ops.fb_cursor = NULL;
-		crtc->cursor.disable(&crtc->cursor);
+		hw_cursor_disable(&crtc->cursor);
 	}
 
 	/* set info->fbops, must be set before fb_find_mode */
diff --git a/drivers/staging/sm750fb/sm750.h b/drivers/staging/sm750fb/sm750.h
index bf905aa..c2c217f 100644
--- a/drivers/staging/sm750fb/sm750.h
+++ b/drivers/staging/sm750fb/sm750.h
@@ -79,13 +79,6 @@ struct lynx_cursor {
 	volatile char __iomem *mmio;
 	/* the lynx_share of this adaptor */
 	struct lynx_share *share;
-	/* proc_routines */
-	void (*enable)(struct lynx_cursor *);
-	void (*disable)(struct lynx_cursor *);
-	void (*setSize)(struct lynx_cursor *, int, int);
-	void (*setPos)(struct lynx_cursor *, int, int);
-	void (*setColor)(struct lynx_cursor *, u32, u32);
-	void (*setData)(struct lynx_cursor *, u16, const u8*, const u8*);
 };
 
 struct lynxfb_crtc {
-- 
2.1.0



More information about the devel mailing list