void InitTo330Pointer(unsigned char ChipType, struct vb_device_info *pVBInfo)
 {
        pVBInfo->MCLKData = XGI340New_MCLKData;
-       pVBInfo->VCLKData = XGI_VCLKData;
-       pVBInfo->VBVCLKData = XGI_VBVCLKData;
        pVBInfo->ScreenOffset = XGI330_ScreenOffset;
        pVBInfo->StResInfo = XGI330_StResInfo;
        pVBInfo->ModeResInfo = XGI330_ModeResInfo;
 {
 
        xgifb_reg_and_or(pVBInfo->P3c4, 0x31, ~0x30, 0x20);
-       xgifb_reg_set(pVBInfo->P3c4, 0x2B, pVBInfo->VCLKData[0].SR2B);
-       xgifb_reg_set(pVBInfo->P3c4, 0x2C, pVBInfo->VCLKData[0].SR2C);
+       xgifb_reg_set(pVBInfo->P3c4, 0x2B, XGI_VCLKData[0].SR2B);
+       xgifb_reg_set(pVBInfo->P3c4, 0x2C, XGI_VCLKData[0].SR2C);
 
        xgifb_reg_and_or(pVBInfo->P3c4, 0x31, ~0x30, 0x10);
-       xgifb_reg_set(pVBInfo->P3c4, 0x2B, pVBInfo->VCLKData[1].SR2B);
-       xgifb_reg_set(pVBInfo->P3c4, 0x2C, pVBInfo->VCLKData[1].SR2C);
+       xgifb_reg_set(pVBInfo->P3c4, 0x2B, XGI_VCLKData[1].SR2B);
+       xgifb_reg_set(pVBInfo->P3c4, 0x2C, XGI_VCLKData[1].SR2C);
 
        xgifb_reg_and(pVBInfo->P3c4, 0x31, ~0x30);
        return 0;
                index = XGI330_RefIndex[RefreshRateTableIndex].Ext_CRTVCLK;
                data = xgifb_reg_get(pVBInfo->P3c4, 0x31) & 0xCF;
                xgifb_reg_set(pVBInfo->P3c4, 0x31, data);
-               xgifb_reg_set(pVBInfo->P3c4, 0x2B,
-                               pVBInfo->VCLKData[index].SR2B);
-               xgifb_reg_set(pVBInfo->P3c4, 0x2C,
-                               pVBInfo->VCLKData[index].SR2C);
+               xgifb_reg_set(pVBInfo->P3c4, 0x2B, XGI_VCLKData[index].SR2B);
+               xgifb_reg_set(pVBInfo->P3c4, 0x2C, XGI_VCLKData[index].SR2C);
                xgifb_reg_set(pVBInfo->P3c4, 0x2D, 0x01);
        } else if ((pVBInfo->VBType & (VB_SIS301B | VB_SIS302B | VB_SIS301LV
                        | VB_SIS302LV | VB_XGI301C)) && (pVBInfo->VBInfo
                                pVBInfo);
                data = xgifb_reg_get(pVBInfo->P3c4, 0x31) & 0xCF;
                xgifb_reg_set(pVBInfo->P3c4, 0x31, data);
-               data = pVBInfo->VBVCLKData[vclkindex].Part4_A;
+               data = XGI_VBVCLKData[vclkindex].Part4_A;
                xgifb_reg_set(pVBInfo->P3c4, 0x2B, data);
-               data = pVBInfo->VBVCLKData[vclkindex].Part4_B;
+               data = XGI_VBVCLKData[vclkindex].Part4_B;
                xgifb_reg_set(pVBInfo->P3c4, 0x2C, data);
                xgifb_reg_set(pVBInfo->P3c4, 0x2D, 0x01);
        } else {
                index = XGI330_RefIndex[RefreshRateTableIndex].Ext_CRTVCLK;
                data = xgifb_reg_get(pVBInfo->P3c4, 0x31) & 0xCF;
                xgifb_reg_set(pVBInfo->P3c4, 0x31, data);
-               xgifb_reg_set(pVBInfo->P3c4, 0x2B,
-                               pVBInfo->VCLKData[index].SR2B);
-               xgifb_reg_set(pVBInfo->P3c4, 0x2C,
-                               pVBInfo->VCLKData[index].SR2C);
+               xgifb_reg_set(pVBInfo->P3c4, 0x2B, XGI_VCLKData[index].SR2B);
+               xgifb_reg_set(pVBInfo->P3c4, 0x2C, XGI_VCLKData[index].SR2C);
                xgifb_reg_set(pVBInfo->P3c4, 0x2D, 0x01);
        }
 
 
        index = XGI330_RefIndex[RefreshRateTableIndex].Ext_CRTVCLK;
        index &= IndexMask;
-       VCLK = pVBInfo->VCLKData[index].CLOCK;
+       VCLK = XGI_VCLKData[index].CLOCK;
 
        data = xgifb_reg_get(pVBInfo->P3c4, 0x32);
        data &= 0xf3;
 
        {1152,  864, 8, 16}
 };
 
-static struct SiS_VCLKData XGI_VCLKData[] = {
+const struct SiS_VCLKData XGI_VCLKData[] = {
        /* SR2B,SR2C,SR2D */
        {0x1B, 0xE1,  25}, /* 00 (25.175MHz) */
        {0x4E, 0xE4,  28}, /* 01 (28.322MHz) */
        {0xFF, 0x00,   0}  /* End mark */
 };
 
-static struct SiS_VBVCLKData XGI_VBVCLKData[] = {
+static const struct SiS_VBVCLKData XGI_VBVCLKData[] = {
        {0x1B, 0xE1,  25}, /* 00 (25.175MHz) */
        {0x4E, 0xE4,  28}, /* 01 (28.322MHz) */
        {0x57, 0xE4,  31}, /* 02 (31.500MHz) */