aboutsummaryrefslogtreecommitdiff
path: root/drivers/media/dvb/dvb-core/dmxdev.h
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@g5.osdl.org>2006-03-21 09:01:08 -0800
committerLinus Torvalds <torvalds@g5.osdl.org>2006-03-21 09:01:08 -0800
commitf0481730c827421cf1548bfd73c073c0f47f2907 (patch)
tree0d25ab7377afd270995f8c31d2953ffa32c8aa40 /drivers/media/dvb/dvb-core/dmxdev.h
parentc4a1745aa09fc110afdefea0e5d025043e348bae (diff)
parentecb73774e5f5b5f635a70073086c3f57b4ca4ae6 (diff)
Merge kernel.org:/pub/scm/linux/kernel/git/mchehab/v4l-dvb.git with fixups
This merges the DVB tree, but fixes up the history that had gotten screwed up by a broken commit. The history is fixed up by re-doing the commit properly (taking the resolve from the final result of the original), and then cherry-picking the commits that followed the broken merge. * dvb: (190 commits) V4L/DVB (3545): Fixed no_overlay option and quirks on saa7134 driver V4L/DVB (3543): Fix Makefile to adapt to bt8xx/ conversion V4L/DVB (3538): Bt8xx documentation update V4L/DVB (3537a): Whitespace cleanup V4L/DVB (3533): Add WSS (wide screen signalling) module parameters V4L/DVB (3532): Moved duplicated code of ALPS BSRU6 tuner to a standalone file. V4L/DVB (3530): Kconfig: remove VIDEO_AUDIO_DECODER V4L/DVB (3529): Kconfig: add menu items for cs53l32a and wm8775 A/D converters V4L/DVB (3528): Kconfig: fix ATSC frontend menu item names by manufacturer V4L/DVB (3527): VIDEO_CPIA2 must depend on USB V4L/DVB (3525): Kconfig: remove VIDEO_DECODER V4L/DVB (3524): Kconfig: add menu items for saa7115 and saa7127 V4L/DVB (3494): Kconfig: select VIDEO_MSP3400 to build msp3400.ko V4L/DVB (3522): Fixed a trouble with other PAL standards V4L/DVB (3521): Avoid warnings at video-buf.c V4L/DVB (3514): SAA7113 doesn't have auto std chroma detection mode V4L/DVB (3513): Remove saa711x driver V4L/DVB (3509): Make a needlessly global function static. V4L/DVB (3506): Cinergy T2 dmx cleanup on disconnect V4L/DVB (3504): Medion 7134: Autodetect second bridge chip ... Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/media/dvb/dvb-core/dmxdev.h')
-rw-r--r--drivers/media/dvb/dvb-core/dmxdev.h36
1 files changed, 8 insertions, 28 deletions
diff --git a/drivers/media/dvb/dvb-core/dmxdev.h b/drivers/media/dvb/dvb-core/dmxdev.h
index fd72920c219..d2bee9ffe43 100644
--- a/drivers/media/dvb/dvb-core/dmxdev.h
+++ b/drivers/media/dvb/dvb-core/dmxdev.h
@@ -30,14 +30,15 @@
#include <linux/wait.h>
#include <linux/fs.h>
#include <linux/string.h>
-#include <asm/semaphore.h>
+#include <linux/mutex.h>
#include <linux/dvb/dmx.h>
#include "dvbdev.h"
#include "demux.h"
+#include "dvb_ringbuffer.h"
-enum dmxdevype {
+enum dmxdev_type {
DMXDEV_TYPE_NONE,
DMXDEV_TYPE_SEC,
DMXDEV_TYPE_PES,
@@ -52,18 +53,7 @@ enum dmxdev_state {
DMXDEV_STATE_TIMEDOUT
};
-struct dmxdev_buffer {
- u8 *data;
- int size;
- int pread;
- int pwrite;
- wait_queue_head_t queue;
- int error;
-};
-
struct dmxdev_filter {
- struct dvb_device *dvbdev;
-
union {
struct dmx_section_filter *sec;
} filter;
@@ -78,26 +68,17 @@ struct dmxdev_filter {
struct dmx_pes_filter_params pes;
} params;
- int type;
+ enum dmxdev_type type;
enum dmxdev_state state;
struct dmxdev *dev;
- struct dmxdev_buffer buffer;
+ struct dvb_ringbuffer buffer;
- struct semaphore mutex;
+ struct mutex mutex;
/* only for sections */
struct timer_list timer;
int todo;
u8 secheader[3];
-
- u16 pid;
-};
-
-
-struct dmxdev_dvr {
- int state;
- struct dmxdev *dev;
- struct dmxdev_buffer buffer;
};
@@ -106,7 +87,6 @@ struct dmxdev {
struct dvb_device *dvr_dvbdev;
struct dmxdev_filter *filter;
- struct dmxdev_dvr *dvr;
struct dmx_demux *demux;
int filternum;
@@ -114,10 +94,10 @@ struct dmxdev {
#define DMXDEV_CAP_DUPLEX 1
struct dmx_frontend *dvr_orig_fe;
- struct dmxdev_buffer dvr_buffer;
+ struct dvb_ringbuffer dvr_buffer;
#define DVR_BUFFER_SIZE (10*188*1024)
- struct semaphore mutex;
+ struct mutex mutex;
spinlock_t lock;
};