]> err.no Git - linux-2.6/blobdiff - drivers/media/video/au0828/au0828-dvb.c
Merge branch 'linus' into x86/cleanups
[linux-2.6] / drivers / media / video / au0828 / au0828-dvb.c
index 8853f4e26092c0aef22812ffd4e007a8a47de599..c6d47059038029f6d039b071512a3f343d633043 100644 (file)
@@ -31,6 +31,9 @@
 
 DVB_DEFINE_MOD_OPT_ADAPTER_NR(adapter_nr);
 
+#define _AU0828_BULKPIPE 0x83
+#define _BULKPIPESIZE 0xe522
+
 static struct au8522_config hauppauge_hvr950q_config = {
        .demod_address = 0x8e >> 1,
        .status_mode   = AU8522_DEMODLOCKING,
@@ -66,7 +69,8 @@ static void urb_completion(struct urb *purb)
        ptr = (u8 *)purb->transfer_buffer;
 
        /* Feed the transport payload into the kernel demux */
-       dvb_dmx_swfilter_packets(&dev->dvb.demux, purb->transfer_buffer, purb->actual_length / 188);
+       dvb_dmx_swfilter_packets(&dev->dvb.demux,
+               purb->transfer_buffer, purb->actual_length / 188);
 
        /* Clean the buffer before we requeue */
        memset(purb->transfer_buffer, 0, URB_BUFSIZE);
@@ -81,7 +85,6 @@ static int stop_urb_transfer(struct au0828_dev *dev)
 
        dprintk(2, "%s()\n", __func__);
 
-       /* FIXME:  Do we need to free the transfer_buffers? */
        for (i = 0; i < URB_COUNT; i++) {
                usb_kill_urb(dev->urbs[i]);
                kfree(dev->urbs[i]->transfer_buffer);
@@ -93,9 +96,6 @@ static int stop_urb_transfer(struct au0828_dev *dev)
        return 0;
 }
 
-#define _AU0828_BULKPIPE 0x83
-#define _BULKPIPESIZE 0xe522
-
 static int start_urb_transfer(struct au0828_dev *dev)
 {
        struct urb *purb;
@@ -111,16 +111,15 @@ static int start_urb_transfer(struct au0828_dev *dev)
        for (i = 0; i < URB_COUNT; i++) {
 
                dev->urbs[i] = usb_alloc_urb(0, GFP_KERNEL);
-               if (!dev->urbs[i]) {
+               if (!dev->urbs[i])
                        goto err;
-               }
 
                purb = dev->urbs[i];
 
                purb->transfer_buffer = kzalloc(URB_BUFSIZE, GFP_KERNEL);
                if (!purb->transfer_buffer) {
                        usb_free_urb(purb);
-                       dev->urbs[i] = 0;
+                       dev->urbs[i] = NULL;
                        goto err;
                }
 
@@ -205,7 +204,7 @@ static int au0828_dvb_stop_feed(struct dvb_demux_feed *feed)
        return ret;
 }
 
-int dvb_register(struct au0828_dev *dev)
+static int dvb_register(struct au0828_dev *dev)
 {
        struct au0828_dvb *dvb = &dev->dvb;
        int result;
@@ -306,7 +305,7 @@ void au0828_dvb_unregister(struct au0828_dev *dev)
 
        dprintk(1, "%s()\n", __func__);
 
-       if(dvb->frontend == NULL)
+       if (dvb->frontend == NULL)
                return;
 
        dvb_net_release(&dvb->net);
@@ -338,12 +337,10 @@ int au0828_dvb_register(struct au0828_dev *dev)
                dvb->frontend = dvb_attach(au8522_attach,
                                &hauppauge_hvr950q_config,
                                &dev->i2c_adap);
-               if (dvb->frontend != NULL) {
-                       hauppauge_hvr950q_tunerconfig.priv = dev;
+               if (dvb->frontend != NULL)
                        dvb_attach(xc5000_attach, dvb->frontend,
                                &dev->i2c_adap,
-                               &hauppauge_hvr950q_tunerconfig);
-               }
+                               &hauppauge_hvr950q_tunerconfig, dev);
                break;
        default:
                printk(KERN_WARNING "The frontend of your DVB/ATSC card "
@@ -356,12 +353,6 @@ int au0828_dvb_register(struct au0828_dev *dev)
                return -1;
        }
 
-       /* Put the analog decoder in standby to keep it quiet */
-       au0828_call_i2c_clients(dev, TUNER_SET_STANDBY, NULL);
-
-       if (dvb->frontend->ops.analog_ops.standby)
-               dvb->frontend->ops.analog_ops.standby(dvb->frontend);
-
        /* register everything */
        ret = dvb_register(dev);
        if (ret < 0) {