diff options
author | Michael Krufky <mkrufky@linuxtv.org> | 2008-04-22 13:45:53 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2008-04-24 13:07:50 -0400 |
commit | 23a88108cf6d5fa8073a3b2af804fff7305e86e3 (patch) | |
tree | b7bf10eb06237c13d4ea69d8d46637b14e939d93 /drivers/media/video/tuner-simple.c | |
parent | 6f4a57292f4f0a0fef5e4e39cb394fedcf2acf9f (diff) |
V4L/DVB (7352): tuner-simple: enable digital tuning support for Philips FMD1216ME
Enable digital tuning support within tuner-simple. This will allow for a
single tuner module to manage the hardware, without having dvb-pll loaded.
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'drivers/media/video/tuner-simple.c')
-rw-r--r-- | drivers/media/video/tuner-simple.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/drivers/media/video/tuner-simple.c b/drivers/media/video/tuner-simple.c index 3a27d4a8ce38..b6587300bb8f 100644 --- a/drivers/media/video/tuner-simple.c +++ b/drivers/media/video/tuner-simple.c | |||
@@ -714,6 +714,22 @@ static int simple_set_params(struct dvb_frontend *fe, | |||
714 | return ret; | 714 | return ret; |
715 | } | 715 | } |
716 | 716 | ||
717 | static void simple_set_dvb(struct dvb_frontend *fe, u8 *buf, | ||
718 | const struct dvb_frontend_parameters *params) | ||
719 | { | ||
720 | struct tuner_simple_priv *priv = fe->tuner_priv; | ||
721 | |||
722 | switch (priv->type) { | ||
723 | case TUNER_PHILIPS_FMD1216ME_MK3: | ||
724 | if (params->u.ofdm.bandwidth == BANDWIDTH_8_MHZ && | ||
725 | params->frequency >= 158870000) | ||
726 | buf[3] |= 0x08; | ||
727 | break; | ||
728 | default: | ||
729 | break; | ||
730 | } | ||
731 | } | ||
732 | |||
717 | static int simple_dvb_configure(struct dvb_frontend *fe, u8 *buf, | 733 | static int simple_dvb_configure(struct dvb_frontend *fe, u8 *buf, |
718 | const struct dvb_frontend_parameters *params) | 734 | const struct dvb_frontend_parameters *params) |
719 | { | 735 | { |
@@ -737,6 +753,8 @@ static int simple_dvb_configure(struct dvb_frontend *fe, u8 *buf, | |||
737 | buf[2] = config; | 753 | buf[2] = config; |
738 | buf[3] = cb; | 754 | buf[3] = cb; |
739 | 755 | ||
756 | simple_set_dvb(fe, buf, params); | ||
757 | |||
740 | tuner_dbg("%s: div=%d | buf=0x%02x,0x%02x,0x%02x,0x%02x\n", | 758 | tuner_dbg("%s: div=%d | buf=0x%02x,0x%02x,0x%02x,0x%02x\n", |
741 | tun->name, div, buf[0], buf[1], buf[2], buf[3]); | 759 | tun->name, div, buf[0], buf[1], buf[2], buf[3]); |
742 | 760 | ||