Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Enumerations | Functions | Variables
em28xx.h File Reference
#include <linux/workqueue.h>
#include <linux/i2c.h>
#include <linux/mutex.h>
#include <linux/videodev2.h>
#include <media/videobuf-vmalloc.h>
#include <media/v4l2-device.h>
#include <media/ir-kbd-i2c.h>
#include <media/rc-core.h>
#include "tuner-xc2028.h"
#include "xc5000.h"
#include "em28xx-reg.h"

Go to the source code of this file.

Data Structures

struct  em28xx_usb_isoc_bufs
 
struct  em28xx_usb_isoc_ctl
 
struct  em28xx_fmt
 
struct  em28xx_buffer
 
struct  em28xx_dmaqueue
 
struct  em28xx_audio_mode
 
struct  em28xx_reg_seq
 
struct  em28xx_input
 
struct  em28xx_board
 
struct  em28xx_eeprom
 
struct  em28xx_audio
 
struct  em28xx_fh
 
struct  em28xx
 
struct  em28xx_ops
 

Macros

#define EM2800_BOARD_UNKNOWN   0
 
#define EM2820_BOARD_UNKNOWN   1
 
#define EM2820_BOARD_TERRATEC_CINERGY_250   2
 
#define EM2820_BOARD_PINNACLE_USB_2   3
 
#define EM2820_BOARD_HAUPPAUGE_WINTV_USB_2   4
 
#define EM2820_BOARD_MSI_VOX_USB_2   5
 
#define EM2800_BOARD_TERRATEC_CINERGY_200   6
 
#define EM2800_BOARD_LEADTEK_WINFAST_USBII   7
 
#define EM2800_BOARD_KWORLD_USB2800   8
 
#define EM2820_BOARD_PINNACLE_DVC_90   9
 
#define EM2880_BOARD_HAUPPAUGE_WINTV_HVR_900   10
 
#define EM2880_BOARD_TERRATEC_HYBRID_XS   11
 
#define EM2820_BOARD_KWORLD_PVRTV2800RF   12
 
#define EM2880_BOARD_TERRATEC_PRODIGY_XS   13
 
#define EM2820_BOARD_PROLINK_PLAYTV_USB2   14
 
#define EM2800_BOARD_VGEAR_POCKETTV   15
 
#define EM2883_BOARD_HAUPPAUGE_WINTV_HVR_950   16
 
#define EM2880_BOARD_PINNACLE_PCTV_HD_PRO   17
 
#define EM2880_BOARD_HAUPPAUGE_WINTV_HVR_900_R2   18
 
#define EM2860_BOARD_SAA711X_REFERENCE_DESIGN   19
 
#define EM2880_BOARD_AMD_ATI_TV_WONDER_HD_600   20
 
#define EM2800_BOARD_GRABBEEX_USB2800   21
 
#define EM2750_BOARD_UNKNOWN   22
 
#define EM2750_BOARD_DLCW_130   23
 
#define EM2820_BOARD_DLINK_USB_TV   24
 
#define EM2820_BOARD_GADMEI_UTV310   25
 
#define EM2820_BOARD_HERCULES_SMART_TV_USB2   26
 
#define EM2820_BOARD_PINNACLE_USB_2_FM1216ME   27
 
#define EM2820_BOARD_LEADTEK_WINFAST_USBII_DELUXE   28
 
#define EM2860_BOARD_TVP5150_REFERENCE_DESIGN   29
 
#define EM2820_BOARD_VIDEOLOGY_20K14XUSB   30
 
#define EM2821_BOARD_USBGEAR_VD204   31
 
#define EM2821_BOARD_SUPERCOMP_USB_2   32
 
#define EM2860_BOARD_ELGATO_VIDEO_CAPTURE   33
 
#define EM2860_BOARD_TERRATEC_HYBRID_XS   34
 
#define EM2860_BOARD_TYPHOON_DVD_MAKER   35
 
#define EM2860_BOARD_NETGMBH_CAM   36
 
#define EM2860_BOARD_GADMEI_UTV330   37
 
#define EM2861_BOARD_YAKUMO_MOVIE_MIXER   38
 
#define EM2861_BOARD_KWORLD_PVRTV_300U   39
 
#define EM2861_BOARD_PLEXTOR_PX_TV100U   40
 
#define EM2870_BOARD_KWORLD_350U   41
 
#define EM2870_BOARD_KWORLD_355U   42
 
#define EM2870_BOARD_TERRATEC_XS   43
 
#define EM2870_BOARD_TERRATEC_XS_MT2060   44
 
#define EM2870_BOARD_PINNACLE_PCTV_DVB   45
 
#define EM2870_BOARD_COMPRO_VIDEOMATE   46
 
#define EM2880_BOARD_KWORLD_DVB_305U   47
 
#define EM2880_BOARD_KWORLD_DVB_310U   48
 
#define EM2880_BOARD_MSI_DIGIVOX_AD   49
 
#define EM2880_BOARD_MSI_DIGIVOX_AD_II   50
 
#define EM2880_BOARD_TERRATEC_HYBRID_XS_FR   51
 
#define EM2881_BOARD_DNT_DA2_HYBRID   52
 
#define EM2881_BOARD_PINNACLE_HYBRID_PRO   53
 
#define EM2882_BOARD_KWORLD_VS_DVBT   54
 
#define EM2882_BOARD_TERRATEC_HYBRID_XS   55
 
#define EM2882_BOARD_PINNACLE_HYBRID_PRO_330E   56
 
#define EM2883_BOARD_KWORLD_HYBRID_330U   57
 
#define EM2820_BOARD_COMPRO_VIDEOMATE_FORYOU   58
 
#define EM2883_BOARD_HAUPPAUGE_WINTV_HVR_850   60
 
#define EM2820_BOARD_PROLINK_PLAYTV_BOX4_USB2   61
 
#define EM2820_BOARD_GADMEI_TVR200   62
 
#define EM2860_BOARD_KAIOMY_TVNPC_U2   63
 
#define EM2860_BOARD_EASYCAP   64
 
#define EM2820_BOARD_IODATA_GVMVP_SZ   65
 
#define EM2880_BOARD_EMPIRE_DUAL_TV   66
 
#define EM2860_BOARD_TERRATEC_GRABBY   67
 
#define EM2860_BOARD_TERRATEC_AV350   68
 
#define EM2882_BOARD_KWORLD_ATSC_315U   69
 
#define EM2882_BOARD_EVGA_INDTUBE   70
 
#define EM2820_BOARD_SILVERCREST_WEBCAM   71
 
#define EM2861_BOARD_GADMEI_UTV330PLUS   72
 
#define EM2870_BOARD_REDDO_DVB_C_USB_BOX   73
 
#define EM2800_BOARD_VC211A   74
 
#define EM2882_BOARD_DIKOM_DK300   75
 
#define EM2870_BOARD_KWORLD_A340   76
 
#define EM2874_BOARD_LEADERSHIP_ISDBT   77
 
#define EM28174_BOARD_PCTV_290E   78
 
#define EM2884_BOARD_TERRATEC_H5   79
 
#define EM28174_BOARD_PCTV_460E   80
 
#define EM2884_BOARD_HAUPPAUGE_WINTV_HVR_930C   81
 
#define EM2884_BOARD_CINERGY_HTC_STICK   82
 
#define EM2860_BOARD_HT_VIDBOX_NW03   83
 
#define EM2874_BOARD_MAXMEDIA_UB425_TC   84
 
#define EM2884_BOARD_PCTV_510E   85
 
#define EM2884_BOARD_PCTV_520E   86
 
#define EM28XX_MIN_BUF   4
 
#define EM28XX_DEF_BUF   8
 
#define URB_MAX_CTRL_SIZE   80
 
#define EM28XX_BOARD_NOT_VALIDATED   1
 
#define EM28XX_BOARD_VALIDATED   0
 
#define EM28XX_START_AUDIO   1
 
#define EM28XX_STOP_AUDIO   0
 
#define EM28XX_MAXBOARDS   4 /*FIXME: should be bigger */
 
#define EM28XX_NUM_FRAMES   5
 
#define EM28XX_NUM_READ_FRAMES   2
 
#define EM28XX_NUM_BUFS   5
 
#define EM28XX_DVB_NUM_BUFS   5
 
#define EM28XX_NUM_PACKETS   64
 
#define EM28XX_DVB_MAX_PACKETS   64
 
#define EM28XX_INTERLACED_DEFAULT   1
 
#define EM28XX_URB_TIMEOUT   msecs_to_jiffies(EM28XX_NUM_BUFS * EM28XX_NUM_PACKETS)
 
#define EM2800_I2C_WRITE_TIMEOUT   20
 
#define MAX_EM28XX_INPUT   4
 
#define INPUT(nr)   (&em28xx_boards[dev->model].input[nr])
 
#define EM28XX_AUDIO_BUFS   5
 
#define EM28XX_NUM_AUDIO_PACKETS   64
 
#define EM28XX_AUDIO_MAX_PACKET_SIZE   196 /* static value */
 
#define EM28XX_CAPTURE_STREAM_EN   1
 
#define EM28XX_AUDIO   0x10
 
#define EM28XX_DVB   0x20
 
#define EM28XX_RC   0x30
 
#define EM28XX_RESOURCE_VIDEO   0x01
 
#define EM28XX_RESOURCE_VBI   0x02
 
#define em28xx_err(fmt, arg...)
 
#define em28xx_errdev(fmt, arg...)
 
#define em28xx_info(fmt, arg...)
 
#define em28xx_warn(fmt, arg...)
 

Enumerations

enum  em28xx_mode { EM28XX_SUSPEND, EM28XX_ANALOG_MODE, EM28XX_DIGITAL_MODE }
 
enum  enum28xx_itype {
  EM28XX_VMUX_COMPOSITE1 = 1, EM28XX_VMUX_COMPOSITE2, EM28XX_VMUX_COMPOSITE3, EM28XX_VMUX_COMPOSITE4,
  EM28XX_VMUX_SVIDEO, EM28XX_VMUX_TELEVISION, EM28XX_VMUX_CABLE, EM28XX_VMUX_DVB,
  EM28XX_VMUX_DEBUG, EM28XX_RADIO
}
 
enum  em28xx_ac97_mode { EM28XX_NO_AC97 = 0, EM28XX_AC97_EM202, EM28XX_AC97_SIGMATEL, EM28XX_AC97_OTHER }
 
enum  em28xx_amux {
  EM28XX_AMUX_VIDEO, EM28XX_AMUX_LINE_IN, EM28XX_AMUX_VIDEO2, EM28XX_AMUX_PHONE,
  EM28XX_AMUX_MIC, EM28XX_AMUX_CD, EM28XX_AMUX_AUX, EM28XX_AMUX_PCM_OUT
}
 
enum  em28xx_aout {
  EM28XX_AOUT_MASTER = 1 << 0, EM28XX_AOUT_LINE = 1 << 1, EM28XX_AOUT_MONO = 1 << 2, EM28XX_AOUT_LFE = 1 << 3,
  EM28XX_AOUT_SURR = 1 << 4, EM28XX_AOUT_PCM_IN = 1 << 7, EM28XX_AOUT_PCM_MIC_PCM = 0 << 8, EM28XX_AOUT_PCM_CD = 1 << 8,
  EM28XX_AOUT_PCM_VIDEO = 2 << 8, EM28XX_AOUT_PCM_AUX = 3 << 8, EM28XX_AOUT_PCM_LINE = 4 << 8, EM28XX_AOUT_PCM_STEREO = 5 << 8,
  EM28XX_AOUT_PCM_MONO = 6 << 8, EM28XX_AOUT_PCM_PHONE = 7 << 8
}
 
enum  em28xx_decoder { EM28XX_NODECODER = 0, EM28XX_TVP5150, EM28XX_SAA711X }
 
enum  em28xx_sensor { EM28XX_NOSENSOR = 0, EM28XX_MT9V011, EM28XX_MT9M001, EM28XX_MT9M111 }
 
enum  em28xx_adecoder { EM28XX_NOADECODER = 0, EM28XX_TVAUDIO }
 
enum  em28xx_dev_state { DEV_INITIALIZED = 0x01, DEV_DISCONNECTED = 0x02, DEV_MISCONFIGURED = 0x04 }
 

Functions

void em28xx_do_i2c_scan (struct em28xx *dev)
 
int em28xx_i2c_register (struct em28xx *dev)
 
int em28xx_i2c_unregister (struct em28xx *dev)
 
u32 em28xx_request_buffers (struct em28xx *dev, u32 count)
 
void em28xx_queue_unusedframes (struct em28xx *dev)
 
void em28xx_release_buffers (struct em28xx *dev)
 
int em28xx_read_reg_req_len (struct em28xx *dev, u8 req, u16 reg, char *buf, int len)
 
int em28xx_read_reg_req (struct em28xx *dev, u8 req, u16 reg)
 
int em28xx_read_reg (struct em28xx *dev, u16 reg)
 
int em28xx_write_regs_req (struct em28xx *dev, u8 req, u16 reg, char *buf, int len)
 
int em28xx_write_regs (struct em28xx *dev, u16 reg, char *buf, int len)
 
int em28xx_write_reg (struct em28xx *dev, u16 reg, u8 val)
 
int em28xx_write_reg_bits (struct em28xx *dev, u16 reg, u8 val, u8 bitmask)
 
int em28xx_read_ac97 (struct em28xx *dev, u8 reg)
 
int em28xx_write_ac97 (struct em28xx *dev, u8 reg, u16 val)
 
int em28xx_audio_analog_set (struct em28xx *dev)
 
int em28xx_audio_setup (struct em28xx *dev)
 
int em28xx_colorlevels_set_default (struct em28xx *dev)
 
int em28xx_capture_start (struct em28xx *dev, int start)
 
int em28xx_vbi_supported (struct em28xx *dev)
 
int em28xx_set_outfmt (struct em28xx *dev)
 
int em28xx_resolution_set (struct em28xx *dev)
 
int em28xx_set_alternate (struct em28xx *dev)
 
int em28xx_alloc_isoc (struct em28xx *dev, enum em28xx_mode mode, int max_packets, int num_bufs, int max_pkt_size)
 
int em28xx_init_isoc (struct em28xx *dev, enum em28xx_mode mode, int max_packets, int num_bufs, int max_pkt_size, int(*isoc_copy)(struct em28xx *dev, struct urb *urb))
 
void em28xx_uninit_isoc (struct em28xx *dev, enum em28xx_mode mode)
 
void em28xx_stop_urbs (struct em28xx *dev)
 
int em28xx_isoc_dvb_max_packetsize (struct em28xx *dev)
 
int em28xx_set_mode (struct em28xx *dev, enum em28xx_mode set_mode)
 
int em28xx_gpio_set (struct em28xx *dev, struct em28xx_reg_seq *gpio)
 
void em28xx_wake_i2c (struct em28xx *dev)
 
int em28xx_register_extension (struct em28xx_ops *dev)
 
void em28xx_unregister_extension (struct em28xx_ops *dev)
 
void em28xx_init_extension (struct em28xx *dev)
 
void em28xx_close_extension (struct em28xx *dev)
 
int em28xx_register_analog_devices (struct em28xx *dev)
 
void em28xx_release_analog_resources (struct em28xx *dev)
 
int em2800_variant_detect (struct usb_device *udev, int model)
 
int em28xx_tuner_callback (void *ptr, int component, int command, int arg)
 
void em28xx_release_resources (struct em28xx *dev)
 

Variables

struct em28xx_board em28xx_boards []
 
struct usb_device_id em28xx_id_table []
 
const unsigned int em28xx_bcount
 
struct videobuf_queue_ops em28xx_vbi_qops
 

Macro Definition Documentation

#define EM2750_BOARD_DLCW_130   23

Definition at line 68 of file em28xx.h.

#define EM2750_BOARD_UNKNOWN   22

Definition at line 67 of file em28xx.h.

#define EM2800_BOARD_GRABBEEX_USB2800   21

Definition at line 66 of file em28xx.h.

#define EM2800_BOARD_KWORLD_USB2800   8

Definition at line 53 of file em28xx.h.

#define EM2800_BOARD_LEADTEK_WINFAST_USBII   7

Definition at line 52 of file em28xx.h.

#define EM2800_BOARD_TERRATEC_CINERGY_200   6

Definition at line 51 of file em28xx.h.

#define EM2800_BOARD_UNKNOWN   0

Definition at line 45 of file em28xx.h.

#define EM2800_BOARD_VC211A   74

Definition at line 118 of file em28xx.h.

#define EM2800_BOARD_VGEAR_POCKETTV   15

Definition at line 60 of file em28xx.h.

#define EM2800_I2C_WRITE_TIMEOUT   20

Definition at line 194 of file em28xx.h.

#define EM28174_BOARD_PCTV_290E   78

Definition at line 122 of file em28xx.h.

#define EM28174_BOARD_PCTV_460E   80

Definition at line 124 of file em28xx.h.

#define EM2820_BOARD_COMPRO_VIDEOMATE_FORYOU   58

Definition at line 103 of file em28xx.h.

#define EM2820_BOARD_DLINK_USB_TV   24

Definition at line 69 of file em28xx.h.

#define EM2820_BOARD_GADMEI_TVR200   62

Definition at line 106 of file em28xx.h.

#define EM2820_BOARD_GADMEI_UTV310   25

Definition at line 70 of file em28xx.h.

#define EM2820_BOARD_HAUPPAUGE_WINTV_USB_2   4

Definition at line 49 of file em28xx.h.

#define EM2820_BOARD_HERCULES_SMART_TV_USB2   26

Definition at line 71 of file em28xx.h.

#define EM2820_BOARD_IODATA_GVMVP_SZ   65

Definition at line 109 of file em28xx.h.

#define EM2820_BOARD_KWORLD_PVRTV2800RF   12

Definition at line 57 of file em28xx.h.

#define EM2820_BOARD_LEADTEK_WINFAST_USBII_DELUXE   28

Definition at line 73 of file em28xx.h.

#define EM2820_BOARD_MSI_VOX_USB_2   5

Definition at line 50 of file em28xx.h.

#define EM2820_BOARD_PINNACLE_DVC_90   9

Definition at line 54 of file em28xx.h.

#define EM2820_BOARD_PINNACLE_USB_2   3

Definition at line 48 of file em28xx.h.

#define EM2820_BOARD_PINNACLE_USB_2_FM1216ME   27

Definition at line 72 of file em28xx.h.

#define EM2820_BOARD_PROLINK_PLAYTV_BOX4_USB2   61

Definition at line 105 of file em28xx.h.

#define EM2820_BOARD_PROLINK_PLAYTV_USB2   14

Definition at line 59 of file em28xx.h.

#define EM2820_BOARD_SILVERCREST_WEBCAM   71

Definition at line 115 of file em28xx.h.

#define EM2820_BOARD_TERRATEC_CINERGY_250   2

Definition at line 47 of file em28xx.h.

#define EM2820_BOARD_UNKNOWN   1

Definition at line 46 of file em28xx.h.

#define EM2820_BOARD_VIDEOLOGY_20K14XUSB   30

Definition at line 75 of file em28xx.h.

#define EM2821_BOARD_SUPERCOMP_USB_2   32

Definition at line 77 of file em28xx.h.

#define EM2821_BOARD_USBGEAR_VD204   31

Definition at line 76 of file em28xx.h.

#define EM2860_BOARD_EASYCAP   64

Definition at line 108 of file em28xx.h.

#define EM2860_BOARD_ELGATO_VIDEO_CAPTURE   33

Definition at line 78 of file em28xx.h.

#define EM2860_BOARD_GADMEI_UTV330   37

Definition at line 82 of file em28xx.h.

#define EM2860_BOARD_HT_VIDBOX_NW03   83

Definition at line 127 of file em28xx.h.

#define EM2860_BOARD_KAIOMY_TVNPC_U2   63

Definition at line 107 of file em28xx.h.

#define EM2860_BOARD_NETGMBH_CAM   36

Definition at line 81 of file em28xx.h.

#define EM2860_BOARD_SAA711X_REFERENCE_DESIGN   19

Definition at line 64 of file em28xx.h.

#define EM2860_BOARD_TERRATEC_AV350   68

Definition at line 112 of file em28xx.h.

#define EM2860_BOARD_TERRATEC_GRABBY   67

Definition at line 111 of file em28xx.h.

#define EM2860_BOARD_TERRATEC_HYBRID_XS   34

Definition at line 79 of file em28xx.h.

#define EM2860_BOARD_TVP5150_REFERENCE_DESIGN   29

Definition at line 74 of file em28xx.h.

#define EM2860_BOARD_TYPHOON_DVD_MAKER   35

Definition at line 80 of file em28xx.h.

#define EM2861_BOARD_GADMEI_UTV330PLUS   72

Definition at line 116 of file em28xx.h.

#define EM2861_BOARD_KWORLD_PVRTV_300U   39

Definition at line 84 of file em28xx.h.

#define EM2861_BOARD_PLEXTOR_PX_TV100U   40

Definition at line 85 of file em28xx.h.

#define EM2861_BOARD_YAKUMO_MOVIE_MIXER   38

Definition at line 83 of file em28xx.h.

#define EM2870_BOARD_COMPRO_VIDEOMATE   46

Definition at line 91 of file em28xx.h.

#define EM2870_BOARD_KWORLD_350U   41

Definition at line 86 of file em28xx.h.

#define EM2870_BOARD_KWORLD_355U   42

Definition at line 87 of file em28xx.h.

#define EM2870_BOARD_KWORLD_A340   76

Definition at line 120 of file em28xx.h.

#define EM2870_BOARD_PINNACLE_PCTV_DVB   45

Definition at line 90 of file em28xx.h.

#define EM2870_BOARD_REDDO_DVB_C_USB_BOX   73

Definition at line 117 of file em28xx.h.

#define EM2870_BOARD_TERRATEC_XS   43

Definition at line 88 of file em28xx.h.

#define EM2870_BOARD_TERRATEC_XS_MT2060   44

Definition at line 89 of file em28xx.h.

#define EM2874_BOARD_LEADERSHIP_ISDBT   77

Definition at line 121 of file em28xx.h.

#define EM2874_BOARD_MAXMEDIA_UB425_TC   84

Definition at line 128 of file em28xx.h.

#define EM2880_BOARD_AMD_ATI_TV_WONDER_HD_600   20

Definition at line 65 of file em28xx.h.

#define EM2880_BOARD_EMPIRE_DUAL_TV   66

Definition at line 110 of file em28xx.h.

#define EM2880_BOARD_HAUPPAUGE_WINTV_HVR_900   10

Definition at line 55 of file em28xx.h.

#define EM2880_BOARD_HAUPPAUGE_WINTV_HVR_900_R2   18

Definition at line 63 of file em28xx.h.

#define EM2880_BOARD_KWORLD_DVB_305U   47

Definition at line 92 of file em28xx.h.

#define EM2880_BOARD_KWORLD_DVB_310U   48

Definition at line 93 of file em28xx.h.

#define EM2880_BOARD_MSI_DIGIVOX_AD   49

Definition at line 94 of file em28xx.h.

#define EM2880_BOARD_MSI_DIGIVOX_AD_II   50

Definition at line 95 of file em28xx.h.

#define EM2880_BOARD_PINNACLE_PCTV_HD_PRO   17

Definition at line 62 of file em28xx.h.

#define EM2880_BOARD_TERRATEC_HYBRID_XS   11

Definition at line 56 of file em28xx.h.

#define EM2880_BOARD_TERRATEC_HYBRID_XS_FR   51

Definition at line 96 of file em28xx.h.

#define EM2880_BOARD_TERRATEC_PRODIGY_XS   13

Definition at line 58 of file em28xx.h.

#define EM2881_BOARD_DNT_DA2_HYBRID   52

Definition at line 97 of file em28xx.h.

#define EM2881_BOARD_PINNACLE_HYBRID_PRO   53

Definition at line 98 of file em28xx.h.

#define EM2882_BOARD_DIKOM_DK300   75

Definition at line 119 of file em28xx.h.

#define EM2882_BOARD_EVGA_INDTUBE   70

Definition at line 114 of file em28xx.h.

#define EM2882_BOARD_KWORLD_ATSC_315U   69

Definition at line 113 of file em28xx.h.

#define EM2882_BOARD_KWORLD_VS_DVBT   54

Definition at line 99 of file em28xx.h.

#define EM2882_BOARD_PINNACLE_HYBRID_PRO_330E   56

Definition at line 101 of file em28xx.h.

#define EM2882_BOARD_TERRATEC_HYBRID_XS   55

Definition at line 100 of file em28xx.h.

#define EM2883_BOARD_HAUPPAUGE_WINTV_HVR_850   60

Definition at line 104 of file em28xx.h.

#define EM2883_BOARD_HAUPPAUGE_WINTV_HVR_950   16

Definition at line 61 of file em28xx.h.

#define EM2883_BOARD_KWORLD_HYBRID_330U   57

Definition at line 102 of file em28xx.h.

#define EM2884_BOARD_CINERGY_HTC_STICK   82

Definition at line 126 of file em28xx.h.

#define EM2884_BOARD_HAUPPAUGE_WINTV_HVR_930C   81

Definition at line 125 of file em28xx.h.

#define EM2884_BOARD_PCTV_510E   85

Definition at line 129 of file em28xx.h.

#define EM2884_BOARD_PCTV_520E   86

Definition at line 130 of file em28xx.h.

#define EM2884_BOARD_TERRATEC_H5   79

Definition at line 123 of file em28xx.h.

#define EM28XX_AUDIO   0x10

Definition at line 445 of file em28xx.h.

#define EM28XX_AUDIO_BUFS   5

Definition at line 439 of file em28xx.h.

#define EM28XX_AUDIO_MAX_PACKET_SIZE   196 /* static value */

Definition at line 441 of file em28xx.h.

#define EM28XX_BOARD_NOT_VALIDATED   1

Definition at line 140 of file em28xx.h.

#define EM28XX_BOARD_VALIDATED   0

Definition at line 141 of file em28xx.h.

#define EM28XX_CAPTURE_STREAM_EN   1

Definition at line 442 of file em28xx.h.

#define EM28XX_DEF_BUF   8

Definition at line 134 of file em28xx.h.

#define EM28XX_DVB   0x20

Definition at line 446 of file em28xx.h.

#define EM28XX_DVB_MAX_PACKETS   64

Definition at line 164 of file em28xx.h.

#define EM28XX_DVB_NUM_BUFS   5

Definition at line 157 of file em28xx.h.

#define em28xx_err (   fmt,
  arg... 
)
Value:
do {\
printk(KERN_ERR fmt , ##arg); } while (0)

Definition at line 701 of file em28xx.h.

#define em28xx_errdev (   fmt,
  arg... 
)
Value:
do {\
printk(KERN_ERR "%s: "fmt,\
dev->name , ##arg); } while (0)

Definition at line 704 of file em28xx.h.

#define em28xx_info (   fmt,
  arg... 
)
Value:
do {\
printk(KERN_INFO "%s: "fmt,\
dev->name , ##arg); } while (0)

Definition at line 708 of file em28xx.h.

#define EM28XX_INTERLACED_DEFAULT   1

Definition at line 166 of file em28xx.h.

#define EM28XX_MAXBOARDS   4 /*FIXME: should be bigger */

Definition at line 148 of file em28xx.h.

#define EM28XX_MIN_BUF   4

Definition at line 133 of file em28xx.h.

#define EM28XX_NUM_AUDIO_PACKETS   64

Definition at line 440 of file em28xx.h.

#define EM28XX_NUM_BUFS   5

Definition at line 156 of file em28xx.h.

#define EM28XX_NUM_FRAMES   5

Definition at line 151 of file em28xx.h.

#define EM28XX_NUM_PACKETS   64

Definition at line 163 of file em28xx.h.

#define EM28XX_NUM_READ_FRAMES   2

Definition at line 153 of file em28xx.h.

#define EM28XX_RC   0x30

Definition at line 447 of file em28xx.h.

#define EM28XX_RESOURCE_VBI   0x02

Definition at line 451 of file em28xx.h.

#define EM28XX_RESOURCE_VIDEO   0x01

Definition at line 450 of file em28xx.h.

#define EM28XX_START_AUDIO   1

Definition at line 144 of file em28xx.h.

#define EM28XX_STOP_AUDIO   0

Definition at line 145 of file em28xx.h.

#define EM28XX_URB_TIMEOUT   msecs_to_jiffies(EM28XX_NUM_BUFS * EM28XX_NUM_PACKETS)

Definition at line 190 of file em28xx.h.

#define em28xx_warn (   fmt,
  arg... 
)
Value:
do {\
printk(KERN_WARNING "%s: "fmt,\
dev->name , ##arg); } while (0)

Definition at line 711 of file em28xx.h.

#define INPUT (   nr)    (&em28xx_boards[dev->model].input[nr])

Definition at line 361 of file em28xx.h.

#define MAX_EM28XX_INPUT   4

Definition at line 266 of file em28xx.h.

#define URB_MAX_CTRL_SIZE   80

Definition at line 137 of file em28xx.h.

Enumeration Type Documentation

Enumerator:
EM28XX_NO_AC97 
EM28XX_AC97_EM202 
EM28XX_AC97_SIGMATEL 
EM28XX_AC97_OTHER 

Definition at line 280 of file em28xx.h.

Enumerator:
EM28XX_NOADECODER 
EM28XX_TVAUDIO 

Definition at line 376 of file em28xx.h.

Enumerator:
EM28XX_AMUX_VIDEO 
EM28XX_AMUX_LINE_IN 
EM28XX_AMUX_VIDEO2 
EM28XX_AMUX_PHONE 
EM28XX_AMUX_MIC 
EM28XX_AMUX_CD 
EM28XX_AMUX_AUX 
EM28XX_AMUX_PCM_OUT 

Definition at line 305 of file em28xx.h.

Enumerator:
EM28XX_AOUT_MASTER 
EM28XX_AOUT_LINE 
EM28XX_AOUT_MONO 
EM28XX_AOUT_LFE 
EM28XX_AOUT_SURR 
EM28XX_AOUT_PCM_IN 
EM28XX_AOUT_PCM_MIC_PCM 
EM28XX_AOUT_PCM_CD 
EM28XX_AOUT_PCM_VIDEO 
EM28XX_AOUT_PCM_AUX 
EM28XX_AOUT_PCM_LINE 
EM28XX_AOUT_PCM_STEREO 
EM28XX_AOUT_PCM_MONO 
EM28XX_AOUT_PCM_PHONE 

Definition at line 320 of file em28xx.h.

Enumerator:
EM28XX_NODECODER 
EM28XX_TVP5150 
EM28XX_SAA711X 

Definition at line 363 of file em28xx.h.

Enumerator:
DEV_INITIALIZED 
DEV_DISCONNECTED 
DEV_MISCONFIGURED 

Definition at line 433 of file em28xx.h.

Enumerator:
EM28XX_SUSPEND 
EM28XX_ANALOG_MODE 
EM28XX_DIGITAL_MODE 

Definition at line 196 of file em28xx.h.

Enumerator:
EM28XX_NOSENSOR 
EM28XX_MT9V011 
EM28XX_MT9M001 
EM28XX_MT9M111 

Definition at line 369 of file em28xx.h.

Enumerator:
EM28XX_VMUX_COMPOSITE1 
EM28XX_VMUX_COMPOSITE2 
EM28XX_VMUX_COMPOSITE3 
EM28XX_VMUX_COMPOSITE4 
EM28XX_VMUX_SVIDEO 
EM28XX_VMUX_TELEVISION 
EM28XX_VMUX_CABLE 
EM28XX_VMUX_DVB 
EM28XX_VMUX_DEBUG 
EM28XX_RADIO 

Definition at line 267 of file em28xx.h.

Function Documentation

int em2800_variant_detect ( struct usb_device *  udev,
int  model 
)
int em28xx_alloc_isoc ( struct em28xx dev,
enum em28xx_mode  mode,
int  max_packets,
int  num_bufs,
int  max_pkt_size 
)

Definition at line 1036 of file em28xx-core.c.

int em28xx_audio_analog_set ( struct em28xx dev)

Definition at line 426 of file em28xx-core.c.

int em28xx_audio_setup ( struct em28xx dev)

Definition at line 499 of file em28xx-core.c.

int em28xx_capture_start ( struct em28xx dev,
int  start 
)

Definition at line 622 of file em28xx-core.c.

void em28xx_close_extension ( struct em28xx dev)

Definition at line 1249 of file em28xx-core.c.

int em28xx_colorlevels_set_default ( struct em28xx dev)

Definition at line 604 of file em28xx-core.c.

void em28xx_do_i2c_scan ( struct em28xx dev)

Definition at line 498 of file em28xx-i2c.c.

int em28xx_gpio_set ( struct em28xx dev,
struct em28xx_reg_seq gpio 
)

Definition at line 860 of file em28xx-core.c.

int em28xx_i2c_register ( struct em28xx dev)

Definition at line 524 of file em28xx-i2c.c.

int em28xx_i2c_unregister ( struct em28xx dev)

Definition at line 564 of file em28xx-i2c.c.

void em28xx_init_extension ( struct em28xx dev)

Definition at line 1236 of file em28xx-core.c.

int em28xx_init_isoc ( struct em28xx dev,
enum em28xx_mode  mode,
int  max_packets,
int  num_bufs,
int  max_pkt_size,
int(*)(struct em28xx *dev, struct urb *urb isoc_copy 
)

Definition at line 1131 of file em28xx-core.c.

int em28xx_isoc_dvb_max_packetsize ( struct em28xx dev)
void em28xx_queue_unusedframes ( struct em28xx dev)
int em28xx_read_ac97 ( struct em28xx dev,
u8  reg 
)

Definition at line 273 of file em28xx-core.c.

int em28xx_read_reg ( struct em28xx dev,
u16  reg 
)

Definition at line 139 of file em28xx-core.c.

int em28xx_read_reg_req ( struct em28xx dev,
u8  req,
u16  reg 
)

Definition at line 127 of file em28xx-core.c.

int em28xx_read_reg_req_len ( struct em28xx dev,
u8  req,
u16  reg,
char buf,
int  len 
)

Definition at line 73 of file em28xx-core.c.

int em28xx_register_analog_devices ( struct em28xx dev)

Definition at line 2528 of file em28xx-video.c.

int em28xx_register_extension ( struct em28xx_ops dev)

Definition at line 1207 of file em28xx-core.c.

void em28xx_release_analog_resources ( struct em28xx dev)

Definition at line 2205 of file em28xx-video.c.

void em28xx_release_buffers ( struct em28xx dev)
void em28xx_release_resources ( struct em28xx dev)

Definition at line 2920 of file em28xx-cards.c.

u32 em28xx_request_buffers ( struct em28xx dev,
u32  count 
)
int em28xx_resolution_set ( struct em28xx dev)

Definition at line 775 of file em28xx-core.c.

int em28xx_set_alternate ( struct em28xx dev)

Definition at line 807 of file em28xx-core.c.

int em28xx_set_mode ( struct em28xx dev,
enum em28xx_mode  set_mode 
)

Definition at line 895 of file em28xx-core.c.

int em28xx_set_outfmt ( struct em28xx dev)

Definition at line 688 of file em28xx-core.c.

void em28xx_stop_urbs ( struct em28xx dev)

Definition at line 1011 of file em28xx-core.c.

int em28xx_tuner_callback ( void ptr,
int  component,
int  command,
int  arg 
)

Definition at line 2187 of file em28xx-cards.c.

void em28xx_uninit_isoc ( struct em28xx dev,
enum em28xx_mode  mode 
)

Definition at line 964 of file em28xx-core.c.

void em28xx_unregister_extension ( struct em28xx_ops dev)

Definition at line 1222 of file em28xx-core.c.

int em28xx_vbi_supported ( struct em28xx dev)

Definition at line 674 of file em28xx-core.c.

void em28xx_wake_i2c ( struct em28xx dev)

Definition at line 1186 of file em28xx-core.c.

int em28xx_write_ac97 ( struct em28xx dev,
u8  reg,
u16  val 
)

Definition at line 300 of file em28xx-core.c.

int em28xx_write_reg ( struct em28xx dev,
u16  reg,
u8  val 
)

Definition at line 213 of file em28xx-core.c.

int em28xx_write_reg_bits ( struct em28xx dev,
u16  reg,
u8  val,
u8  bitmask 
)

Definition at line 224 of file em28xx-core.c.

int em28xx_write_regs ( struct em28xx dev,
u16  reg,
char buf,
int  len 
)

Definition at line 190 of file em28xx-core.c.

int em28xx_write_regs_req ( struct em28xx dev,
u8  req,
u16  reg,
char buf,
int  len 
)

Definition at line 149 of file em28xx-core.c.

Variable Documentation

const unsigned int em28xx_bcount

Definition at line 1983 of file em28xx-cards.c.

struct em28xx_board em28xx_boards[]

Definition at line 399 of file em28xx-cards.c.

struct usb_device_id em28xx_id_table[]

Definition at line 1986 of file em28xx-cards.c.

struct videobuf_queue_ops em28xx_vbi_qops

Definition at line 140 of file em28xx-vbi.c.