diff options
author | Michael Krufky <mkrufky@linuxtv.org> | 2006-11-19 17:45:26 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2006-12-10 05:51:32 -0500 |
commit | 76db93d03f1e9a9a3371f787ae30780cdf10400c (patch) | |
tree | 68b963705bd79d151f0ab3b7f36bc4439ce064a6 /drivers/media/video | |
parent | f9a7615686a854cb94b5252e66b836a0a539ad9e (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/Kconfig | 1 | ||||
-rw-r--r-- | drivers/media/video/cx88/cx88-dvb.c | 20 |
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 | ||
395 | static 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 | |||
407 | static int lgdt330x_pll_rf_set(struct dvb_frontend* fe, int index) | 395 | static 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; |