aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/media/video/em28xx/em28xx-cards.c11
-rw-r--r--drivers/media/video/em28xx/em28xx.h2
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 d4a7e6075cc..82536dd6b0f 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 71444ddbe40..ce76633786c 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;