aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/tuner-simple.c
diff options
context:
space:
mode:
authorMichael Krufky <mkrufky@linuxtv.org>2008-04-22 13:45:53 -0400
committerMauro Carvalho Chehab <mchehab@infradead.org>2008-04-24 13:07:50 -0400
commit23a88108cf6d5fa8073a3b2af804fff7305e86e3 (patch)
treeb7bf10eb06237c13d4ea69d8d46637b14e939d93 /drivers/media/video/tuner-simple.c
parent6f4a57292f4f0a0fef5e4e39cb394fedcf2acf9f (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.c18
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
717static 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
717static int simple_dvb_configure(struct dvb_frontend *fe, u8 *buf, 733static 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