diff options
-rw-r--r-- | drivers/media/video/em28xx/em28xx-cards.c | 11 | ||||
-rw-r--r-- | drivers/media/video/em28xx/em28xx.h | 2 |
2 files changed, 10 insertions, 3 deletions
diff --git a/drivers/media/video/em28xx/em28xx-cards.c b/drivers/media/video/em28xx/em28xx-cards.c index d4a7e6075cc9..82536dd6b0fd 100644 --- a/drivers/media/video/em28xx/em28xx-cards.c +++ b/drivers/media/video/em28xx/em28xx-cards.c | |||
@@ -1734,6 +1734,7 @@ static int em28xx_hint_sensor(struct em28xx *dev) | |||
1734 | dev->em28xx_sensor = EM28XX_MT9V011; | 1734 | dev->em28xx_sensor = EM28XX_MT9V011; |
1735 | dev->sensor_xres = 640; | 1735 | dev->sensor_xres = 640; |
1736 | dev->sensor_yres = 480; | 1736 | dev->sensor_yres = 480; |
1737 | dev->sensor_xtal = 6300000; | ||
1737 | break; | 1738 | break; |
1738 | default: | 1739 | default: |
1739 | printk("Unknown Micron Sensor 0x%04x\n", be16_to_cpu(version)); | 1740 | printk("Unknown Micron Sensor 0x%04x\n", be16_to_cpu(version)); |
@@ -2261,9 +2262,13 @@ void em28xx_card_setup(struct em28xx *dev) | |||
2261 | v4l2_i2c_new_probed_subdev(&dev->v4l2_dev, &dev->i2c_adap, | 2262 | v4l2_i2c_new_probed_subdev(&dev->v4l2_dev, &dev->i2c_adap, |
2262 | "tvp5150", "tvp5150", tvp5150_addrs); | 2263 | "tvp5150", "tvp5150", tvp5150_addrs); |
2263 | 2264 | ||
2264 | if (dev->em28xx_sensor == EM28XX_MT9V011) | 2265 | if (dev->em28xx_sensor == EM28XX_MT9V011) { |
2265 | v4l2_i2c_new_probed_subdev(&dev->v4l2_dev, &dev->i2c_adap, | 2266 | struct v4l2_subdev *sd; |
2266 | "mt9v011", "mt9v011", mt9v011_addrs); | 2267 | |
2268 | sd = v4l2_i2c_new_probed_subdev(&dev->v4l2_dev, | ||
2269 | &dev->i2c_adap, "mt9v011", "mt9v011", mt9v011_addrs); | ||
2270 | v4l2_subdev_call(sd, core, s_config, 0, &dev->sensor_xtal); | ||
2271 | } | ||
2267 | 2272 | ||
2268 | if (dev->board.adecoder == EM28XX_TVAUDIO) | 2273 | if (dev->board.adecoder == EM28XX_TVAUDIO) |
2269 | v4l2_i2c_new_subdev(&dev->v4l2_dev, &dev->i2c_adap, | 2274 | v4l2_i2c_new_subdev(&dev->v4l2_dev, &dev->i2c_adap, |
diff --git a/drivers/media/video/em28xx/em28xx.h b/drivers/media/video/em28xx/em28xx.h index 71444ddbe40c..ce76633786c8 100644 --- a/drivers/media/video/em28xx/em28xx.h +++ b/drivers/media/video/em28xx/em28xx.h | |||
@@ -478,8 +478,10 @@ struct em28xx { | |||
478 | struct v4l2_device v4l2_dev; | 478 | struct v4l2_device v4l2_dev; |
479 | struct em28xx_board board; | 479 | struct em28xx_board board; |
480 | 480 | ||
481 | /* Webcam specific fields */ | ||
481 | enum em28xx_sensor em28xx_sensor; | 482 | enum em28xx_sensor em28xx_sensor; |
482 | int sensor_xres, sensor_yres; | 483 | int sensor_xres, sensor_yres; |
484 | int sensor_xtal; | ||
483 | 485 | ||
484 | unsigned int stream_on:1; /* Locks streams */ | 486 | unsigned int stream_on:1; /* Locks streams */ |
485 | unsigned int has_audio_class:1; | 487 | unsigned int has_audio_class:1; |