aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/dvb
diff options
context:
space:
mode:
authorMichael Krufky <mkrufky@linuxtv.org>2008-01-03 01:17:45 -0300
committerMauro Carvalho Chehab <mchehab@infradead.org>2008-01-25 19:04:37 -0200
commit2ba65d517b91ebb30f4f2a88f1e1beeabd8d8ee6 (patch)
treeb19f9930f28914d4a0cf23e9e72cea87872001db /drivers/media/dvb
parentV4L/DVB (6962): tda18271: allow device-specific configuration of IF frequency and std bits (diff)
downloadlinux-dev-2ba65d517b91ebb30f4f2a88f1e1beeabd8d8ee6.tar.xz
linux-dev-2ba65d517b91ebb30f4f2a88f1e1beeabd8d8ee6.zip
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>
Diffstat (limited to 'drivers/media/dvb')
-rw-r--r--drivers/media/dvb/frontends/tda18271-fe.c11
-rw-r--r--drivers/media/dvb/frontends/tda18271-tables.c52
-rw-r--r--drivers/media/dvb/frontends/tda18271.h2
3 files changed, 33 insertions, 32 deletions
diff --git a/drivers/media/dvb/frontends/tda18271-fe.c b/drivers/media/dvb/frontends/tda18271-fe.c
index b17ab4ace08c..a02d6404f755 100644
--- a/drivers/media/dvb/frontends/tda18271-fe.c
+++ b/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)
diff --git a/drivers/media/dvb/frontends/tda18271-tables.c b/drivers/media/dvb/frontends/tda18271-tables.c
index 2f8ea72bcabb..528a2ec9e967 100644
--- a/drivers/media/dvb/frontends/tda18271-tables.c
+++ b/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 },
};
/*---------------------------------------------------------------------*/
diff --git a/drivers/media/dvb/frontends/tda18271.h b/drivers/media/dvb/frontends/tda18271.h
index 36a3a548a6f5..4fa3d6ab6216 100644
--- a/drivers/media/dvb/frontends/tda18271.h
+++ b/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;
};