summaryrefslogtreecommitdiff
path: root/linux
diff options
context:
space:
mode:
authorManu Abraham <manu@linuxtv.org>2006-08-05 21:50:46 +0400
committerManu Abraham <manu@linuxtv.org>2006-08-05 21:50:46 +0400
commit94f24698934b59ede45d0d01c982091fac0ca040 (patch)
treeca3bcf8428df34ca3adeecf1049f1743ba0ed7e1 /linux
parent14fd82083c750d0e92529bbb7a28a1399d013ffb (diff)
downloadmediapointer-dvb-s2-94f24698934b59ede45d0d01c982091fac0ca040.tar.gz
mediapointer-dvb-s2-94f24698934b59ede45d0d01c982091fac0ca040.tar.bz2
HW algo
Change this card to use HW ALGO tuning From: Yeasah Pell <yeasah@schwide.com> Signed-off-by: Yeasah Pell <yeasah@schwide.com> Signed-off-by: Manu Abraham <manu@linuxtv.org>
Diffstat (limited to 'linux')
-rw-r--r--linux/drivers/media/dvb/frontends/cx24123.c25
1 files changed, 25 insertions, 0 deletions
diff --git a/linux/drivers/media/dvb/frontends/cx24123.c b/linux/drivers/media/dvb/frontends/cx24123.c
index 60e12af09..7f729c02a 100644
--- a/linux/drivers/media/dvb/frontends/cx24123.c
+++ b/linux/drivers/media/dvb/frontends/cx24123.c
@@ -914,6 +914,29 @@ static int cx24123_set_tone(struct dvb_frontend* fe, fe_sec_tone_mode_t tone)
return 0;
}
+static int cx24123_tune(struct dvb_frontend* fe,
+ struct dvb_frontend_parameters* params,
+ unsigned int mode_flags,
+ int *delay,
+ fe_status_t *status)
+{
+ int retval = 0;
+
+ if (params != NULL)
+ retval = cx24123_set_frontend(fe, params);
+
+ if (!(mode_flags & FE_TUNE_MODE_ONESHOT))
+ cx24123_read_status(fe, status);
+ *delay = HZ/10;
+
+ return retval;
+}
+
+static int cx24123_get_algo(struct dvb_frontend *fe)
+{
+ return 1; //FE_ALGO_HW
+}
+
static void cx24123_release(struct dvb_frontend* fe)
{
struct cx24123_state* state = fe->demodulator_priv;
@@ -997,6 +1020,8 @@ static struct dvb_frontend_ops cx24123_ops = {
.diseqc_send_burst = cx24123_diseqc_send_burst,
.set_tone = cx24123_set_tone,
.set_voltage = cx24123_set_voltage,
+ .tune = cx24123_tune,
+ .get_frontend_algo = cx24123_get_algo,
};
module_param(debug, int, 0644);