diff options
author | Mauro Carvalho Chehab <mchehab@infradead.org> | 2006-04-07 23:28:55 -0300 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2006-04-07 23:28:55 -0300 |
commit | 672521a35cb79a8a1ae4de74f446ed1ae73a31b2 (patch) | |
tree | 004f0f90164a1f1f9f0d05486887d97a93744979 /linux/drivers/media/video/dabusb.h | |
parent | 23b6caa1b7a386cc3bac43085a6e1e743d934ea2 (diff) | |
download | mediapointer-dvb-s2-672521a35cb79a8a1ae4de74f446ed1ae73a31b2.tar.gz mediapointer-dvb-s2-672521a35cb79a8a1ae4de74f446ed1ae73a31b2.tar.bz2 |
Added almost all other V4L missing drivers to the tree
From: Mauro Carvalho Chehab <mchehab@infradead.org>
Now, drivers/media tree is complete. Only missing zoran36120
since this won't work and it is a good candidate to be removed
from kernel soon.
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'linux/drivers/media/video/dabusb.h')
-rw-r--r-- | linux/drivers/media/video/dabusb.h | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/linux/drivers/media/video/dabusb.h b/linux/drivers/media/video/dabusb.h new file mode 100644 index 000000000..00eb34c86 --- /dev/null +++ b/linux/drivers/media/video/dabusb.h @@ -0,0 +1,85 @@ +#define _BULK_DATA_LEN 64 +typedef struct +{ + unsigned char data[_BULK_DATA_LEN]; + unsigned int size; + unsigned int pipe; +}bulk_transfer_t,*pbulk_transfer_t; + +#define DABUSB_MINOR 240 /* some unassigned USB minor */ +#define DABUSB_VERSION 0x1000 +#define IOCTL_DAB_BULK _IOWR('d', 0x30, bulk_transfer_t) +#define IOCTL_DAB_OVERRUNS _IOR('d', 0x15, int) +#define IOCTL_DAB_VERSION _IOR('d', 0x3f, int) + +#ifdef __KERNEL__ + +typedef enum { _stopped=0, _started } driver_state_t; + +typedef struct +{ + struct mutex mutex; + struct usb_device *usbdev; + wait_queue_head_t wait; + wait_queue_head_t remove_ok; + spinlock_t lock; + atomic_t pending_io; + driver_state_t state; + int remove_pending; + int got_mem; + int total_buffer_size; + unsigned int overruns; + int readptr; + int opened; + int devnum; + struct list_head free_buff_list; + struct list_head rec_buff_list; +} dabusb_t,*pdabusb_t; + +typedef struct +{ + pdabusb_t s; + struct urb *purb; + struct list_head buff_list; +} buff_t,*pbuff_t; + +typedef struct +{ + wait_queue_head_t wait; +} bulk_completion_context_t, *pbulk_completion_context_t; + + +#define _DABUSB_IF 2 +#define _DABUSB_ISOPIPE 0x09 +#define _ISOPIPESIZE 16384 + +#define _BULK_DATA_LEN 64 +// Vendor specific request code for Anchor Upload/Download +// This one is implemented in the core +#define ANCHOR_LOAD_INTERNAL 0xA0 + +// EZ-USB Control and Status Register. Bit 0 controls 8051 reset +#define CPUCS_REG 0x7F92 +#define _TOTAL_BUFFERS 384 + +#define MAX_INTEL_HEX_RECORD_LENGTH 16 + +#ifndef _BYTE_DEFINED +#define _BYTE_DEFINED +typedef unsigned char BYTE; +#endif // !_BYTE_DEFINED + +#ifndef _WORD_DEFINED +#define _WORD_DEFINED +typedef unsigned short WORD; +#endif // !_WORD_DEFINED + +typedef struct _INTEL_HEX_RECORD +{ + BYTE Length; + WORD Address; + BYTE Type; + BYTE Data[MAX_INTEL_HEX_RECORD_LENGTH]; +} INTEL_HEX_RECORD, *PINTEL_HEX_RECORD; + +#endif |