static struct display_timing lcd_centering_timging(struct display_timing
                                            mode_crt_reg,
                                           struct display_timing panel_crt_reg);
-static void viafb_load_scaling_factor_for_p4m900(int set_hres,
-       int set_vres, int panel_hres, int panel_vres);
 
 static int check_lvds_chip(int device_id_subaddr, int device_id)
 {
 
        /* LCD Scaling Enable */
        viafb_write_reg_mask(CR79, VIACR, 0x07, BIT0 + BIT1 + BIT2);
-       if (UNICHROME_P4M900 == viaparinfo->chip_info->gfx_chip_name) {
-               viafb_load_scaling_factor_for_p4m900(set_hres, set_vres,
-                                              panel_hres, panel_vres);
-               return;
-       }
 
        /* Check if expansion for horizontal */
        if (set_hres != panel_hres) {
                case UNICHROME_CX700:
                case UNICHROME_K8M890:
                case UNICHROME_P4M890:
+               case UNICHROME_P4M900:
                        reg_value =
                            K800_LCD_HOR_SCF_FORMULA(set_hres, panel_hres);
                        /* Horizontal scaling enabled */
                case UNICHROME_CX700:
                case UNICHROME_K8M890:
                case UNICHROME_P4M890:
+               case UNICHROME_P4M900:
                        reg_value =
                            K800_LCD_VER_SCF_FORMULA(set_vres, panel_vres);
                        /* Vertical scaling enabled */
                return false;
        }
 }
-
-static void viafb_load_scaling_factor_for_p4m900(int set_hres,
-       int set_vres, int panel_hres, int panel_vres)
-{
-       int h_scaling_factor;
-       int v_scaling_factor;
-       u8 cra2 = 0;
-       u8 cr77 = 0;
-       u8 cr78 = 0;
-       u8 cr79 = 0;
-       u8 cr9f = 0;
-       /* Check if expansion for horizontal */
-       if (set_hres < panel_hres) {
-               /* Load Horizontal Scaling Factor */
-
-               /* For VIA_K8M800 or later chipsets. */
-               h_scaling_factor =
-                   K800_LCD_HOR_SCF_FORMULA(set_hres, panel_hres);
-               /* HSCaleFactor[1:0] at CR9F[1:0] */
-               cr9f = h_scaling_factor & 0x0003;
-               /* HSCaleFactor[9:2] at CR77[7:0] */
-               cr77 = (h_scaling_factor & 0x03FC) >> 2;
-               /* HSCaleFactor[11:10] at CR79[5:4] */
-               cr79 = (h_scaling_factor & 0x0C00) >> 10;
-               cr79 <<= 4;
-
-               /* Horizontal scaling enabled */
-               cra2 = 0xC0;
-
-               DEBUG_MSG(KERN_INFO "Horizontal Scaling value = %d\n",
-                         h_scaling_factor);
-       } else {
-               /* Horizontal scaling disabled */
-               cra2 = 0x00;
-       }
-
-       /* Check if expansion for vertical */
-       if (set_vres < panel_vres) {
-               /* Load Vertical Scaling Factor */
-
-               /* For VIA_K8M800 or later chipsets. */
-               v_scaling_factor =
-                   K800_LCD_VER_SCF_FORMULA(set_vres, panel_vres);
-
-               /* Vertical scaling enabled */
-               cra2 |= 0x08;
-               /* VSCaleFactor[0] at CR79[3] */
-               cr79 |= ((v_scaling_factor & 0x0001) << 3);
-               /* VSCaleFactor[8:1] at CR78[7:0] */
-               cr78 |= (v_scaling_factor & 0x01FE) >> 1;
-               /* VSCaleFactor[10:9] at CR79[7:6] */
-               cr79 |= ((v_scaling_factor & 0x0600) >> 9) << 6;
-
-               DEBUG_MSG(KERN_INFO "Vertical Scaling value = %d\n",
-                         v_scaling_factor);
-       } else {
-               /* Vertical scaling disabled */
-               cra2 |= 0x00;
-       }
-
-       viafb_write_reg_mask(CRA2, VIACR, cra2, BIT3 + BIT6 + BIT7);
-       viafb_write_reg_mask(CR77, VIACR, cr77, 0xFF);
-       viafb_write_reg_mask(CR78, VIACR, cr78, 0xFF);
-       viafb_write_reg_mask(CR79, VIACR, cr79, 0xF8);
-       viafb_write_reg_mask(CR9F, VIACR, cr9f, BIT0 + BIT1);
-}