summaryrefslogtreecommitdiff
path: root/linux/drivers/media/video/em28xx/em28xx-core.c
diff options
context:
space:
mode:
authorPatrick Boettcher <pboettcher@kernellabs.com>2009-08-17 09:34:41 +0200
committerPatrick Boettcher <pboettcher@kernellabs.com>2009-08-17 09:34:41 +0200
commit0dc1c1447192743fcb90d7e51d3e5fab897b5388 (patch)
treee2855561db510382fb736bdc8ebe5f15af4e816b /linux/drivers/media/video/em28xx/em28xx-core.c
parentbeae3fdb4940243ca65c75fea541535237e8e280 (diff)
parentd0e71c5a86eeb98ca96d280c22b030e9877c3520 (diff)
downloadmediapointer-dvb-s2-0dc1c1447192743fcb90d7e51d3e5fab897b5388.tar.gz
mediapointer-dvb-s2-0dc1c1447192743fcb90d7e51d3e5fab897b5388.tar.bz2
merge: from main
From: Patrick Boettcher <pboettcher@kernellabs.com> merge: from main Priority: normal Signed-off-by: Patrick Boettcher <pboettcher@kernellabs.com>
Diffstat (limited to 'linux/drivers/media/video/em28xx/em28xx-core.c')
-rw-r--r--linux/drivers/media/video/em28xx/em28xx-core.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/linux/drivers/media/video/em28xx/em28xx-core.c b/linux/drivers/media/video/em28xx/em28xx-core.c
index f24af40df..46cb13182 100644
--- a/linux/drivers/media/video/em28xx/em28xx-core.c
+++ b/linux/drivers/media/video/em28xx/em28xx-core.c
@@ -494,7 +494,7 @@ int em28xx_audio_setup(struct em28xx *dev)
/* If device doesn't support Usb Audio Class, use vendor class */
if (!dev->has_audio_class)
- dev->has_alsa_audio = 1;
+ dev->has_alsa_audio = ~dev->board.no_audio;
dev->audio_mode.has_audio = 1;
@@ -632,6 +632,9 @@ int em28xx_capture_start(struct em28xx *dev, int start)
return rc;
}
+ if (dev->board.is_webcam)
+ rc = em28xx_write_reg(dev, 0x13, 0x0c);
+
/* enable video capture */
rc = em28xx_write_reg(dev, 0x48, 0x00);
@@ -720,7 +723,10 @@ int em28xx_resolution_set(struct em28xx *dev)
{
int width, height;
width = norm_maxw(dev);
- height = norm_maxh(dev) >> 1;
+ height = norm_maxh(dev);
+
+ if (!dev->progressive)
+ height >>= norm_maxh(dev);
em28xx_set_outfmt(dev);