summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--linux/drivers/media/dvb/frontends/dib3000mb.c21
1 files changed, 19 insertions, 2 deletions
diff --git a/linux/drivers/media/dvb/frontends/dib3000mb.c b/linux/drivers/media/dvb/frontends/dib3000mb.c
index 1af977839..04f3aa609 100644
--- a/linux/drivers/media/dvb/frontends/dib3000mb.c
+++ b/linux/drivers/media/dvb/frontends/dib3000mb.c
@@ -17,7 +17,7 @@
* Amaury Demol (ademol@dibcom.fr) from DiBcom for providing specs and driver
* sources, on which this driver (and the dvb-dibusb) are based.
*
- * $Id $Id: dib3000mb.c,v 1.8 2004/09/28 19:39:06 pmp Exp $$
+ * $Id: dib3000mb.c,v 1.9 2004/10/04 13:42:08 pmp Exp $
*
* see Documentation/dvb/README.dibusb for more information
*
@@ -667,7 +667,7 @@ static int dib3000mb_read_status(struct dib3000mb_state *state,fe_status_t *stat
*stat |= rd(DIB3000MB_REG_CARRIER_LOCK) ? FE_HAS_CARRIER : 0;
*stat |= rd(DIB3000MB_REG_VIT_LCK) ? FE_HAS_VITERBI : 0;
*stat |= rd(DIB3000MB_REG_TS_SYNC_LOCK) ? FE_HAS_SYNC : 0;
- *stat |= *stat ? FE_HAS_LOCK : 0;
+ *stat |= *stat & FE_HAS_SYNC ? FE_HAS_LOCK : 0;
deb_info("actual status is %2x\n",*stat);
@@ -774,6 +774,17 @@ static int dib3000mb_sleep(struct dib3000mb_state *state)
return 0;
}
+static int dib3000mb_fe_get_tune_settings(struct dib3000mb_state *state,
+ struct dvb_frontend_tune_settings *tune)
+{
+ tune->min_delay_ms = 800;
+ tune->step_size = 166667;
+ tune->max_drift = 166667*2;
+
+ return 0;
+}
+
+
static int dib3000mb_ioctl (struct dvb_frontend *fe, unsigned int cmd, void *arg)
{
struct dib3000mb_state *state = fe->data;
@@ -829,6 +840,12 @@ static int dib3000mb_ioctl (struct dvb_frontend *fe, unsigned int cmd, void *arg
ret = dib3000mb_fe_init(state,0);
break;
+ case FE_GET_TUNE_SETTINGS:
+ deb_info("GET_TUNE_SETTINGS");
+ ret = dib3000mb_fe_get_tune_settings(state, (struct
+ dvb_frontend_tune_settings *) arg);
+
+ break;
case FE_SET_TONE:
case FE_SET_VOLTAGE:
default: