aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video
diff options
context:
space:
mode:
authorMichael Krufky <mkrufky@linuxtv.org>2006-11-19 17:45:26 -0500
committerMauro Carvalho Chehab <mchehab@infradead.org>2006-12-10 05:51:32 -0500
commit76db93d03f1e9a9a3371f787ae30780cdf10400c (patch)
tree68b963705bd79d151f0ab3b7f36bc4439ce064a6 /drivers/media/video
parentf9a7615686a854cb94b5252e66b836a0a539ad9e (diff)
V4L/DVB (4846): Create new lgh06xf atsc tuner module
This patch creates a new atsc tuner module for the LG TDVS-H06xF ATSC tuners, called lgh06xf. The purpose of this change is to reduce some duplicated code, and to allow the lgh06xf tuner code to take advantage of dvb_attach(). As a side effect, the dependency of dvb-bt8xx on dvb-pll has been removed, since the lgh06xf module itself will use dvb-pll, while remaining optional for the dvb-bt8xx driver through the use of DVB_FE_CUSTOMISE Acked-by: Andrew de Quincey <adq_dvb@lidskialf.net> Signed-off-by: Michael Krufky <mkrufky@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'drivers/media/video')
-rw-r--r--drivers/media/video/cx88/Kconfig1
-rw-r--r--drivers/media/video/cx88/cx88-dvb.c20
2 files changed, 6 insertions, 15 deletions
diff --git a/drivers/media/video/cx88/Kconfig b/drivers/media/video/cx88/Kconfig
index 0f9d96963618..b2a66ba625f9 100644
--- a/drivers/media/video/cx88/Kconfig
+++ b/drivers/media/video/cx88/Kconfig
@@ -53,6 +53,7 @@ config VIDEO_CX88_DVB
53 select DVB_OR51132 if !DVB_FE_CUSTOMISE 53 select DVB_OR51132 if !DVB_FE_CUSTOMISE
54 select DVB_CX22702 if !DVB_FE_CUSTOMISE 54 select DVB_CX22702 if !DVB_FE_CUSTOMISE
55 select DVB_LGDT330X if !DVB_FE_CUSTOMISE 55 select DVB_LGDT330X if !DVB_FE_CUSTOMISE
56 select DVB_TUNER_LGH06XF if !DVB_FE_CUSTOMISE
56 select DVB_NXT200X if !DVB_FE_CUSTOMISE 57 select DVB_NXT200X if !DVB_FE_CUSTOMISE
57 select DVB_CX24123 if !DVB_FE_CUSTOMISE 58 select DVB_CX24123 if !DVB_FE_CUSTOMISE
58 select DVB_ISL6421 if !DVB_FE_CUSTOMISE 59 select DVB_ISL6421 if !DVB_FE_CUSTOMISE
diff --git a/drivers/media/video/cx88/cx88-dvb.c b/drivers/media/video/cx88/cx88-dvb.c
index 8150c09cd2c0..0266a3616ce8 100644
--- a/drivers/media/video/cx88/cx88-dvb.c
+++ b/drivers/media/video/cx88/cx88-dvb.c
@@ -42,7 +42,7 @@
42#include "cx22702.h" 42#include "cx22702.h"
43#include "or51132.h" 43#include "or51132.h"
44#include "lgdt330x.h" 44#include "lgdt330x.h"
45#include "lg_h06xf.h" 45#include "lgh06xf.h"
46#include "nxt200x.h" 46#include "nxt200x.h"
47#include "cx24123.h" 47#include "cx24123.h"
48#include "isl6421.h" 48#include "isl6421.h"
@@ -392,18 +392,6 @@ static int lgdt3302_tuner_set_params(struct dvb_frontend* fe,
392 return 0; 392 return 0;
393} 393}
394 394
395static int lgdt3303_tuner_set_params(struct dvb_frontend* fe,
396 struct dvb_frontend_parameters* params)
397{
398 struct cx8802_dev *dev= fe->dvb->priv;
399 struct cx88_core *core = dev->core;
400
401 /* Put the analog decoder in standby to keep it quiet */
402 cx88_call_i2c_clients (dev->core, TUNER_SET_STANDBY, NULL);
403
404 return lg_h06xf_pll_set(fe, &core->i2c_adap, params);
405}
406
407static int lgdt330x_pll_rf_set(struct dvb_frontend* fe, int index) 395static int lgdt330x_pll_rf_set(struct dvb_frontend* fe, int index)
408{ 396{
409 struct cx8802_dev *dev= fe->dvb->priv; 397 struct cx8802_dev *dev= fe->dvb->priv;
@@ -719,7 +707,8 @@ static int dvb_register(struct cx8802_dev *dev)
719 &fusionhdtv_5_gold, 707 &fusionhdtv_5_gold,
720 &dev->core->i2c_adap); 708 &dev->core->i2c_adap);
721 if (dev->dvb.frontend != NULL) { 709 if (dev->dvb.frontend != NULL) {
722 dev->dvb.frontend->ops.tuner_ops.set_params = lgdt3303_tuner_set_params; 710 dvb_attach(lgh06xf_attach, dev->dvb.frontend,
711 &dev->core->i2c_adap);
723 } 712 }
724 } 713 }
725 break; 714 break;
@@ -737,7 +726,8 @@ static int dvb_register(struct cx8802_dev *dev)
737 &pchdtv_hd5500, 726 &pchdtv_hd5500,
738 &dev->core->i2c_adap); 727 &dev->core->i2c_adap);
739 if (dev->dvb.frontend != NULL) { 728 if (dev->dvb.frontend != NULL) {
740 dev->dvb.frontend->ops.tuner_ops.set_params = lgdt3303_tuner_set_params; 729 dvb_attach(lgh06xf_attach, dev->dvb.frontend,
730 &dev->core->i2c_adap);
741 } 731 }
742 } 732 }
743 break; 733 break;