diff options
Diffstat (limited to 'linux/drivers/media/dvb/b2c2/flexcop.c')
-rw-r--r-- | linux/drivers/media/dvb/b2c2/flexcop.c | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/linux/drivers/media/dvb/b2c2/flexcop.c b/linux/drivers/media/dvb/b2c2/flexcop.c index ddc057a24..4b2b414e0 100644 --- a/linux/drivers/media/dvb/b2c2/flexcop.c +++ b/linux/drivers/media/dvb/b2c2/flexcop.c @@ -71,7 +71,7 @@ static int flexcop_dvb_init(struct flexcop_device *fc) err("error registering DVB adapter"); return ret; } - fc->dvb_adapter->priv = fc; + fc->dvb_adapter.priv = fc; fc->demux.dmx.capabilities = (DMX_TS_FILTERING | DMX_SECTION_FILTERING | DMX_MEMORY_BASED_FILTERING); fc->demux.priv = fc; @@ -92,7 +92,7 @@ static int flexcop_dvb_init(struct flexcop_device *fc) fc->dmxdev.filternum = fc->demux.feednum; fc->dmxdev.demux = &fc->demux.dmx; fc->dmxdev.capabilities = 0; - if ((ret = dvb_dmxdev_init(&fc->dmxdev, fc->dvb_adapter)) < 0) { + if ((ret = dvb_dmxdev_init(&fc->dmxdev, &fc->dvb_adapter)) < 0) { err("dvb_dmxdev_init failed: error %d",ret); goto err_dmx_dev; } @@ -113,7 +113,7 @@ static int flexcop_dvb_init(struct flexcop_device *fc) goto err_connect_frontend; } - dvb_net_init(fc->dvb_adapter, &fc->dvbnet, &fc->demux.dmx); + dvb_net_init(&fc->dvb_adapter, &fc->dvbnet, &fc->demux.dmx); fc->init_state |= FC_STATE_DVB_INIT; goto success; @@ -127,7 +127,7 @@ err_dmx_add_hw_frontend: err_dmx_dev: dvb_dmx_release(&fc->demux); err_dmx: - dvb_unregister_adapter(fc->dvb_adapter); + dvb_unregister_adapter(&fc->dvb_adapter); return ret; success: @@ -144,9 +144,7 @@ static void flexcop_dvb_exit(struct flexcop_device *fc) fc->demux.dmx.remove_frontend(&fc->demux.dmx,&fc->hw_frontend); dvb_dmxdev_release(&fc->dmxdev); dvb_dmx_release(&fc->demux); - - if (fc->dvb_adapter != NULL) - dvb_unregister_adapter(fc->dvb_adapter); + dvb_unregister_adapter(&fc->dvb_adapter); deb_info("deinitialized dvb stuff\n"); } |