viafb: reorder initialization for dual framebuffer mode
authorFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
Wed, 10 Mar 2010 23:21:31 +0000 (15:21 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 12 Mar 2010 23:52:33 +0000 (15:52 -0800)
This patch reorders the initialization for dual framebuffer mode to not
ignore the settings for the first mode.  Previously they were overwritten
with the settings for the second one before they were applied.

This should have no effect on non dual framebuffer mode and do what the
user intended (initalization to desired modes) in dual framebuffer mode.

Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
Cc: Scott Fang <ScottFang@viatech.com.cn>
Cc: Joseph Chan <JosephChan@via.com.tw>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
drivers/video/via/viafbdev.c

index 5f5b5e9ef500c57883021ff72ada53e6bb1e8bfc..4d955ca0a1d25974b844a5a9e8d7a6db365cd0d1 100644 (file)
@@ -1960,6 +1960,9 @@ static int __devinit via_pci_probe(struct pci_dev *pdev,
        default_var.lower_margin = 4;
        default_var.hsync_len = default_var.left_margin;
        default_var.vsync_len = 4;
+       viafb_setup_fixinfo(&viafbinfo->fix, viaparinfo);
+       viafb_check_var(&default_var, viafbinfo);
+       viafbinfo->var = default_var;
 
        if (viafb_dual_fb) {
                viafbinfo1 = framebuffer_alloc(viafb_par_length, &pdev->dev);
@@ -2015,9 +2018,6 @@ static int __devinit via_pci_probe(struct pci_dev *pdev,
                        &viafbinfo1->fix);
        }
 
-       viafb_setup_fixinfo(&viafbinfo->fix, viaparinfo);
-       viafb_check_var(&default_var, viafbinfo);
-       viafbinfo->var = default_var;
        viafb_update_fix(viafbinfo);
        viaparinfo->depth = fb_get_color_depth(&viafbinfo->var,
                &viafbinfo->fix);