diff options
author | Sascha Sommer <saschasommer@freenet.de> | 2005-11-09 00:37:33 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-11-09 10:56:18 -0500 |
commit | 74458e6c1aea9e422e46030e7bc61e9b0984be5b (patch) | |
tree | a3eb63aee04b2ac457ed44e888a15762c2cc3e13 | |
parent | d5e5265315770bda46c50ecaa64e2b9790f2064c (diff) |
[PATCH] v4l: 786: chip id removed since it isn t required anymore
- Chip_id removed since it isn't required anymore.
Signed-off-by: Sascha Sommer <saschasommer@freenet.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r-- | drivers/media/video/em28xx/em28xx-cards.c | 3 | ||||
-rw-r--r-- | drivers/media/video/em28xx/em28xx-core.c | 12 | ||||
-rw-r--r-- | drivers/media/video/em28xx/em28xx-video.c | 12 | ||||
-rw-r--r-- | drivers/media/video/em28xx/em28xx.h | 1 |
4 files changed, 24 insertions, 4 deletions
diff --git a/drivers/media/video/em28xx/em28xx-cards.c b/drivers/media/video/em28xx/em28xx-cards.c index 919520f89975..59f8fa0bea60 100644 --- a/drivers/media/video/em28xx/em28xx-cards.c +++ b/drivers/media/video/em28xx/em28xx-cards.c | |||
@@ -160,7 +160,6 @@ struct em2820_board em2820_boards[] = { | |||
160 | }, | 160 | }, |
161 | [EM2800_BOARD_TERRATEC_CINERGY_200] = { | 161 | [EM2800_BOARD_TERRATEC_CINERGY_200] = { |
162 | .name = "Terratec Cinergy 200 USB", | 162 | .name = "Terratec Cinergy 200 USB", |
163 | .chip_id = 0x4, | ||
164 | .is_em2800 = 1, | 163 | .is_em2800 = 1, |
165 | .vchannels = 3, | 164 | .vchannels = 3, |
166 | .norm = VIDEO_MODE_PAL, | 165 | .norm = VIDEO_MODE_PAL, |
@@ -184,7 +183,6 @@ struct em2820_board em2820_boards[] = { | |||
184 | }, | 183 | }, |
185 | [EM2800_BOARD_LEADTEK_WINFAST_USBII] = { | 184 | [EM2800_BOARD_LEADTEK_WINFAST_USBII] = { |
186 | .name = "Leadtek Winfast USB II", | 185 | .name = "Leadtek Winfast USB II", |
187 | .chip_id = 0x2, | ||
188 | .is_em2800 = 1, | 186 | .is_em2800 = 1, |
189 | .vchannels = 3, | 187 | .vchannels = 3, |
190 | .norm = VIDEO_MODE_PAL, | 188 | .norm = VIDEO_MODE_PAL, |
@@ -208,7 +206,6 @@ struct em2820_board em2820_boards[] = { | |||
208 | }, | 206 | }, |
209 | [EM2800_BOARD_KWORLD_USB2800] = { | 207 | [EM2800_BOARD_KWORLD_USB2800] = { |
210 | .name = "Kworld USB2800", | 208 | .name = "Kworld USB2800", |
211 | .chip_id = 0x7, | ||
212 | .is_em2800 = 1, | 209 | .is_em2800 = 1, |
213 | .vchannels = 3, | 210 | .vchannels = 3, |
214 | .norm = VIDEO_MODE_PAL, | 211 | .norm = VIDEO_MODE_PAL, |
diff --git a/drivers/media/video/em28xx/em28xx-core.c b/drivers/media/video/em28xx/em28xx-core.c index f5e22154a97f..f7b8fb035c9e 100644 --- a/drivers/media/video/em28xx/em28xx-core.c +++ b/drivers/media/video/em28xx/em28xx-core.c | |||
@@ -437,6 +437,18 @@ int em2820_scaler_set(struct em2820 *dev, u16 h, u16 v) | |||
437 | buf[0] = v; | 437 | buf[0] = v; |
438 | buf[1] = v >> 8; | 438 | buf[1] = v >> 8; |
439 | em2820_write_regs(dev, VSCALELOW_REG, (char *)buf, 2); | 439 | em2820_write_regs(dev, VSCALELOW_REG, (char *)buf, 2); |
440 | if(dev->is_em2800){ | ||
441 | /* FIXME */ | ||
442 | /* random ratio scaling and 720x567 doesn't seem to work */ | ||
443 | /* the maximum we can get is 640x480 with disabled scaler */ | ||
444 | /* and norm_maxw set to 640 */ | ||
445 | if(dev->width == 640 && dev->height == 480) | ||
446 | return em2820_write_regs(dev, COMPR_REG,"\x00",1); | ||
447 | if(dev->height > 288) | ||
448 | return em2820_write_regs(dev, COMPR_REG,"\x10",1); | ||
449 | if(dev->width > 360) | ||
450 | return em2820_write_regs(dev, COMPR_REG,"\x20",1); | ||
451 | } | ||
440 | /* when H and V mixershould be used? */ | 452 | /* when H and V mixershould be used? */ |
441 | /* return em2820_write_reg_bits(dev, COMPR_REG, (h ? 0x20 : 0x00) | (v ? 0x10 : 0x00), 0x30); */ | 453 | /* return em2820_write_reg_bits(dev, COMPR_REG, (h ? 0x20 : 0x00) | (v ? 0x10 : 0x00), 0x30); */ |
442 | /* it seems that both H and V scalers must be active to work correctly */ | 454 | /* it seems that both H and V scalers must be active to work correctly */ |
diff --git a/drivers/media/video/em28xx/em28xx-video.c b/drivers/media/video/em28xx/em28xx-video.c index f3fc44b352b4..048ad1d77bab 100644 --- a/drivers/media/video/em28xx/em28xx-video.c +++ b/drivers/media/video/em28xx/em28xx-video.c | |||
@@ -1272,6 +1272,18 @@ static int em2820_video_do_ioctl(struct inode *inode, struct file *filp, | |||
1272 | if (width > maxw) | 1272 | if (width > maxw) |
1273 | width = maxw; | 1273 | width = maxw; |
1274 | 1274 | ||
1275 | /* FIXME*/ | ||
1276 | if(dev->is_em2800){ | ||
1277 | /* we only know how to scale to 50% */ | ||
1278 | if(height % (maxh / 2)) | ||
1279 | height=maxh; | ||
1280 | if(width % (maxw / 2)) | ||
1281 | width=maxw; | ||
1282 | /* larger resoltion don't seem to work either */ | ||
1283 | if(width == maxw && height == maxh) | ||
1284 | width /= 2; | ||
1285 | } | ||
1286 | |||
1275 | if ((hscale = | 1287 | if ((hscale = |
1276 | (((unsigned long)maxw) << 12) / width - 4096L) >= | 1288 | (((unsigned long)maxw) << 12) / width - 4096L) >= |
1277 | 0x4000) | 1289 | 0x4000) |
diff --git a/drivers/media/video/em28xx/em28xx.h b/drivers/media/video/em28xx/em28xx.h index 31b23f0db051..a11df04a8c3d 100644 --- a/drivers/media/video/em28xx/em28xx.h +++ b/drivers/media/video/em28xx/em28xx.h | |||
@@ -159,7 +159,6 @@ enum em2820_decoder { | |||
159 | 159 | ||
160 | struct em2820_board { | 160 | struct em2820_board { |
161 | char *name; | 161 | char *name; |
162 | unsigned char chip_id; | ||
163 | int vchannels; | 162 | int vchannels; |
164 | int norm; | 163 | int norm; |
165 | int tuner_type; | 164 | int tuner_type; |