summaryrefslogtreecommitdiff
path: root/drivers/media
diff options
context:
space:
mode:
authorAntti Palosaari <crope@iki.fi>2012-06-18 02:42:11 (GMT)
committerMauro Carvalho Chehab <mchehab@redhat.com>2012-08-04 10:56:35 (GMT)
commit4edcf22bf2cf5fe679dd51c6d0f092f1fabdff1e (patch)
treedf341a13f38cb41403d4fcd7950a5b9714b67357 /drivers/media
parent5da2aecb46597c2b4a3dee2eb78863fee0c8354e (diff)
downloadlinux-4edcf22bf2cf5fe679dd51c6d0f092f1fabdff1e.tar.xz
[media] dvb_usb_v2: git rid of dvb_usb_adapter state variable
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>
Diffstat (limited to 'drivers/media')
-rw-r--r--drivers/media/dvb/dvb-usb/dvb_usb.h3
-rw-r--r--drivers/media/dvb/dvb-usb/dvb_usb_dvb.c30
2 files changed, 13 insertions, 20 deletions
diff --git a/drivers/media/dvb/dvb-usb/dvb_usb.h b/drivers/media/dvb/dvb-usb/dvb_usb.h
index 6bd27e5..933d690 100644
--- a/drivers/media/dvb/dvb-usb/dvb_usb.h
+++ b/drivers/media/dvb/dvb-usb/dvb_usb.h
@@ -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;
diff --git a/drivers/media/dvb/dvb-usb/dvb_usb_dvb.c b/drivers/media/dvb/dvb-usb/dvb_usb_dvb.c
index 97b5093..9e1bf03 100644
--- a/drivers/media/dvb/dvb-usb/dvb_usb_dvb.c
+++ b/drivers/media/dvb/dvb-usb/dvb_usb_dvb.c
@@ -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;
}