[2/4] fc0011: Fix xin value clamping

Message ID 20130207171655.4243e21f@milhouse (mailing list archive)
State Accepted, archived
Headers

Commit Message

Michael Büsch Feb. 7, 2013, 4:16 p.m. UTC
  Fix the xin value clamping and use clamp_t().

Signed-off-by: Michael Buesch <m@bues.ch>

---
  

Patch

Index: linux/drivers/media/tuners/fc0011.c
===================================================================
--- linux.orig/drivers/media/tuners/fc0011.c	2012-10-22 16:13:29.140465225 +0200
+++ linux/drivers/media/tuners/fc0011.c	2012-10-22 16:15:46.915056243 +0200
@@ -183,8 +183,7 @@ 
 	unsigned int i, vco_retries;
 	u32 freq = p->frequency / 1000;
 	u32 bandwidth = p->bandwidth_hz / 1000;
-	u32 fvco, xin, xdiv, xdivr;
-	u16 frac;
+	u32 fvco, xin, frac, xdiv, xdivr;
 	u8 fa, fp, vco_sel, vco_cal;
 	u8 regs[FC11_NR_REGS] = { };
 
@@ -227,12 +226,8 @@ 
 		frac += 32786;
 	if (!frac)
 		xin = 0;
-	else if (frac < 511)
-		xin = 512;
-	else if (frac < 65026)
-		xin = frac;
 	else
-		xin = 65024;
+		xin = clamp_t(u32, frac, 512, 65024);
 	regs[FC11_REG_XINHI] = xin >> 8;
 	regs[FC11_REG_XINLO] = xin;