summaryrefslogtreecommitdiff
path: root/linux/drivers/media/dvb/frontends/dib3000mc.c
diff options
context:
space:
mode:
authorPatrick Boettcher <devnull@localhost>2005-01-13 13:21:55 +0000
committerPatrick Boettcher <devnull@localhost>2005-01-13 13:21:55 +0000
commitabec1400ec7e1b351d714078a12d365f2929f7ab (patch)
treee8add94f69b624450241073cda49cdf6570664aa /linux/drivers/media/dvb/frontends/dib3000mc.c
parent90d3d94d395a445b76de9341168c2f6189e115f6 (diff)
downloadmediapointer-dvb-s2-abec1400ec7e1b351d714078a12d365f2929f7ab.tar.gz
mediapointer-dvb-s2-abec1400ec7e1b351d714078a12d365f2929f7ab.tar.bz2
removed the pid_filter_table from frontends
Diffstat (limited to 'linux/drivers/media/dvb/frontends/dib3000mc.c')
-rw-r--r--linux/drivers/media/dvb/frontends/dib3000mc.c23
1 files changed, 5 insertions, 18 deletions
diff --git a/linux/drivers/media/dvb/frontends/dib3000mc.c b/linux/drivers/media/dvb/frontends/dib3000mc.c
index 000f15bfd..f92f8af94 100644
--- a/linux/drivers/media/dvb/frontends/dib3000mc.c
+++ b/linux/drivers/media/dvb/frontends/dib3000mc.c
@@ -753,27 +753,17 @@ static int dib3000mc_set_frontend_and_tuner(struct dvb_frontend* fe, struct dvb_
}
static void dib3000mc_release(struct dvb_frontend* fe)
-{
- struct dib3000_state *state = (struct dib3000_state*) fe->demodulator_priv;
- dib3000_dealloc_pid_list(state);
+{
+ struct dib3000_state *state = (struct dib3000_state *) fe->demodulator_priv;
kfree(state);
}
/* pid filter and transfer stuff */
-static int dib3000mc_pid_control(struct dvb_frontend *fe,int pid,int onoff)
+static int dib3000mc_pid_control(struct dvb_frontend *fe,int index, int pid,int onoff)
{
struct dib3000_state *state = fe->demodulator_priv;
- int index = dib3000_get_pid_index(state->pid_list, DIB3000MC_NUM_PIDS, pid, &state->pid_list_lock,onoff);
-
pid = (onoff ? pid | DIB3000_ACTIVATE_PID_FILTERING : 0);
-
- deb_xfer("write pid %x to index: %x %d\n",pid,index+DIB3000MC_REG_FIRST_PID,index+DIB3000MC_REG_FIRST_PID);
- if (index >= 0) {
- wr(index+DIB3000MC_REG_FIRST_PID,pid);
- } else {
- err("no more pids for filtering.");
- return -ENOMEM;
- }
+ wr(index+DIB3000MC_REG_FIRST_PID,pid);
return 0;
}
@@ -848,7 +838,7 @@ static int dib3000mc_demod_init(struct dib3000_state *state)
static struct dvb_frontend_ops dib3000mc_ops;
struct dvb_frontend* dib3000mc_attach(const struct dib3000_config* config,
- struct i2c_adapter* i2c, struct dib3000_xfer_ops *xfer_ops)
+ struct i2c_adapter* i2c, struct dib_fe_xfer_ops *xfer_ops)
{
struct dib3000_state* state = NULL;
u16 devid;
@@ -880,9 +870,6 @@ struct dvb_frontend* dib3000mc_attach(const struct dib3000_config* config,
break;
}
- if (dib3000_init_pid_list(state,DIB3000MC_NUM_PIDS))
- goto error;
-
/* create dvb_frontend */
state->frontend.ops = &state->ops;
state->frontend.demodulator_priv = state;