diff options
Diffstat (limited to 'drivers/media/video/em28xx/em28xx.h')
-rw-r--r-- | drivers/media/video/em28xx/em28xx.h | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/media/video/em28xx/em28xx.h b/drivers/media/video/em28xx/em28xx.h index 33de9d846af5..e1ddc2f27a21 100644 --- a/drivers/media/video/em28xx/em28xx.h +++ b/drivers/media/video/em28xx/em28xx.h | |||
@@ -27,6 +27,7 @@ | |||
27 | 27 | ||
28 | #include <linux/videodev.h> | 28 | #include <linux/videodev.h> |
29 | #include <linux/i2c.h> | 29 | #include <linux/i2c.h> |
30 | #include <linux/mutex.h> | ||
30 | #include <media/ir-kbd-i2c.h> | 31 | #include <media/ir-kbd-i2c.h> |
31 | 32 | ||
32 | /* Boards supported by driver */ | 33 | /* Boards supported by driver */ |
@@ -41,6 +42,10 @@ | |||
41 | #define EM2800_BOARD_LEADTEK_WINFAST_USBII 7 | 42 | #define EM2800_BOARD_LEADTEK_WINFAST_USBII 7 |
42 | #define EM2800_BOARD_KWORLD_USB2800 8 | 43 | #define EM2800_BOARD_KWORLD_USB2800 8 |
43 | #define EM2820_BOARD_PINNACLE_DVC_90 9 | 44 | #define EM2820_BOARD_PINNACLE_DVC_90 9 |
45 | #define EM2880_BOARD_HAUPPAUGE_WINTV_HVR_900 10 | ||
46 | #define EM2880_BOARD_TERRATEC_HYBRID_XS 11 | ||
47 | #define EM2820_BOARD_KWORLD_PVRTV2800RF 12 | ||
48 | #define EM2880_BOARD_TERRATEC_PRODIGY_XS 13 | ||
44 | 49 | ||
45 | #define UNSET -1 | 50 | #define UNSET -1 |
46 | 51 | ||
@@ -209,6 +214,7 @@ struct em28xx { | |||
209 | /* generic device properties */ | 214 | /* generic device properties */ |
210 | char name[30]; /* name (including minor) of the device */ | 215 | char name[30]; /* name (including minor) of the device */ |
211 | int model; /* index in the device_data struct */ | 216 | int model; /* index in the device_data struct */ |
217 | int devno; /* marks the number of this device */ | ||
212 | unsigned int is_em2800; | 218 | unsigned int is_em2800; |
213 | int video_inputs; /* number of video inputs */ | 219 | int video_inputs; /* number of video inputs */ |
214 | struct list_head devlist; | 220 | struct list_head devlist; |
@@ -256,7 +262,7 @@ struct em28xx { | |||
256 | enum em28xx_stream_state stream; | 262 | enum em28xx_stream_state stream; |
257 | enum em28xx_io_method io; | 263 | enum em28xx_io_method io; |
258 | /* locks */ | 264 | /* locks */ |
259 | struct semaphore lock, fileop_lock; | 265 | struct mutex lock, fileop_lock; |
260 | spinlock_t queue_lock; | 266 | spinlock_t queue_lock; |
261 | struct list_head inqueue, outqueue; | 267 | struct list_head inqueue, outqueue; |
262 | wait_queue_head_t open, wait_frame, wait_stream; | 268 | wait_queue_head_t open, wait_frame, wait_stream; |
@@ -326,6 +332,7 @@ int em28xx_set_alternate(struct em28xx *dev); | |||
326 | 332 | ||
327 | /* Provided by em28xx-cards.c */ | 333 | /* Provided by em28xx-cards.c */ |
328 | extern int em2800_variant_detect(struct usb_device* udev,int model); | 334 | extern int em2800_variant_detect(struct usb_device* udev,int model); |
335 | extern void em28xx_pre_card_setup(struct em28xx *dev); | ||
329 | extern void em28xx_card_setup(struct em28xx *dev); | 336 | extern void em28xx_card_setup(struct em28xx *dev); |
330 | extern struct em28xx_board em28xx_boards[]; | 337 | extern struct em28xx_board em28xx_boards[]; |
331 | extern struct usb_device_id em28xx_id_table[]; | 338 | extern struct usb_device_id em28xx_id_table[]; |