From: Benjamin H. <be...@ke...> - 2009-09-20 22:24:55
|
On Sun, 2009-09-20 at 13:44 +0530, Jaswinder Singh Rajput wrote: > In function aty128_var_to_pll moving block to where it should be. > > This also fixed following compilation warning: > CC [M] drivers/video/aty/aty128fb.o > drivers/video/aty/aty128fb.c: In function ‘aty128_decode_var’: > drivers/video/aty/aty128fb.c:1520: warning: ‘pll.post_divider’ may be used uninitialized in this function I dislike moving pretty much the whole function 2 indentation levels to the right just because gcc is being silly. If you really want to silence that warning, just initialize the value Ben. > Signed-off-by: Jaswinder Singh Rajput <jas...@gm...> > --- > drivers/video/aty/aty128fb.c | 33 ++++++++++++++++----------------- > 1 files changed, 16 insertions(+), 17 deletions(-) > > diff --git a/drivers/video/aty/aty128fb.c b/drivers/video/aty/aty128fb.c > index e4e4d43..fd6746e 100644 > --- a/drivers/video/aty/aty128fb.c > +++ b/drivers/video/aty/aty128fb.c > @@ -1328,8 +1328,7 @@ static int aty128_var_to_pll(u32 period_in_ps, struct aty128_pll *pll, > unsigned char post_dividers[] = {1,2,4,8,3,6,12}; > u32 output_freq; > u32 vclk; /* in .01 MHz */ > - int i = 0; > - u32 n, d; > + int i; > > vclk = 100000000 / period_in_ps; /* convert units to 10 kHz */ > > @@ -1343,27 +1342,27 @@ static int aty128_var_to_pll(u32 period_in_ps, struct aty128_pll *pll, > for (i = 0; i < ARRAY_SIZE(post_dividers); i++) { > output_freq = post_dividers[i] * vclk; > if (output_freq >= c.ppll_min && output_freq <= c.ppll_max) { > + u32 n, d; > + > pll->post_divider = post_dividers[i]; > - break; > - } > - } > > - if (i == ARRAY_SIZE(post_dividers)) > - return -EINVAL; > + /* calculate feedback divider */ > + n = c.ref_divider * output_freq; > + d = c.ref_clk; > > - /* calculate feedback divider */ > - n = c.ref_divider * output_freq; > - d = c.ref_clk; > + pll->feedback_divider = round_div(n, d); > + pll->vclk = vclk; > > - pll->feedback_divider = round_div(n, d); > - pll->vclk = vclk; > + DBG("post %d feedback %d vlck %d output %d " > + "ref_divider %d vclk_per: %d\n", pll->post_divider, > + pll->feedback_divider, vclk, output_freq, > + c.ref_divider, period_in_ps); > > - DBG("post %d feedback %d vlck %d output %d ref_divider %d " > - "vclk_per: %d\n", pll->post_divider, > - pll->feedback_divider, vclk, output_freq, > - c.ref_divider, period_in_ps); > + return 0; > + } > + } > > - return 0; > + return -EINVAL; > } > > |