diff options
author | Mauro Carvalho Chehab <mchehab@redhat.com> | 2009-08-11 13:58:54 -0300 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2009-08-11 13:58:54 -0300 |
commit | ce486a4e35fc5f89c56f1bc8db8ad09cb9e3a98e (patch) | |
tree | bf90690073c0667a01166bbefd5dc1ae0398fe44 /linux/drivers/media/video/em28xx/em28xx.h | |
parent | db44a7d2b169cceeafa7a8b5fc5b8fe921d4088d (diff) | |
parent | 6971a9d650f6ab06dfedc4464665366c87da4bbc (diff) | |
download | mediapointer-dvb-s2-ce486a4e35fc5f89c56f1bc8db8ad09cb9e3a98e.tar.gz mediapointer-dvb-s2-ce486a4e35fc5f89c56f1bc8db8ad09cb9e3a98e.tar.bz2 |
merge: http://kernellabs.com/hg/~mkrufky/sms1xxx
From: Mauro Carvalho Chehab <mchehab@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'linux/drivers/media/video/em28xx/em28xx.h')
-rw-r--r-- | linux/drivers/media/video/em28xx/em28xx.h | 25 |
1 files changed, 21 insertions, 4 deletions
diff --git a/linux/drivers/media/video/em28xx/em28xx.h b/linux/drivers/media/video/em28xx/em28xx.h index 559903b2a..c76da6985 100644 --- a/linux/drivers/media/video/em28xx/em28xx.h +++ b/linux/drivers/media/video/em28xx/em28xx.h @@ -367,6 +367,7 @@ enum em28xx_decoder { enum em28xx_sensor { EM28XX_NOSENSOR = 0, EM28XX_MT9V011, + EM28XX_MT9M001, }; enum em28xx_adecoder { @@ -396,6 +397,7 @@ struct em28xx_board { unsigned int has_dvb:1; unsigned int has_snapshot_button:1; unsigned int is_webcam:1; + unsigned int no_audio:1; unsigned int valid:1; unsigned char xclk, i2c_speed; @@ -487,7 +489,16 @@ struct em28xx { struct v4l2_device v4l2_dev; struct em28xx_board board; + /* Webcam specific fields */ enum em28xx_sensor em28xx_sensor; + int sensor_xres, sensor_yres; + int sensor_xtal; + + /* Allows progressive (e. g. non-interlaced) mode */ + int progressive; + + /* Vinmode/Vinctl used at the driver */ + int vinmode, vinctl; unsigned int stream_on:1; /* Locks streams */ unsigned int has_audio_class:1; @@ -769,17 +780,23 @@ static inline int em28xx_gamma_set(struct em28xx *dev, s32 val) /*FIXME: maxw should be dependent of alt mode */ static inline unsigned int norm_maxw(struct em28xx *dev) { + if (dev->board.is_webcam) + return dev->sensor_xres; + if (dev->board.max_range_640_480) return 640; - else - return 720; + + return 720; } static inline unsigned int norm_maxh(struct em28xx *dev) { + if (dev->board.is_webcam) + return dev->sensor_yres; + if (dev->board.max_range_640_480) return 480; - else - return (dev->norm & V4L2_STD_625_50) ? 576 : 480; + + return (dev->norm & V4L2_STD_625_50) ? 576 : 480; } #endif |