Przeglądaj źródła

V4L/DVB (6963): tda18271: store IF frequency in a u16 instead of u32

Store IF Frequency in a u16 instead of a u32.  Multiply by 1000 before use.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Michael Krufky 17 lat temu
rodzic
commit
2ba65d517b

+ 6 - 5
drivers/media/dvb/frontends/tda18271-fe.c

@@ -770,8 +770,8 @@ static int tda18271_set_params(struct dvb_frontend *fe,
 	struct tda18271_priv *priv = fe->tuner_priv;
 	struct tda18271_std_map *std_map = &priv->std;
 	u8 std;
-	u32 bw, sgIF = 0;
-	u32 freq = params->frequency;
+	u16 sgIF;
+	u32 bw, freq = params->frequency;
 
 	BUG_ON(!priv->tune);
 
@@ -825,7 +825,7 @@ static int tda18271_set_params(struct dvb_frontend *fe,
 		return -EINVAL;
 	}
 
-	return priv->tune(fe, sgIF, freq, bw, std);
+	return priv->tune(fe, sgIF * 1000, freq, bw, std);
 }
 
 static int tda18271_set_analog_params(struct dvb_frontend *fe,
@@ -835,7 +835,8 @@ static int tda18271_set_analog_params(struct dvb_frontend *fe,
 	struct tda18271_std_map *std_map = &priv->std;
 	char *mode;
 	u8 std;
-	u32 sgIF, freq = params->frequency * 62500;
+	u16 sgIF;
+	u32 freq = params->frequency * 62500;
 
 	BUG_ON(!priv->tune);
 
@@ -877,7 +878,7 @@ static int tda18271_set_analog_params(struct dvb_frontend *fe,
 
 	tda_dbg("setting tda18271 to system %s\n", mode);
 
-	return priv->tune(fe, sgIF, freq, 0, std);
+	return priv->tune(fe, sgIF * 1000, freq, 0, std);
 }
 
 static int tda18271_release(struct dvb_frontend *fe)

+ 26 - 26
drivers/media/dvb/frontends/tda18271-tables.c

@@ -1187,35 +1187,35 @@ fail:
 /*---------------------------------------------------------------------*/
 
 static struct tda18271_std_map tda18271c1_std_map = {
-	.atv_b    = { .if_freq = 6750000, .std_bits = 0x0e },
-	.atv_dk   = { .if_freq = 7750000, .std_bits = 0x0f },
-	.atv_gh   = { .if_freq = 7750000, .std_bits = 0x0f },
-	.atv_i    = { .if_freq = 7750000, .std_bits = 0x0f },
-	.atv_l    = { .if_freq = 7750000, .std_bits = 0x0f },
-	.atv_lc   = { .if_freq = 1250000, .std_bits = 0x0f },
-	.atv_mn   = { .if_freq = 5750000, .std_bits = 0x0d },
-	.atsc_6   = { .if_freq = 3250000, .std_bits = 0x1c },
-	.dvbt_6   = { .if_freq = 3300000, .std_bits = 0x1c },
-	.dvbt_7   = { .if_freq = 3800000, .std_bits = 0x1d },
-	.dvbt_8   = { .if_freq = 4300000, .std_bits = 0x1e },
-	.qam_6    = { .if_freq = 4000000, .std_bits = 0x1d },
-	.qam_8    = { .if_freq = 5000000, .std_bits = 0x1f },
+	.atv_b    = { .if_freq = 6750, .std_bits = 0x0e },
+	.atv_dk   = { .if_freq = 7750, .std_bits = 0x0f },
+	.atv_gh   = { .if_freq = 7750, .std_bits = 0x0f },
+	.atv_i    = { .if_freq = 7750, .std_bits = 0x0f },
+	.atv_l    = { .if_freq = 7750, .std_bits = 0x0f },
+	.atv_lc   = { .if_freq = 1250, .std_bits = 0x0f },
+	.atv_mn   = { .if_freq = 5750, .std_bits = 0x0d },
+	.atsc_6   = { .if_freq = 3250, .std_bits = 0x1c },
+	.dvbt_6   = { .if_freq = 3300, .std_bits = 0x1c },
+	.dvbt_7   = { .if_freq = 3800, .std_bits = 0x1d },
+	.dvbt_8   = { .if_freq = 4300, .std_bits = 0x1e },
+	.qam_6    = { .if_freq = 4000, .std_bits = 0x1d },
+	.qam_8    = { .if_freq = 5000, .std_bits = 0x1f },
 };
 
 static struct tda18271_std_map tda18271c2_std_map = {
-	.atv_b    = { .if_freq = 6000000, .std_bits = 0x0d },
-	.atv_dk   = { .if_freq = 6900000, .std_bits = 0x0e },
-	.atv_gh   = { .if_freq = 7100000, .std_bits = 0x0e },
-	.atv_i    = { .if_freq = 7250000, .std_bits = 0x0e },
-	.atv_l    = { .if_freq = 6900000, .std_bits = 0x0e },
-	.atv_lc   = { .if_freq = 1250000, .std_bits = 0x0e },
-	.atv_mn   = { .if_freq = 5400000, .std_bits = 0x0c },
-	.atsc_6   = { .if_freq = 3250000, .std_bits = 0x1c },
-	.dvbt_6   = { .if_freq = 3300000, .std_bits = 0x1c },
-	.dvbt_7   = { .if_freq = 3500000, .std_bits = 0x1c },
-	.dvbt_8   = { .if_freq = 4000000, .std_bits = 0x1d },
-	.qam_6    = { .if_freq = 4000000, .std_bits = 0x1d },
-	.qam_8    = { .if_freq = 5000000, .std_bits = 0x1f },
+	.atv_b    = { .if_freq = 6000, .std_bits = 0x0d },
+	.atv_dk   = { .if_freq = 6900, .std_bits = 0x0e },
+	.atv_gh   = { .if_freq = 7100, .std_bits = 0x0e },
+	.atv_i    = { .if_freq = 7250, .std_bits = 0x0e },
+	.atv_l    = { .if_freq = 6900, .std_bits = 0x0e },
+	.atv_lc   = { .if_freq = 1250, .std_bits = 0x0e },
+	.atv_mn   = { .if_freq = 5400, .std_bits = 0x0c },
+	.atsc_6   = { .if_freq = 3250, .std_bits = 0x1c },
+	.dvbt_6   = { .if_freq = 3300, .std_bits = 0x1c },
+	.dvbt_7   = { .if_freq = 3500, .std_bits = 0x1c },
+	.dvbt_8   = { .if_freq = 4000, .std_bits = 0x1d },
+	.qam_6    = { .if_freq = 4000, .std_bits = 0x1d },
+	.qam_8    = { .if_freq = 5000, .std_bits = 0x1f },
 };
 
 /*---------------------------------------------------------------------*/

+ 1 - 1
drivers/media/dvb/frontends/tda18271.h

@@ -25,7 +25,7 @@
 #include "dvb_frontend.h"
 
 struct tda18271_std_map_item {
-	u32 if_freq;
+	u16 if_freq;
 	u8 std_bits;
 };
 

+ 2 - 2
drivers/media/video/cx23885/cx23885-dvb.c

@@ -184,8 +184,8 @@ static struct tda829x_config tda829x_no_probe = {
 };
 
 static struct tda18271_std_map hauppauge_tda18271_std_map = {
-	.atsc_6   = { .if_freq = 5380000, .std_bits = 0x1b },
-	.qam_6    = { .if_freq = 4000000, .std_bits = 0x18 },
+	.atsc_6   = { .if_freq = 5380, .std_bits = 0x1b },
+	.qam_6    = { .if_freq = 4000, .std_bits = 0x18 },
 };
 
 static struct tda18271_config hauppauge_tda18271_config = {