]> git.karo-electronics.de Git - linux-beck.git/commitdiff
[media] dvb_usb_v2: git rid of dvb_usb_adapter state variable
authorAntti Palosaari <crope@iki.fi>
Mon, 18 Jun 2012 02:42:11 +0000 (23:42 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Sat, 4 Aug 2012 10:56:35 +0000 (07:56 -0300)
We can live without it easily.

Also USB data stream complete callback checks for feedcount
seems to be quite redundant so remove those also.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/dvb/dvb-usb/dvb_usb.h
drivers/media/dvb/dvb-usb/dvb_usb_dvb.c

index 6bd27e511102525ac85e44c8301217e9c42bca65..933d69004ab773dea0730fd1b03537df4017b145 100644 (file)
@@ -297,9 +297,6 @@ struct usb_data_stream {
  * @stream: the usb data stream.
  */
 struct dvb_usb_adapter {
-#define DVB_USB_ADAP_STATE_INIT 0x000
-#define DVB_USB_ADAP_STATE_DVB  0x001
-       int state;
        struct dvb_usb_device *dev;
        const struct dvb_usb_adapter_properties *props;
        struct usb_data_stream stream;
index 97b509332430d1ca929705c358733c12bc31f7ae..9e1bf03e03b322a6f78f6aff4028035c1d7a7c34 100644 (file)
@@ -8,28 +8,25 @@
  */
 #include "dvb_usb_common.h"
 
-static void dvb_usb_data_complete(struct usb_data_stream *stream, u8 *buffer,
-               size_t length)
+static void dvb_usb_data_complete(struct usb_data_stream *stream, u8 *buf,
+               size_t len)
 {
        struct dvb_usb_adapter *adap = stream->user_priv;
-       if (adap->feedcount > 0 && adap->state & DVB_USB_ADAP_STATE_DVB)
-               dvb_dmx_swfilter(&adap->demux, buffer, length);
+       dvb_dmx_swfilter(&adap->demux, buf, len);
 }
 
-static void dvb_usb_data_complete_204(struct usb_data_stream *stream,
-               u8 *buffer, size_t length)
+static void dvb_usb_data_complete_204(struct usb_data_stream *stream, u8 *buf,
+               size_t len)
 {
        struct dvb_usb_adapter *adap = stream->user_priv;
-       if (adap->feedcount > 0 && adap->state & DVB_USB_ADAP_STATE_DVB)
-               dvb_dmx_swfilter_204(&adap->demux, buffer, length);
+       dvb_dmx_swfilter_204(&adap->demux, buf, len);
 }
 
-static void dvb_usb_data_complete_raw(struct usb_data_stream *stream,
-                                     u8 *buffer, size_t length)
+static void dvb_usb_data_complete_raw(struct usb_data_stream *stream, u8 *buf,
+               size_t len)
 {
        struct dvb_usb_adapter *adap = stream->user_priv;
-       if (adap->feedcount > 0 && adap->state & DVB_USB_ADAP_STATE_DVB)
-               dvb_dmx_swfilter_raw(&adap->demux, buffer, length);
+       dvb_dmx_swfilter_raw(&adap->demux, buf, len);
 }
 
 int dvb_usbv2_adapter_stream_init(struct dvb_usb_adapter *adap)
@@ -244,9 +241,8 @@ int dvb_usbv2_adapter_dvb_init(struct dvb_usb_adapter *adap)
        }
 
        mutex_init(&adap->sync_mutex);
-       adap->state |= DVB_USB_ADAP_STATE_DVB;
-       return 0;
 
+       return 0;
 err_net_init:
        dvb_dmxdev_release(&adap->dmxdev);
 err_dmx_dev:
@@ -254,6 +250,7 @@ err_dmx_dev:
 err_dmx:
        dvb_unregister_adapter(&adap->dvb_adap);
 err:
+       adap->dvb_adap.priv = NULL;
        return ret;
 }
 
@@ -261,15 +258,14 @@ int dvb_usbv2_adapter_dvb_exit(struct dvb_usb_adapter *adap)
 {
        pr_debug("%s: adap=%d\n", __func__, adap->id);
 
-       if (adap->state & DVB_USB_ADAP_STATE_DVB) {
-               pr_debug("%s: unregistering DVB part\n", __func__);
+       if (adap->dvb_adap.priv) {
                dvb_net_release(&adap->dvb_net);
                adap->demux.dmx.close(&adap->demux.dmx);
                dvb_dmxdev_release(&adap->dmxdev);
                dvb_dmx_release(&adap->demux);
                dvb_unregister_adapter(&adap->dvb_adap);
-               adap->state &= ~DVB_USB_ADAP_STATE_DVB;
        }
+
        return 0;
 }