aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/em28xx/em28xx.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/media/video/em28xx/em28xx.h')
-rw-r--r--drivers/media/video/em28xx/em28xx.h270
1 files changed, 135 insertions, 135 deletions
diff --git a/drivers/media/video/em28xx/em28xx.h b/drivers/media/video/em28xx/em28xx.h
index 8c58c5b5fa36..d51f8c63bcf9 100644
--- a/drivers/media/video/em28xx/em28xx.h
+++ b/drivers/media/video/em28xx/em28xx.h
@@ -1,5 +1,5 @@
1/* 1/*
2 em2820-cards.c - driver for Empia EM2800/EM2820/2840 USB video capture devices 2 em28xx-cards.c - driver for Empia EM2800/EM2820/2840 USB video capture devices
3 3
4 Copyright (C) 2005 Markus Rechberger <mrechberger@gmail.com> 4 Copyright (C) 2005 Markus Rechberger <mrechberger@gmail.com>
5 Ludovico Cavedon <cavedon@sssup.it> 5 Ludovico Cavedon <cavedon@sssup.it>
@@ -22,8 +22,8 @@
22 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 22 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
23 */ 23 */
24 24
25#ifndef _EM2820_H 25#ifndef _EM28XX_H
26#define _EM2820_H 26#define _EM28XX_H
27 27
28#include <linux/videodev.h> 28#include <linux/videodev.h>
29#include <linux/i2c.h> 29#include <linux/i2c.h>
@@ -45,27 +45,27 @@
45#define UNSET -1 45#define UNSET -1
46 46
47/* maximum number of em28xx boards */ 47/* maximum number of em28xx boards */
48#define EM2820_MAXBOARDS 1 /*FIXME: should be bigger */ 48#define EM28XX_MAXBOARDS 1 /*FIXME: should be bigger */
49 49
50/* maximum number of frames that can be queued */ 50/* maximum number of frames that can be queued */
51#define EM2820_NUM_FRAMES 5 51#define EM28XX_NUM_FRAMES 5
52/* number of frames that get used for v4l2_read() */ 52/* number of frames that get used for v4l2_read() */
53#define EM2820_NUM_READ_FRAMES 2 53#define EM28XX_NUM_READ_FRAMES 2
54 54
55/* number of buffers for isoc transfers */ 55/* number of buffers for isoc transfers */
56#define EM2820_NUM_BUFS 5 56#define EM28XX_NUM_BUFS 5
57 57
58/* number of packets for each buffer 58/* number of packets for each buffer
59 windows requests only 40 packets .. so we better do the same 59 windows requests only 40 packets .. so we better do the same
60 this is what I found out for all alternate numbers there! 60 this is what I found out for all alternate numbers there!
61 */ 61 */
62#define EM2820_NUM_PACKETS 40 62#define EM28XX_NUM_PACKETS 40
63 63
64/* default alternate; 0 means choose the best */ 64/* default alternate; 0 means choose the best */
65#define EM2820_PINOUT 0 65#define EM28XX_PINOUT 0
66#define EM2820_MAX_ALT 7 66#define EM28XX_MAX_ALT 7
67 67
68#define EM2820_INTERLACED_DEFAULT 1 68#define EM28XX_INTERLACED_DEFAULT 1
69 69
70/* 70/*
71#define (use usbview if you want to get the other alternate number infos) 71#define (use usbview if you want to get the other alternate number infos)
@@ -89,13 +89,13 @@
89*/ 89*/
90 90
91/* time to wait when stopping the isoc transfer */ 91/* time to wait when stopping the isoc transfer */
92#define EM2820_URB_TIMEOUT msecs_to_jiffies(EM2820_NUM_BUFS * EM2820_NUM_PACKETS) 92#define EM28XX_URB_TIMEOUT msecs_to_jiffies(EM28XX_NUM_BUFS * EM28XX_NUM_PACKETS)
93 93
94/* time in msecs to wait for i2c writes to finish */ 94/* time in msecs to wait for i2c writes to finish */
95#define EM2800_I2C_WRITE_TIMEOUT 20 95#define EM2800_I2C_WRITE_TIMEOUT 20
96 96
97/* the various frame states */ 97/* the various frame states */
98enum em2820_frame_state { 98enum em28xx_frame_state {
99 F_UNUSED = 0, 99 F_UNUSED = 0,
100 F_QUEUED, 100 F_QUEUED,
101 F_GRABBING, 101 F_GRABBING,
@@ -104,17 +104,17 @@ enum em2820_frame_state {
104}; 104};
105 105
106/* stream states */ 106/* stream states */
107enum em2820_stream_state { 107enum em28xx_stream_state {
108 STREAM_OFF, 108 STREAM_OFF,
109 STREAM_INTERRUPT, 109 STREAM_INTERRUPT,
110 STREAM_ON, 110 STREAM_ON,
111}; 111};
112 112
113/* frames */ 113/* frames */
114struct em2820_frame_t { 114struct em28xx_frame_t {
115 void *bufmem; 115 void *bufmem;
116 struct v4l2_buffer buf; 116 struct v4l2_buffer buf;
117 enum em2820_frame_state state; 117 enum em28xx_frame_state state;
118 struct list_head frame; 118 struct list_head frame;
119 unsigned long vma_use_count; 119 unsigned long vma_use_count;
120 int top_field; 120 int top_field;
@@ -122,7 +122,7 @@ struct em2820_frame_t {
122}; 122};
123 123
124/* io methods */ 124/* io methods */
125enum em2820_io_method { 125enum em28xx_io_method {
126 IO_NONE, 126 IO_NONE,
127 IO_READ, 127 IO_READ,
128 IO_MMAP, 128 IO_MMAP,
@@ -130,35 +130,35 @@ enum em2820_io_method {
130 130
131/* inputs */ 131/* inputs */
132 132
133#define MAX_EM2820_INPUT 4 133#define MAX_EM28XX_INPUT 4
134enum enum2820_itype { 134enum enum28xx_itype {
135 EM2820_VMUX_COMPOSITE1 = 1, 135 EM28XX_VMUX_COMPOSITE1 = 1,
136 EM2820_VMUX_COMPOSITE2, 136 EM28XX_VMUX_COMPOSITE2,
137 EM2820_VMUX_COMPOSITE3, 137 EM28XX_VMUX_COMPOSITE3,
138 EM2820_VMUX_COMPOSITE4, 138 EM28XX_VMUX_COMPOSITE4,
139 EM2820_VMUX_SVIDEO, 139 EM28XX_VMUX_SVIDEO,
140 EM2820_VMUX_TELEVISION, 140 EM28XX_VMUX_TELEVISION,
141 EM2820_VMUX_CABLE, 141 EM28XX_VMUX_CABLE,
142 EM2820_VMUX_DVB, 142 EM28XX_VMUX_DVB,
143 EM2820_VMUX_DEBUG, 143 EM28XX_VMUX_DEBUG,
144 EM2820_RADIO, 144 EM28XX_RADIO,
145}; 145};
146 146
147struct em2820_input { 147struct em28xx_input {
148 enum enum2820_itype type; 148 enum enum28xx_itype type;
149 unsigned int vmux; 149 unsigned int vmux;
150 unsigned int amux; 150 unsigned int amux;
151}; 151};
152 152
153#define INPUT(nr) (&em2820_boards[dev->model].input[nr]) 153#define INPUT(nr) (&em28xx_boards[dev->model].input[nr])
154 154
155enum em2820_decoder { 155enum em28xx_decoder {
156 EM2820_TVP5150, 156 EM28XX_TVP5150,
157 EM2820_SAA7113, 157 EM28XX_SAA7113,
158 EM2820_SAA7114 158 EM28XX_SAA7114
159}; 159};
160 160
161struct em2820_board { 161struct em28xx_board {
162 char *name; 162 char *name;
163 int vchannels; 163 int vchannels;
164 int norm; 164 int norm;
@@ -171,12 +171,12 @@ struct em2820_board {
171 unsigned int has_tuner:1; 171 unsigned int has_tuner:1;
172 unsigned int has_msp34xx:1; 172 unsigned int has_msp34xx:1;
173 173
174 enum em2820_decoder decoder; 174 enum em28xx_decoder decoder;
175 175
176 struct em2820_input input[MAX_EM2820_INPUT]; 176 struct em28xx_input input[MAX_EM28XX_INPUT];
177}; 177};
178 178
179struct em2820_eeprom { 179struct em28xx_eeprom {
180 u32 id; /* 0x9567eb1a */ 180 u32 id; /* 0x9567eb1a */
181 u16 vendor_ID; 181 u16 vendor_ID;
182 u16 product_ID; 182 u16 product_ID;
@@ -191,14 +191,14 @@ struct em2820_eeprom {
191}; 191};
192 192
193/* device states */ 193/* device states */
194enum em2820_dev_state { 194enum em28xx_dev_state {
195 DEV_INITIALIZED = 0x01, 195 DEV_INITIALIZED = 0x01,
196 DEV_DISCONNECTED = 0x02, 196 DEV_DISCONNECTED = 0x02,
197 DEV_MISCONFIGURED = 0x04, 197 DEV_MISCONFIGURED = 0x04,
198}; 198};
199 199
200/* tvnorms */ 200/* tvnorms */
201struct em2820_tvnorm { 201struct em28xx_tvnorm {
202 char *name; 202 char *name;
203 v4l2_std_id id; 203 v4l2_std_id id;
204 /* mode for saa7113h */ 204 /* mode for saa7113h */
@@ -206,7 +206,7 @@ struct em2820_tvnorm {
206}; 206};
207 207
208/* main device struct */ 208/* main device struct */
209struct em2820 { 209struct em28xx {
210 /* generic device properties */ 210 /* generic device properties */
211 char name[30]; /* name (including minor) of the device */ 211 char name[30]; /* name (including minor) of the device */
212 int model; /* index in the device_data struct */ 212 int model; /* index in the device_data struct */
@@ -217,7 +217,7 @@ struct em2820 {
217 unsigned int has_msp34xx:1; 217 unsigned int has_msp34xx:1;
218 unsigned int has_tda9887:1; 218 unsigned int has_tda9887:1;
219 219
220 enum em2820_decoder decoder; 220 enum em28xx_decoder decoder;
221 221
222 int tuner_type; /* type of the tuner */ 222 int tuner_type; /* type of the tuner */
223 int tuner_addr; /* tuner address */ 223 int tuner_addr; /* tuner address */
@@ -229,17 +229,17 @@ struct em2820 {
229 int users; /* user count for exclusive use */ 229 int users; /* user count for exclusive use */
230 struct video_device *vdev; /* video for linux device struct */ 230 struct video_device *vdev; /* video for linux device struct */
231 struct video_picture vpic; /* picture settings only used to init saa7113h */ 231 struct video_picture vpic; /* picture settings only used to init saa7113h */
232 struct em2820_tvnorm *tvnorm; /* selected tv norm */ 232 struct em28xx_tvnorm *tvnorm; /* selected tv norm */
233 int ctl_freq; /* selected frequency */ 233 int ctl_freq; /* selected frequency */
234 unsigned int ctl_input; /* selected input */ 234 unsigned int ctl_input; /* selected input */
235 unsigned int ctl_ainput; /* slected audio input */ 235 unsigned int ctl_ainput; /* slected audio input */
236 int mute; 236 int mute;
237 int volume; 237 int volume;
238 /* frame properties */ 238 /* frame properties */
239 struct em2820_frame_t frame[EM2820_NUM_FRAMES]; /* list of frames */ 239 struct em28xx_frame_t frame[EM28XX_NUM_FRAMES]; /* list of frames */
240 int num_frames; /* number of frames currently in use */ 240 int num_frames; /* number of frames currently in use */
241 unsigned int frame_count; /* total number of transfered frames */ 241 unsigned int frame_count; /* total number of transfered frames */
242 struct em2820_frame_t *frame_current; /* the frame that is being filled */ 242 struct em28xx_frame_t *frame_current; /* the frame that is being filled */
243 int width; /* current frame width */ 243 int width; /* current frame width */
244 int height; /* current frame height */ 244 int height; /* current frame height */
245 int frame_size; /* current frame size */ 245 int frame_size; /* current frame size */
@@ -251,9 +251,9 @@ struct em2820 {
251 int type; 251 int type;
252 252
253 /* states */ 253 /* states */
254 enum em2820_dev_state state; 254 enum em28xx_dev_state state;
255 enum em2820_stream_state stream; 255 enum em28xx_stream_state stream;
256 enum em2820_io_method io; 256 enum em28xx_io_method io;
257 /* locks */ 257 /* locks */
258 struct semaphore lock, fileop_lock; 258 struct semaphore lock, fileop_lock;
259 spinlock_t queue_lock; 259 spinlock_t queue_lock;
@@ -267,71 +267,71 @@ struct em2820 {
267 struct usb_device *udev; /* the usb device */ 267 struct usb_device *udev; /* the usb device */
268 int alt; /* alternate */ 268 int alt; /* alternate */
269 int max_pkt_size; /* max packet size of isoc transaction */ 269 int max_pkt_size; /* max packet size of isoc transaction */
270 unsigned int alt_max_pkt_size[EM2820_MAX_ALT + 1]; /* array of wMaxPacketSize */ 270 unsigned int alt_max_pkt_size[EM28XX_MAX_ALT + 1]; /* array of wMaxPacketSize */
271 struct urb *urb[EM2820_NUM_BUFS]; /* urb for isoc transfers */ 271 struct urb *urb[EM28XX_NUM_BUFS]; /* urb for isoc transfers */
272 char *transfer_buffer[EM2820_NUM_BUFS]; /* transfer buffers for isoc transfer */ 272 char *transfer_buffer[EM28XX_NUM_BUFS]; /* transfer buffers for isoc transfer */
273 /* helper funcs that call usb_control_msg */ 273 /* helper funcs that call usb_control_msg */
274 int (*em2820_write_regs) (struct em2820 * dev, u16 reg, char *buf, 274 int (*em28xx_write_regs) (struct em28xx * dev, u16 reg, char *buf,
275 int len); 275 int len);
276 int (*em2820_read_reg) (struct em2820 * dev, u16 reg); 276 int (*em28xx_read_reg) (struct em28xx * dev, u16 reg);
277 int (*em2820_read_reg_req_len) (struct em2820 * dev, u8 req, u16 reg, 277 int (*em28xx_read_reg_req_len) (struct em28xx * dev, u8 req, u16 reg,
278 char *buf, int len); 278 char *buf, int len);
279 int (*em2820_write_regs_req) (struct em2820 * dev, u8 req, u16 reg, 279 int (*em28xx_write_regs_req) (struct em28xx * dev, u8 req, u16 reg,
280 char *buf, int len); 280 char *buf, int len);
281 int (*em2820_read_reg_req) (struct em2820 * dev, u8 req, u16 reg); 281 int (*em28xx_read_reg_req) (struct em28xx * dev, u8 req, u16 reg);
282}; 282};
283 283
284/* Provided by em2820-i2c.c */ 284/* Provided by em28xx-i2c.c */
285 285
286void em2820_i2c_call_clients(struct em2820 *dev, unsigned int cmd, void *arg); 286void em28xx_i2c_call_clients(struct em28xx *dev, unsigned int cmd, void *arg);
287int em2820_i2c_register(struct em2820 *dev); 287int em28xx_i2c_register(struct em28xx *dev);
288int em2820_i2c_unregister(struct em2820 *dev); 288int em28xx_i2c_unregister(struct em28xx *dev);
289 289
290/* Provided by em2820-input.c */ 290/* Provided by em28xx-input.c */
291 291
292void em2820_set_ir(struct em2820 * dev,struct IR_i2c *ir); 292void em28xx_set_ir(struct em28xx * dev,struct IR_i2c *ir);
293 293
294/* Provided by em2820-core.c */ 294/* Provided by em28xx-core.c */
295 295
296void em2820_print_ioctl(char *name, unsigned int cmd); 296void em28xx_print_ioctl(char *name, unsigned int cmd);
297 297
298u32 em2820_request_buffers(struct em2820 *dev, u32 count); 298u32 em28xx_request_buffers(struct em28xx *dev, u32 count);
299void em2820_queue_unusedframes(struct em2820 *dev); 299void em28xx_queue_unusedframes(struct em28xx *dev);
300void em2820_release_buffers(struct em2820 *dev); 300void em28xx_release_buffers(struct em28xx *dev);
301 301
302int em2820_read_reg_req_len(struct em2820 *dev, u8 req, u16 reg, 302int em28xx_read_reg_req_len(struct em28xx *dev, u8 req, u16 reg,
303 char *buf, int len); 303 char *buf, int len);
304int em2820_read_reg_req(struct em2820 *dev, u8 req, u16 reg); 304int em28xx_read_reg_req(struct em28xx *dev, u8 req, u16 reg);
305int em2820_read_reg(struct em2820 *dev, u16 reg); 305int em28xx_read_reg(struct em28xx *dev, u16 reg);
306int em2820_write_regs_req(struct em2820 *dev, u8 req, u16 reg, char *buf, 306int em28xx_write_regs_req(struct em28xx *dev, u8 req, u16 reg, char *buf,
307 int len); 307 int len);
308int em2820_write_regs(struct em2820 *dev, u16 reg, char *buf, int len); 308int em28xx_write_regs(struct em28xx *dev, u16 reg, char *buf, int len);
309int em2820_write_reg_bits(struct em2820 *dev, u16 reg, u8 val, 309int em28xx_write_reg_bits(struct em28xx *dev, u16 reg, u8 val,
310 u8 bitmask); 310 u8 bitmask);
311int em2820_write_ac97(struct em2820 *dev, u8 reg, u8 * val); 311int em28xx_write_ac97(struct em28xx *dev, u8 reg, u8 * val);
312int em2820_audio_analog_set(struct em2820 *dev); 312int em28xx_audio_analog_set(struct em28xx *dev);
313int em2820_colorlevels_set_default(struct em2820 *dev); 313int em28xx_colorlevels_set_default(struct em28xx *dev);
314int em2820_capture_start(struct em2820 *dev, int start); 314int em28xx_capture_start(struct em28xx *dev, int start);
315int em2820_outfmt_set_yuv422(struct em2820 *dev); 315int em28xx_outfmt_set_yuv422(struct em28xx *dev);
316int em2820_accumulator_set(struct em2820 *dev, u8 xmin, u8 xmax, u8 ymin, 316int em28xx_accumulator_set(struct em28xx *dev, u8 xmin, u8 xmax, u8 ymin,
317 u8 ymax); 317 u8 ymax);
318int em2820_capture_area_set(struct em2820 *dev, u8 hstart, u8 vstart, 318int em28xx_capture_area_set(struct em28xx *dev, u8 hstart, u8 vstart,
319 u16 width, u16 height); 319 u16 width, u16 height);
320int em2820_scaler_set(struct em2820 *dev, u16 h, u16 v); 320int em28xx_scaler_set(struct em28xx *dev, u16 h, u16 v);
321int em2820_resolution_set(struct em2820 *dev); 321int em28xx_resolution_set(struct em28xx *dev);
322void em2820_isocIrq(struct urb *urb, struct pt_regs *regs); 322void em28xx_isocIrq(struct urb *urb, struct pt_regs *regs);
323int em2820_init_isoc(struct em2820 *dev); 323int em28xx_init_isoc(struct em28xx *dev);
324void em2820_uninit_isoc(struct em2820 *dev); 324void em28xx_uninit_isoc(struct em28xx *dev);
325int em2820_set_alternate(struct em2820 *dev); 325int em28xx_set_alternate(struct em28xx *dev);
326 326
327/* Provided by em2820-cards.c */ 327/* Provided by em28xx-cards.c */
328extern int em2800_variant_detect(struct usb_device* udev,int model); 328extern int em2800_variant_detect(struct usb_device* udev,int model);
329extern void em2820_card_setup(struct em2820 *dev); 329extern void em28xx_card_setup(struct em28xx *dev);
330extern struct em2820_board em2820_boards[]; 330extern struct em28xx_board em28xx_boards[];
331extern struct usb_device_id em2820_id_table[]; 331extern struct usb_device_id em28xx_id_table[];
332extern const unsigned int em2820_bcount; 332extern const unsigned int em28xx_bcount;
333 333
334/* em2820 registers */ 334/* em28xx registers */
335#define CHIPID_REG 0x0a 335#define CHIPID_REG 0x0a
336#define USBSUSP_REG 0x0c /* */ 336#define USBSUSP_REG 0x0c /* */
337 337
@@ -386,115 +386,115 @@ extern const unsigned int em2820_bcount;
386#define VIDEO_AC97 0x14 386#define VIDEO_AC97 0x14
387 387
388/* register settings */ 388/* register settings */
389#define EM2820_AUDIO_SRC_TUNER 0xc0 389#define EM28XX_AUDIO_SRC_TUNER 0xc0
390#define EM2820_AUDIO_SRC_LINE 0x80 390#define EM28XX_AUDIO_SRC_LINE 0x80
391 391
392/* printk macros */ 392/* printk macros */
393 393
394#define em2820_err(fmt, arg...) do {\ 394#define em28xx_err(fmt, arg...) do {\
395 printk(KERN_ERR fmt , ##arg); } while (0) 395 printk(KERN_ERR fmt , ##arg); } while (0)
396 396
397#define em2820_errdev(fmt, arg...) do {\ 397#define em28xx_errdev(fmt, arg...) do {\
398 printk(KERN_ERR "%s: "fmt,\ 398 printk(KERN_ERR "%s: "fmt,\
399 dev->name , ##arg); } while (0) 399 dev->name , ##arg); } while (0)
400 400
401#define em2820_info(fmt, arg...) do {\ 401#define em28xx_info(fmt, arg...) do {\
402 printk(KERN_INFO "%s: "fmt,\ 402 printk(KERN_INFO "%s: "fmt,\
403 dev->name , ##arg); } while (0) 403 dev->name , ##arg); } while (0)
404#define em2820_warn(fmt, arg...) do {\ 404#define em28xx_warn(fmt, arg...) do {\
405 printk(KERN_WARNING "%s: "fmt,\ 405 printk(KERN_WARNING "%s: "fmt,\
406 dev->name , ##arg); } while (0) 406 dev->name , ##arg); } while (0)
407 407
408inline static int em2820_audio_source(struct em2820 *dev, int input) 408inline static int em28xx_audio_source(struct em28xx *dev, int input)
409{ 409{
410 return em2820_write_reg_bits(dev, AUDIOSRC_REG, input, 0xc0); 410 return em28xx_write_reg_bits(dev, AUDIOSRC_REG, input, 0xc0);
411} 411}
412 412
413inline static int em2820_audio_usb_mute(struct em2820 *dev, int mute) 413inline static int em28xx_audio_usb_mute(struct em28xx *dev, int mute)
414{ 414{
415 return em2820_write_reg_bits(dev, XCLK_REG, mute ? 0x00 : 0x80, 0x80); 415 return em28xx_write_reg_bits(dev, XCLK_REG, mute ? 0x00 : 0x80, 0x80);
416} 416}
417 417
418inline static int em2820_audio_analog_setup(struct em2820 *dev) 418inline static int em28xx_audio_analog_setup(struct em28xx *dev)
419{ 419{
420 /* unmute video mixer with default volume level */ 420 /* unmute video mixer with default volume level */
421 return em2820_write_ac97(dev, VIDEO_AC97, "\x08\x08"); 421 return em28xx_write_ac97(dev, VIDEO_AC97, "\x08\x08");
422} 422}
423 423
424inline static int em2820_compression_disable(struct em2820 *dev) 424inline static int em28xx_compression_disable(struct em28xx *dev)
425{ 425{
426 /* side effect of disabling scaler and mixer */ 426 /* side effect of disabling scaler and mixer */
427 return em2820_write_regs(dev, COMPR_REG, "\x00", 1); 427 return em28xx_write_regs(dev, COMPR_REG, "\x00", 1);
428} 428}
429 429
430inline static int em2820_contrast_get(struct em2820 *dev) 430inline static int em28xx_contrast_get(struct em28xx *dev)
431{ 431{
432 return em2820_read_reg(dev, YGAIN_REG) & 0x1f; 432 return em28xx_read_reg(dev, YGAIN_REG) & 0x1f;
433} 433}
434 434
435inline static int em2820_brightness_get(struct em2820 *dev) 435inline static int em28xx_brightness_get(struct em28xx *dev)
436{ 436{
437 return em2820_read_reg(dev, YOFFSET_REG); 437 return em28xx_read_reg(dev, YOFFSET_REG);
438} 438}
439 439
440inline static int em2820_saturation_get(struct em2820 *dev) 440inline static int em28xx_saturation_get(struct em28xx *dev)
441{ 441{
442 return em2820_read_reg(dev, UVGAIN_REG) & 0x1f; 442 return em28xx_read_reg(dev, UVGAIN_REG) & 0x1f;
443} 443}
444 444
445inline static int em2820_u_balance_get(struct em2820 *dev) 445inline static int em28xx_u_balance_get(struct em28xx *dev)
446{ 446{
447 return em2820_read_reg(dev, UOFFSET_REG); 447 return em28xx_read_reg(dev, UOFFSET_REG);
448} 448}
449 449
450inline static int em2820_v_balance_get(struct em2820 *dev) 450inline static int em28xx_v_balance_get(struct em28xx *dev)
451{ 451{
452 return em2820_read_reg(dev, VOFFSET_REG); 452 return em28xx_read_reg(dev, VOFFSET_REG);
453} 453}
454 454
455inline static int em2820_gamma_get(struct em2820 *dev) 455inline static int em28xx_gamma_get(struct em28xx *dev)
456{ 456{
457 return em2820_read_reg(dev, GAMMA_REG) & 0x3f; 457 return em28xx_read_reg(dev, GAMMA_REG) & 0x3f;
458} 458}
459 459
460inline static int em2820_contrast_set(struct em2820 *dev, s32 val) 460inline static int em28xx_contrast_set(struct em28xx *dev, s32 val)
461{ 461{
462 u8 tmp = (u8) val; 462 u8 tmp = (u8) val;
463 return em2820_write_regs(dev, YGAIN_REG, &tmp, 1); 463 return em28xx_write_regs(dev, YGAIN_REG, &tmp, 1);
464} 464}
465 465
466inline static int em2820_brightness_set(struct em2820 *dev, s32 val) 466inline static int em28xx_brightness_set(struct em28xx *dev, s32 val)
467{ 467{
468 u8 tmp = (u8) val; 468 u8 tmp = (u8) val;
469 return em2820_write_regs(dev, YOFFSET_REG, &tmp, 1); 469 return em28xx_write_regs(dev, YOFFSET_REG, &tmp, 1);
470} 470}
471 471
472inline static int em2820_saturation_set(struct em2820 *dev, s32 val) 472inline static int em28xx_saturation_set(struct em28xx *dev, s32 val)
473{ 473{
474 u8 tmp = (u8) val; 474 u8 tmp = (u8) val;
475 return em2820_write_regs(dev, UVGAIN_REG, &tmp, 1); 475 return em28xx_write_regs(dev, UVGAIN_REG, &tmp, 1);
476} 476}
477 477
478inline static int em2820_u_balance_set(struct em2820 *dev, s32 val) 478inline static int em28xx_u_balance_set(struct em28xx *dev, s32 val)
479{ 479{
480 u8 tmp = (u8) val; 480 u8 tmp = (u8) val;
481 return em2820_write_regs(dev, UOFFSET_REG, &tmp, 1); 481 return em28xx_write_regs(dev, UOFFSET_REG, &tmp, 1);
482} 482}
483 483
484inline static int em2820_v_balance_set(struct em2820 *dev, s32 val) 484inline static int em28xx_v_balance_set(struct em28xx *dev, s32 val)
485{ 485{
486 u8 tmp = (u8) val; 486 u8 tmp = (u8) val;
487 return em2820_write_regs(dev, VOFFSET_REG, &tmp, 1); 487 return em28xx_write_regs(dev, VOFFSET_REG, &tmp, 1);
488} 488}
489 489
490inline static int em2820_gamma_set(struct em2820 *dev, s32 val) 490inline static int em28xx_gamma_set(struct em28xx *dev, s32 val)
491{ 491{
492 u8 tmp = (u8) val; 492 u8 tmp = (u8) val;
493 return em2820_write_regs(dev, GAMMA_REG, &tmp, 1); 493 return em28xx_write_regs(dev, GAMMA_REG, &tmp, 1);
494} 494}
495 495
496/*FIXME: maxw should be dependent of alt mode */ 496/*FIXME: maxw should be dependent of alt mode */
497inline static unsigned int norm_maxw(struct em2820 *dev) 497inline static unsigned int norm_maxw(struct em28xx *dev)
498{ 498{
499 switch(dev->model){ 499 switch(dev->model){
500 case (EM2820_BOARD_MSI_VOX_USB_2): return(640); 500 case (EM2820_BOARD_MSI_VOX_USB_2): return(640);
@@ -502,7 +502,7 @@ inline static unsigned int norm_maxw(struct em2820 *dev)
502 } 502 }
503} 503}
504 504
505inline static unsigned int norm_maxh(struct em2820 *dev) 505inline static unsigned int norm_maxh(struct em28xx *dev)
506{ 506{
507 switch(dev->model){ 507 switch(dev->model){
508 case (EM2820_BOARD_MSI_VOX_USB_2): return(480); 508 case (EM2820_BOARD_MSI_VOX_USB_2): return(480);