diff options
author | Peter Huewe <peterhuewe@gmx.de> | 2015-07-14 00:44:09 +0200 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2015-07-14 19:55:31 -0700 |
commit | fb44d9a507305ab05945d8a781a0a1255a3d9868 (patch) | |
tree | d32c389e4844fba937acad5ee3288edbae98df12 /drivers/staging/xgifb | |
parent | d5a3a945fdf2584f3191e8cc958234057ef691da (diff) | |
download | linux-fb44d9a507305ab05945d8a781a0a1255a3d9868.tar.gz linux-fb44d9a507305ab05945d8a781a0a1255a3d9868.tar.bz2 linux-fb44d9a507305ab05945d8a781a0a1255a3d9868.zip |
staging/xgifb: Move register helper functions to header
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 <peterhuewe@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/staging/xgifb')
-rw-r--r-- | drivers/staging/xgifb/Makefile | 2 | ||||
-rw-r--r-- | drivers/staging/xgifb/vb_util.c | 42 | ||||
-rw-r--r-- | drivers/staging/xgifb/vb_util.h | 44 |
3 files changed, 40 insertions, 48 deletions
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..000000000000 --- 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 |