struct lvds_setting_information {
        int iga_path;
-       int bpp;
        int lcd_panel_hres;
        int lcd_panel_vres;
        int display_method;
 
        if (flag == 0) {
                viaparinfo->tmds_setting_info->h_active = hres;
                viaparinfo->tmds_setting_info->v_active = vres;
-
-               viaparinfo->lvds_setting_info->bpp = bpp;
-               viaparinfo->lvds_setting_info2->bpp = bpp;
        } else {
 
                if (viaparinfo->tmds_setting_info->iga_path == IGA2) {
                        viaparinfo->tmds_setting_info->v_active = vres;
                }
 
-               if (viaparinfo->lvds_setting_info->iga_path == IGA2)
-                       viaparinfo->lvds_setting_info->bpp = bpp;
-
-               if (IGA2 == viaparinfo->lvds_setting_info2->iga_path)
-                       viaparinfo->lvds_setting_info2->bpp = bpp;
        }
 }
 
        load_fix_bit_crtc_reg();
 }
 
-int viafb_setmode(int video_bpp, int video_bpp1)
+int viafb_setmode(void)
 {
        int j, cxres = 0, cyres = 0;
        int port;
        if (viafb_LCD_ON) {
                if (viafb_SAMM_ON &&
                        (viaparinfo->lvds_setting_info->iga_path == IGA2)) {
-                       viaparinfo->lvds_setting_info->bpp = video_bpp1;
                        viafb_lcd_set_mode(&var2, cxres, cyres,
                                viaparinfo->lvds_setting_info,
                                &viaparinfo->chip_info->lvds_chip_info);
                                viaparinfo->lvds_setting_info->display_method =
                                    LCD_CENTERING;
                        }
-                       viaparinfo->lvds_setting_info->bpp = video_bpp;
                        viafb_lcd_set_mode(&viafbinfo->var, 0, 0,
                                viaparinfo->lvds_setting_info,
                                &viaparinfo->chip_info->lvds_chip_info);
        if (viafb_LCD2_ON) {
                if (viafb_SAMM_ON &&
                        (viaparinfo->lvds_setting_info2->iga_path == IGA2)) {
-                       viaparinfo->lvds_setting_info2->bpp = video_bpp1;
                        viafb_lcd_set_mode(&var2, cxres, cyres,
                                viaparinfo->lvds_setting_info2,
                                &viaparinfo->chip_info->lvds_chip_info2);
                                viaparinfo->lvds_setting_info2->display_method =
                                    LCD_CENTERING;
                        }
-                       viaparinfo->lvds_setting_info2->bpp = video_bpp;
                        viafb_lcd_set_mode(&viafbinfo->var, 0, 0,
                                viaparinfo->lvds_setting_info2,
                                &viaparinfo->chip_info->lvds_chip_info2);
        if (!viafb_hotplug) {
                viafb_hotplug_Xres = viafbinfo->var.xres;
                viafb_hotplug_Yres = viafbinfo->var.yres;
-               viafb_hotplug_bpp = video_bpp;
+               viafb_hotplug_bpp = viafbinfo->var.bits_per_pixel;
                viafb_hotplug_refresh = viafb_refresh;
 
                if (viafb_DVI_ON)
 
 void viafb_set_dpa_gfx(int output_interface, struct GFX_DPA_SETTING\
                                        *p_gfx_dpa_setting);
 
-int viafb_setmode(int video_bpp, int video_bpp1);
+int viafb_setmode(void);
 void viafb_fill_var_timing_info(struct fb_var_screeninfo *var,
        struct crt_mode_table *mode);
 void __devinit viafb_init_chip_info(int chip_type);
 
 static int lvds_register_read(int index);
 static void load_lcd_scaling(int set_hres, int set_vres, int panel_hres,
                      int panel_vres);
-static void via_pitch_alignment_patch_lcd(
-       struct lvds_setting_information *plvds_setting_info,
-       struct lvds_chip_information *plvds_chip_info, int hres);
 static void lcd_patch_skew_dvp0(struct lvds_setting_information
                         *plvds_setting_info,
                         struct lvds_chip_information *plvds_chip_info);
        }
 }
 
-static void via_pitch_alignment_patch_lcd(
-       struct lvds_setting_information *plvds_setting_info,
-       struct lvds_chip_information *plvds_chip_info, int hres)
+static void via_pitch_alignment_patch_lcd(int iga_path, int hres, int bpp)
 {
        unsigned char cr13, cr35, cr65, cr66, cr67;
        unsigned long dwScreenPitch = 0;
        unsigned long dwPitch;
 
-       dwPitch = hres * (plvds_setting_info->bpp >> 3);
+       dwPitch = hres * (bpp >> 3);
        if (dwPitch & 0x1F) {
                dwScreenPitch = ((dwPitch + 31) & ~31) >> 3;
-               if (plvds_setting_info->iga_path == IGA2) {
-                       if (plvds_setting_info->bpp > 8) {
+               if (iga_path == IGA2) {
+                       if (bpp > 8) {
                                cr66 = (unsigned char)(dwScreenPitch & 0xFF);
                                viafb_write_reg(CR66, VIACR, cr66);
                                cr67 = viafb_read_reg(VIACR, CR67) & 0xFC;
                        cr65 += 2;
                        viafb_write_reg(CR65, VIACR, cr65);
                } else {
-                       if (plvds_setting_info->bpp > 8) {
+                       if (bpp > 8) {
                                cr13 = (unsigned char)(dwScreenPitch & 0xFF);
                                viafb_write_reg(CR13, VIACR, cr13);
                                cr35 = viafb_read_reg(VIACR, CR35) & 0x1F;
        struct lvds_chip_information *plvds_chip_info)
 {
        int set_iga = plvds_setting_info->iga_path;
-       int mode_bpp = plvds_setting_info->bpp;
+       int mode_bpp = var->bits_per_pixel;
        int set_hres = cxres ? cxres : var->xres;
        int set_vres = cyres ? cyres : var->yres;
        int panel_hres = plvds_setting_info->lcd_panel_hres;
                viafb_write_reg_mask(CR6A, VIACR, 0x01, BIT0);
 
        /* Patch for non 32bit alignment mode */
-       via_pitch_alignment_patch_lcd(plvds_setting_info, plvds_chip_info,
-               set_hres);
+       via_pitch_alignment_patch_lcd(plvds_setting_info->iga_path, set_hres,
+               var->bits_per_pixel);
 }
 
 static void integrated_lvds_disable(struct lvds_setting_information
 
                        info->flags &= ~FBINFO_HWACCEL_DISABLED;
                else
                        info->flags |= FBINFO_HWACCEL_DISABLED;
-               viafb_setmode(info->var.bits_per_pixel, viafb_bpp1);
+               viafb_setmode();
                viafb_pan_display(&info->var, info);
        }