diff options
Diffstat (limited to 'drivers/video/i810/i810_main.c')
-rw-r--r-- | drivers/video/i810/i810_main.c | 22 |
1 files changed, 6 insertions, 16 deletions
diff --git a/drivers/video/i810/i810_main.c b/drivers/video/i810/i810_main.c index 0dbc9ddb6766..c0c974b1afaa 100644 --- a/drivers/video/i810/i810_main.c +++ b/drivers/video/i810/i810_main.c | |||
@@ -1854,7 +1854,7 @@ static void __devinit i810fb_find_init_mode(struct fb_info *info) | |||
1854 | #ifdef CONFIG_FB_I810_I2C | 1854 | #ifdef CONFIG_FB_I810_I2C |
1855 | i810_create_i2c_busses(par); | 1855 | i810_create_i2c_busses(par); |
1856 | 1856 | ||
1857 | for (i = 0; i < 3; i++) { | 1857 | for (i = 0; i < 4; i++) { |
1858 | err = i810_probe_i2c_connector(info, &par->edid, i+1); | 1858 | err = i810_probe_i2c_connector(info, &par->edid, i+1); |
1859 | if (!err) | 1859 | if (!err) |
1860 | break; | 1860 | break; |
@@ -1871,27 +1871,18 @@ static void __devinit i810fb_find_init_mode(struct fb_info *info) | |||
1871 | fb_videomode_to_modelist(specs->modedb, specs->modedb_len, | 1871 | fb_videomode_to_modelist(specs->modedb, specs->modedb_len, |
1872 | &info->modelist); | 1872 | &info->modelist); |
1873 | if (specs->modedb != NULL) { | 1873 | if (specs->modedb != NULL) { |
1874 | if (xres && yres) { | 1874 | struct fb_videomode *m; |
1875 | struct fb_videomode *m; | ||
1876 | 1875 | ||
1876 | if (xres && yres) { | ||
1877 | if ((m = fb_find_best_mode(&var, &info->modelist))) { | 1877 | if ((m = fb_find_best_mode(&var, &info->modelist))) { |
1878 | mode = *m; | 1878 | mode = *m; |
1879 | found = 1; | 1879 | found = 1; |
1880 | } | 1880 | } |
1881 | } | 1881 | } |
1882 | 1882 | ||
1883 | if (!found && specs->misc & FB_MISC_1ST_DETAIL) { | ||
1884 | for (i = 0; i < specs->modedb_len; i++) { | ||
1885 | if (specs->modedb[i].flag & FB_MODE_IS_FIRST) { | ||
1886 | mode = specs->modedb[i]; | ||
1887 | found = 1; | ||
1888 | break; | ||
1889 | } | ||
1890 | } | ||
1891 | } | ||
1892 | |||
1893 | if (!found) { | 1883 | if (!found) { |
1894 | mode = specs->modedb[0]; | 1884 | m = fb_find_best_display(&info->monspecs, &info->modelist); |
1885 | mode = *m; | ||
1895 | found = 1; | 1886 | found = 1; |
1896 | } | 1887 | } |
1897 | 1888 | ||
@@ -2066,8 +2057,7 @@ static void i810fb_release_resource(struct fb_info *info, | |||
2066 | iounmap(par->mmio_start_virtual); | 2057 | iounmap(par->mmio_start_virtual); |
2067 | if (par->aperture.virtual) | 2058 | if (par->aperture.virtual) |
2068 | iounmap(par->aperture.virtual); | 2059 | iounmap(par->aperture.virtual); |
2069 | if (par->edid) | 2060 | kfree(par->edid); |
2070 | kfree(par->edid); | ||
2071 | if (par->res_flags & FRAMEBUFFER_REQ) | 2061 | if (par->res_flags & FRAMEBUFFER_REQ) |
2072 | release_mem_region(par->aperture.physical, | 2062 | release_mem_region(par->aperture.physical, |
2073 | par->aperture.size); | 2063 | par->aperture.size); |