aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/pvrusb2/pvrusb2-context.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/media/video/pvrusb2/pvrusb2-context.h')
-rw-r--r--drivers/media/video/pvrusb2/pvrusb2-context.h16
1 files changed, 11 insertions, 5 deletions
diff --git a/drivers/media/video/pvrusb2/pvrusb2-context.h b/drivers/media/video/pvrusb2/pvrusb2-context.h
index a04187a93225..745e270233c2 100644
--- a/drivers/media/video/pvrusb2/pvrusb2-context.h
+++ b/drivers/media/video/pvrusb2/pvrusb2-context.h
@@ -30,7 +30,6 @@ struct pvr2_stream; /* stream interface - defined elsewhere */
30struct pvr2_context; /* All central state */ 30struct pvr2_context; /* All central state */
31struct pvr2_channel; /* One I/O pathway to a user */ 31struct pvr2_channel; /* One I/O pathway to a user */
32struct pvr2_context_stream; /* Wrapper for a stream */ 32struct pvr2_context_stream; /* Wrapper for a stream */
33struct pvr2_crit_reg; /* Critical region pointer */
34struct pvr2_ioread; /* Low level stream structure */ 33struct pvr2_ioread; /* Low level stream structure */
35 34
36struct pvr2_context_stream { 35struct pvr2_context_stream {
@@ -41,11 +40,16 @@ struct pvr2_context_stream {
41struct pvr2_context { 40struct pvr2_context {
42 struct pvr2_channel *mc_first; 41 struct pvr2_channel *mc_first;
43 struct pvr2_channel *mc_last; 42 struct pvr2_channel *mc_last;
43 struct pvr2_context *exist_next;
44 struct pvr2_context *exist_prev;
45 struct pvr2_context *notify_next;
46 struct pvr2_context *notify_prev;
44 struct pvr2_hdw *hdw; 47 struct pvr2_hdw *hdw;
45 struct pvr2_context_stream video_stream; 48 struct pvr2_context_stream video_stream;
46 struct mutex mutex; 49 struct mutex mutex;
50 int notify_flag;
51 int initialized_flag;
47 int disconnect_flag; 52 int disconnect_flag;
48 int init_flag;
49 53
50 /* Called after pvr2_context initialization is complete */ 54 /* Called after pvr2_context initialization is complete */
51 void (*setup_func)(struct pvr2_context *); 55 void (*setup_func)(struct pvr2_context *);
@@ -58,12 +62,10 @@ struct pvr2_channel {
58 struct pvr2_channel *mc_prev; 62 struct pvr2_channel *mc_prev;
59 struct pvr2_context_stream *stream; 63 struct pvr2_context_stream *stream;
60 struct pvr2_hdw *hdw; 64 struct pvr2_hdw *hdw;
65 unsigned int input_mask;
61 void (*check_func)(struct pvr2_channel *); 66 void (*check_func)(struct pvr2_channel *);
62}; 67};
63 68
64void pvr2_context_enter(struct pvr2_context *);
65void pvr2_context_exit(struct pvr2_context *);
66
67struct pvr2_context *pvr2_context_create(struct usb_interface *intf, 69struct pvr2_context *pvr2_context_create(struct usb_interface *intf,
68 const struct usb_device_id *devid, 70 const struct usb_device_id *devid,
69 void (*setup_func)(struct pvr2_context *)); 71 void (*setup_func)(struct pvr2_context *));
@@ -71,11 +73,15 @@ void pvr2_context_disconnect(struct pvr2_context *);
71 73
72void pvr2_channel_init(struct pvr2_channel *,struct pvr2_context *); 74void pvr2_channel_init(struct pvr2_channel *,struct pvr2_context *);
73void pvr2_channel_done(struct pvr2_channel *); 75void pvr2_channel_done(struct pvr2_channel *);
76int pvr2_channel_limit_inputs(struct pvr2_channel *,unsigned int);
77unsigned int pvr2_channel_get_limited_inputs(struct pvr2_channel *);
74int pvr2_channel_claim_stream(struct pvr2_channel *, 78int pvr2_channel_claim_stream(struct pvr2_channel *,
75 struct pvr2_context_stream *); 79 struct pvr2_context_stream *);
76struct pvr2_ioread *pvr2_channel_create_mpeg_stream( 80struct pvr2_ioread *pvr2_channel_create_mpeg_stream(
77 struct pvr2_context_stream *); 81 struct pvr2_context_stream *);
78 82
83int pvr2_context_global_init(void);
84void pvr2_context_global_done(void);
79 85
80#endif /* __PVRUSB2_CONTEXT_H */ 86#endif /* __PVRUSB2_CONTEXT_H */
81/* 87/*