Refactor XGI_BridgeIsOn(). IF_DEF_LVDS bit is not valid for < XG20 chips.
Also we can make the function static by moving it to vb_init.

Signed-off-by: Aaro Koskinen <aaro.koski...@iki.fi>
---
 drivers/staging/xgifb/vb_init.c    |   10 +++++++++-
 drivers/staging/xgifb/vb_setmode.c |   15 ---------------
 drivers/staging/xgifb/vb_setmode.h |    1 -
 3 files changed, 9 insertions(+), 17 deletions(-)

diff --git a/drivers/staging/xgifb/vb_init.c b/drivers/staging/xgifb/vb_init.c
index 19ce5a9..a7d1eb6 100644
--- a/drivers/staging/xgifb/vb_init.c
+++ b/drivers/staging/xgifb/vb_init.c
@@ -1216,6 +1216,14 @@ static unsigned char GetXG27FPBits(struct vb_device_info 
*pVBInfo)
        return temp;
 }
 
+static bool xgifb_bridge_is_on(struct vb_device_info *vb_info)
+{
+       u8 flag;
+
+       flag = xgifb_reg_get(vb_info->Part4Port, 0x00);
+       return flag == 1 || flag == 2;
+}
+
 unsigned char XGIInitNew(struct pci_dev *pdev)
 {
        struct xgifb_video_info *xgifb_info = pci_get_drvdata(pdev);
@@ -1353,7 +1361,7 @@ unsigned char XGIInitNew(struct pci_dev *pdev)
        xgifb_reg_set(pVBInfo->P3c4, 0x33, XGI330_SR33);
 
        if (HwDeviceExtension->jChipType < XG20) {
-               if (XGI_BridgeIsOn(pVBInfo) == 1) {
+               if (xgifb_bridge_is_on(pVBInfo)) {
                        xgifb_reg_set(pVBInfo->Part2Port, 0x00, 0x1C);
                        xgifb_reg_set(pVBInfo->Part4Port,
                                      0x0D, XGI330_CRT2Data_4_D);
diff --git a/drivers/staging/xgifb/vb_setmode.c 
b/drivers/staging/xgifb/vb_setmode.c
index 3adec3f..49fa62c3 100644
--- a/drivers/staging/xgifb/vb_setmode.c
+++ b/drivers/staging/xgifb/vb_setmode.c
@@ -5308,21 +5308,6 @@ void XGI_LockCRT2(struct xgi_hw_device_info 
*HwDeviceExtension,
 
 }
 
-unsigned char XGI_BridgeIsOn(struct vb_device_info *pVBInfo)
-{
-       unsigned short flag;
-
-       if (pVBInfo->IF_DEF_LVDS == 1) {
-               return 1;
-       } else {
-               flag = xgifb_reg_get(pVBInfo->Part4Port, 0x00);
-               if ((flag == 1) || (flag == 2))
-                       return 1; /* 301b */
-               else
-                       return 0;
-       }
-}
-
 unsigned short XGI_GetRatePtrCRT2(struct xgi_hw_device_info *pXGIHWDE,
                unsigned short ModeNo, unsigned short ModeIdIndex,
                struct vb_device_info *pVBInfo)
diff --git a/drivers/staging/xgifb/vb_setmode.h 
b/drivers/staging/xgifb/vb_setmode.h
index 5524828..2c0a31c 100644
--- a/drivers/staging/xgifb/vb_setmode.h
+++ b/drivers/staging/xgifb/vb_setmode.h
@@ -18,7 +18,6 @@ extern unsigned char XGISetModeNew(struct xgifb_video_info 
*xgifb_info,
 extern unsigned char XGI_SearchModeID(unsigned short ModeNo,
                                      unsigned short *ModeIdIndex,
                                      struct vb_device_info *);
-extern unsigned char XGI_BridgeIsOn(struct vb_device_info *);
 extern unsigned short XGI_GetRatePtrCRT2(struct xgi_hw_device_info *pXGIHWDE,
                                         unsigned short ModeNo,
                                         unsigned short ModeIdIndex,
-- 
1.7.10.4

_______________________________________________
devel mailing list
devel@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/devel

Reply via email to