[PATCH] staging/xgifb: Move register helper functions to header

2015-07-13 Thread Peter Huewe
and mark them as static inline.
This shrinks the compiled module from 137442 to 117732 bytes and we also
get rid of vb_util.c

Signed-off-by: Peter Huewe 
---
 drivers/staging/xgifb/Makefile  |  2 +-
 drivers/staging/xgifb/vb_util.c | 42 ---
 drivers/staging/xgifb/vb_util.h | 44 -
 3 files changed, 40 insertions(+), 48 deletions(-)
 delete mode 100644 drivers/staging/xgifb/vb_util.c

diff --git a/drivers/staging/xgifb/Makefile b/drivers/staging/xgifb/Makefile
index 55e519905346..964a843c4521 100644
--- a/drivers/staging/xgifb/Makefile
+++ b/drivers/staging/xgifb/Makefile
@@ -1,4 +1,4 @@
 obj-$(CONFIG_FB_XGI)  += xgifb.o
 
-xgifb-y := XGI_main_26.o vb_init.o vb_setmode.o vb_util.o
+xgifb-y := XGI_main_26.o vb_init.o vb_setmode.o
 
diff --git a/drivers/staging/xgifb/vb_util.c b/drivers/staging/xgifb/vb_util.c
deleted file mode 100644
index be3437ca339e..
--- a/drivers/staging/xgifb/vb_util.c
+++ /dev/null
@@ -1,42 +0,0 @@
-#include "vgatypes.h"
-#include "vb_util.h"
-
-void xgifb_reg_set(unsigned long port, u8 index, u8 data)
-{
-   outb(index, port);
-   outb(data, port + 1);
-}
-
-u8 xgifb_reg_get(unsigned long port, u8 index)
-{
-   outb(index, port);
-   return inb(port + 1);
-}
-
-void xgifb_reg_and_or(unsigned long port, u8 index,
-   unsigned data_and, unsigned data_or)
-{
-   u8 temp;
-
-   temp = xgifb_reg_get(port, index); /* XGINew_Part1Port index 02 */
-   temp = (temp & data_and) | data_or;
-   xgifb_reg_set(port, index, temp);
-}
-
-void xgifb_reg_and(unsigned long port, u8 index, unsigned data_and)
-{
-   u8 temp;
-
-   temp = xgifb_reg_get(port, index); /* XGINew_Part1Port index 02 */
-   temp &= data_and;
-   xgifb_reg_set(port, index, temp);
-}
-
-void xgifb_reg_or(unsigned long port, u8 index, unsigned data_or)
-{
-   u8 temp;
-
-   temp = xgifb_reg_get(port, index); /* XGINew_Part1Port index 02 */
-   temp |= data_or;
-   xgifb_reg_set(port, index, temp);
-}
diff --git a/drivers/staging/xgifb/vb_util.h b/drivers/staging/xgifb/vb_util.h
index 9161de1d37dd..7bd395fb31b2 100644
--- a/drivers/staging/xgifb/vb_util.h
+++ b/drivers/staging/xgifb/vb_util.h
@@ -1,9 +1,43 @@
 #ifndef _VBUTIL_
 #define _VBUTIL_
-extern void xgifb_reg_set(unsigned long, u8, u8);
-extern u8 xgifb_reg_get(unsigned long, u8);
-extern void xgifb_reg_or(unsigned long, u8, unsigned);
-extern void xgifb_reg_and(unsigned long, u8, unsigned);
-extern void xgifb_reg_and_or(unsigned long, u8, unsigned, unsigned);
+static inline void xgifb_reg_set(unsigned long port, u8 index, u8 data)
+{
+   outb(index, port);
+   outb(data, port + 1);
+}
+
+static inline u8 xgifb_reg_get(unsigned long port, u8 index)
+{
+   outb(index, port);
+   return inb(port + 1);
+}
+
+static inline void xgifb_reg_and_or(unsigned long port, u8 index,
+   unsigned data_and, unsigned data_or)
+{
+   u8 temp;
+
+   temp = xgifb_reg_get(port, index);
+   temp = (temp & data_and) | data_or;
+   xgifb_reg_set(port, index, temp);
+}
+
+static inline void xgifb_reg_and(unsigned long port, u8 index, unsigned 
data_and)
+{
+   u8 temp;
+
+   temp = xgifb_reg_get(port, index);
+   temp &= data_and;
+   xgifb_reg_set(port, index, temp);
+}
+
+static inline void xgifb_reg_or(unsigned long port, u8 index, unsigned data_or)
+{
+   u8 temp;
+
+   temp = xgifb_reg_get(port, index);
+   temp |= data_or;
+   xgifb_reg_set(port, index, temp);
+}
 #endif
 
-- 
2.3.6

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH] staging/xgifb: fix dumpVGAReg compile error if DEBUG is set

2015-07-24 Thread Peter Huewe
If DEBUG is set dumpVGAReg is called and tries to access
XGISR which is defined as (xgifb_info->dev_info.P3c4)
which is not known within this function.

-> add as parameter to dumpVGAReg so xgifb_info becomes known

Signed-off-by: Peter Huewe 
---
 drivers/staging/xgifb/XGI_main_26.c | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/staging/xgifb/XGI_main_26.c 
b/drivers/staging/xgifb/XGI_main_26.c
index 943d463cf193..f3738400acd0 100644
--- a/drivers/staging/xgifb/XGI_main_26.c
+++ b/drivers/staging/xgifb/XGI_main_26.c
@@ -29,7 +29,7 @@ static unsigned int refresh_rate;
 /*  Macro definitions  */
 
 #ifdef DEBUG
-static void dumpVGAReg(void)
+static void dumpVGAReg(struct xgifb_video_info *xgifb_info)
 {
u8 i, reg;
 
@@ -48,7 +48,7 @@ static void dumpVGAReg(void)
}
 }
 #else
-static inline void dumpVGAReg(void)
+static inline void dumpVGAReg(struct xgifb_video_info *xgifb_info)
 {
 }
 #endif
@@ -1073,7 +1073,7 @@ static int XGIfb_do_set_var(struct fb_var_screeninfo 
*var, int isactive,
}
XGIfb_bpp_to_var(xgifb_info, var); /*update ARGB info*/
 
-   dumpVGAReg();
+   dumpVGAReg(xgifb_info);
return 0;
 }
 
@@ -2019,7 +2019,7 @@ static int xgifb_probe(struct pci_dev *pdev,
goto error_mtrr;
}
 
-   dumpVGAReg();
+   dumpVGAReg(xgifb_info);
 
return 0;
 
-- 
2.3.6

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel