--- atyfb_base.c | 33 +++++++++++++++++++-------------- 1 file changed, 19 insertions(+), 14 deletions(-) --- linux-2.6.13-rc5/drivers/video/aty/atyfb_base.c 2005-04-05 10:12:55.000000000 +0200 +++ linux-m68k-2.6.13-rc5/drivers/video/aty/atyfb_base.c 2005-04-05 11:33:40.000000000 +0200 @@ -2178,7 +2178,6 @@ static int __init aty_init(struct fb_inf const char *ramname = NULL, *xtal; int gtb_memsize; struct fb_var_screeninfo var; - u8 pll_ref_div; u32 i; #if defined(CONFIG_PPC) int sense; @@ -2291,18 +2290,20 @@ static int __init aty_init(struct fb_inf par->pll_limits.mclk = 63; } - if (M64_HAS(GTB_DSP) - && (pll_ref_div = aty_ld_pll_ct(PLL_REF_DIV, par))) { - int diff1, diff2; - diff1 = 510 * 14 / pll_ref_div - par->pll_limits.pll_max; - diff2 = 510 * 29 / pll_ref_div - par->pll_limits.pll_max; - if (diff1 < 0) - diff1 = -diff1; - if (diff2 < 0) - diff2 = -diff2; - if (diff2 < diff1) { - par->ref_clk_per = 1000000000000ULL / 29498928; - xtal = "29.498928"; + if (M64_HAS(GTB_DSP)) { + u8 pll_ref_div = aty_ld_pll_ct(PLL_REF_DIV, par); + if (pll_ref_div) { + int diff1, diff2; + diff1 = 510 * 14 / pll_ref_div - par->pll_limits.pll_max; + diff2 = 510 * 29 / pll_ref_div - par->pll_limits.pll_max; + if (diff1 < 0) + diff1 = -diff1; + if (diff2 < 0) + diff2 = -diff2; + if (diff2 < diff1) { + par->ref_clk_per = 1000000000000ULL / 29498928; + xtal = "29.498928"; + } } } #endif /* CONFIG_FB_ATY_CT */ @@ -3458,7 +3459,7 @@ err_release_mem: static int __devinit atyfb_atari_probe(void) { - struct aty_par *par; + struct atyfb_par *par; struct fb_info *info; int m64_num; u32 clock_r; @@ -3509,12 +3510,16 @@ static int __devinit atyfb_atari_probe(v break; } +// FIXME +//rc = correct_chipset(par); + if (aty_init(info, "ISA bus")) { framebuffer_release(info); /* This is insufficient! kernel_map has added two large chunks!! */ return -ENXIO; } } + return 0; } #endif /* CONFIG_ATARI */