diff options
author | Patrick Boettcher <devnull@localhost> | 2005-01-13 13:21:55 +0000 |
---|---|---|
committer | Patrick Boettcher <devnull@localhost> | 2005-01-13 13:21:55 +0000 |
commit | abec1400ec7e1b351d714078a12d365f2929f7ab (patch) | |
tree | e8add94f69b624450241073cda49cdf6570664aa /linux/drivers/media/dvb/frontends/dib3000mc.c | |
parent | 90d3d94d395a445b76de9341168c2f6189e115f6 (diff) | |
download | mediapointer-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.c | 23 |
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; |