Thread (4 messages) 4 messages, 2 authors, 2009-09-22

Re: [PATCH] aty128fb: move block to where it should be in function aty128_var_to_pll

From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Date: 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.
 
quoted hunk ↗ jump to hunk
Signed-off-by: Jaswinder Singh Rajput <redacted>
---
 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;
 }
 

------------------------------------------------------------------------------
Come build with us! The BlackBerry&reg; Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay 
ahead of the curve. Join us from November 9&#45;12, 2009. Register now&#33;
http://p.sf.net/sfu/devconf
_______________________________________________
Linux-fbdev-devel mailing list
Linux-fbdev-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-fbdev-devel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help