From b8e719754f9a4f12d61e105d0cdbec1a583fd1c8 Mon Sep 17 00:00:00 2001 From: Aaro Koskinen Date: Tue, 6 Dec 2011 00:10:30 +0200 Subject: [PATCH] staging: xgifb: ReadVBIOSTablData(): avoid duplicating code If the count (j) is 0xff, just do the loop once. Signed-off-by: Aaro Koskinen Signed-off-by: Greg Kroah-Hartman --- drivers/staging/xgifb/vb_init.c | 97 ++++++++++++----------------------------- 1 file changed, 27 insertions(+), 70 deletions(-) diff --git a/drivers/staging/xgifb/vb_init.c b/drivers/staging/xgifb/vb_init.c index 9b86f4f..2d4aa06 100644 --- a/drivers/staging/xgifb/vb_init.c +++ b/drivers/staging/xgifb/vb_init.c @@ -1106,101 +1106,58 @@ static void ReadVBIOSTablData(unsigned char ChipType, pVBInfo->IF_DEF_LVDS = 1; i = pVideoMemory[0x316] | (pVideoMemory[0x317] << 8); j = pVideoMemory[i - 1]; - if (j != 0xff) { - k = 0; - do { - pVBInfo->XG21_LVDSCapList[k]. - LVDS_Capability - = pVideoMemory[i] | - (pVideoMemory[i + 1] << 8); - pVBInfo->XG21_LVDSCapList[k].LVDSHT - = pVideoMemory[i + 2] | - (pVideoMemory[i + 3] << 8); - pVBInfo->XG21_LVDSCapList[k].LVDSVT - = pVideoMemory[i + 4] | - (pVideoMemory[i + 5] << 8); - pVBInfo->XG21_LVDSCapList[k].LVDSHDE - = pVideoMemory[i + 6] | - (pVideoMemory[i + 7] << 8); - pVBInfo->XG21_LVDSCapList[k].LVDSVDE - = pVideoMemory[i + 8] | - (pVideoMemory[i + 9] << 8); - pVBInfo->XG21_LVDSCapList[k].LVDSHFP - = pVideoMemory[i + 10] | - (pVideoMemory[i + 11] << 8); - pVBInfo->XG21_LVDSCapList[k].LVDSVFP - = pVideoMemory[i + 12] | - (pVideoMemory[i + 13] << 8); - pVBInfo->XG21_LVDSCapList[k].LVDSHSYNC - = pVideoMemory[i + 14] | - (pVideoMemory[i + 15] << 8); - pVBInfo->XG21_LVDSCapList[k].LVDSVSYNC - = pVideoMemory[i + 16] | - (pVideoMemory[i + 17] << 8); - pVBInfo->XG21_LVDSCapList[k].VCLKData1 - = pVideoMemory[i + 18]; - pVBInfo->XG21_LVDSCapList[k].VCLKData2 - = pVideoMemory[i + 19]; - pVBInfo->XG21_LVDSCapList[k].PSC_S1 - = pVideoMemory[i + 20]; - pVBInfo->XG21_LVDSCapList[k].PSC_S2 - = pVideoMemory[i + 21]; - pVBInfo->XG21_LVDSCapList[k].PSC_S3 - = pVideoMemory[i + 22]; - pVBInfo->XG21_LVDSCapList[k].PSC_S4 - = pVideoMemory[i + 23]; - pVBInfo->XG21_LVDSCapList[k].PSC_S5 - = pVideoMemory[i + 24]; - i += 25; - j--; - k++; - } while ((j > 0) && - (k < (sizeof(XGI21_LCDCapList) / - sizeof(struct - XGI21_LVDSCapStruct)))); - } else { - pVBInfo->XG21_LVDSCapList[0].LVDS_Capability + if (j == 0xff) + j = 1; + k = 0; + do { + pVBInfo->XG21_LVDSCapList[k].LVDS_Capability = pVideoMemory[i] | (pVideoMemory[i + 1] << 8); - pVBInfo->XG21_LVDSCapList[0].LVDSHT + pVBInfo->XG21_LVDSCapList[k].LVDSHT = pVideoMemory[i + 2] | (pVideoMemory[i + 3] << 8); - pVBInfo->XG21_LVDSCapList[0].LVDSVT + pVBInfo->XG21_LVDSCapList[k].LVDSVT = pVideoMemory[i + 4] | (pVideoMemory[i + 5] << 8); - pVBInfo->XG21_LVDSCapList[0].LVDSHDE + pVBInfo->XG21_LVDSCapList[k].LVDSHDE = pVideoMemory[i + 6] | (pVideoMemory[i + 7] << 8); - pVBInfo->XG21_LVDSCapList[0].LVDSVDE + pVBInfo->XG21_LVDSCapList[k].LVDSVDE = pVideoMemory[i + 8] | (pVideoMemory[i + 9] << 8); - pVBInfo->XG21_LVDSCapList[0].LVDSHFP + pVBInfo->XG21_LVDSCapList[k].LVDSHFP = pVideoMemory[i + 10] | (pVideoMemory[i + 11] << 8); - pVBInfo->XG21_LVDSCapList[0].LVDSVFP + pVBInfo->XG21_LVDSCapList[k].LVDSVFP = pVideoMemory[i + 12] | (pVideoMemory[i + 13] << 8); - pVBInfo->XG21_LVDSCapList[0].LVDSHSYNC + pVBInfo->XG21_LVDSCapList[k].LVDSHSYNC = pVideoMemory[i + 14] | (pVideoMemory[i + 15] << 8); - pVBInfo->XG21_LVDSCapList[0].LVDSVSYNC + pVBInfo->XG21_LVDSCapList[k].LVDSVSYNC = pVideoMemory[i + 16] | (pVideoMemory[i + 17] << 8); - pVBInfo->XG21_LVDSCapList[0].VCLKData1 + pVBInfo->XG21_LVDSCapList[k].VCLKData1 = pVideoMemory[i + 18]; - pVBInfo->XG21_LVDSCapList[0].VCLKData2 + pVBInfo->XG21_LVDSCapList[k].VCLKData2 = pVideoMemory[i + 19]; - pVBInfo->XG21_LVDSCapList[0].PSC_S1 + pVBInfo->XG21_LVDSCapList[k].PSC_S1 = pVideoMemory[i + 20]; - pVBInfo->XG21_LVDSCapList[0].PSC_S2 + pVBInfo->XG21_LVDSCapList[k].PSC_S2 = pVideoMemory[i + 21]; - pVBInfo->XG21_LVDSCapList[0].PSC_S3 + pVBInfo->XG21_LVDSCapList[k].PSC_S3 = pVideoMemory[i + 22]; - pVBInfo->XG21_LVDSCapList[0].PSC_S4 + pVBInfo->XG21_LVDSCapList[k].PSC_S4 = pVideoMemory[i + 23]; - pVBInfo->XG21_LVDSCapList[0].PSC_S5 + pVBInfo->XG21_LVDSCapList[k].PSC_S5 = pVideoMemory[i + 24]; - } + i += 25; + j--; + k++; + } while ((j > 0) && + (k < (sizeof(XGI21_LCDCapList) / + sizeof(struct + XGI21_LVDSCapStruct)))); } } } -- 2.7.4