linux 2.6.16.38 w/ vs2.0.3-rc1
[linux-2.6.git] / drivers / media / dvb / b2c2 / flexcop.c
index 29ec418..56ba524 100644 (file)
@@ -67,7 +67,7 @@ static int flexcop_dvb_stop_feed(struct dvb_demux_feed *dvbdmxfeed)
 static int flexcop_dvb_init(struct flexcop_device *fc)
 {
        int ret;
-       if ((ret = dvb_register_adapter(&fc->dvb_adapter,"FlexCop Digital TV device",fc->owner,fc->dev)) < 0) {
+       if ((ret = dvb_register_adapter(&fc->dvb_adapter,"FlexCop Digital TV device",fc->owner)) < 0) {
                err("error registering DVB adapter");
                return ret;
        }
@@ -116,7 +116,7 @@ static int flexcop_dvb_init(struct flexcop_device *fc)
        dvb_net_init(&fc->dvb_adapter, &fc->dvbnet, &fc->demux.dmx);
 
        fc->init_state |= FC_STATE_DVB_INIT;
-       return 0;
+       goto success;
 
 err_connect_frontend:
        fc->demux.dmx.remove_frontend(&fc->demux.dmx,&fc->mem_frontend);
@@ -129,6 +129,9 @@ err_dmx_dev:
 err_dmx:
        dvb_unregister_adapter(&fc->dvb_adapter);
        return ret;
+
+success:
+       return 0;
 }
 
 static void flexcop_dvb_exit(struct flexcop_device *fc)
@@ -276,10 +279,11 @@ int flexcop_device_initialize(struct flexcop_device *fc)
 
        flexcop_device_name(fc,"initialization of","complete");
 
-       return 0;
-
+       ret = 0;
+       goto success;
 error:
        flexcop_device_exit(fc);
+success:
        return ret;
 }
 EXPORT_SYMBOL(flexcop_device_initialize);