diff options
Diffstat (limited to 'drivers/media/video/em28xx/em28xx-cards.c')
| -rw-r--r-- | drivers/media/video/em28xx/em28xx-cards.c | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/drivers/media/video/em28xx/em28xx-cards.c b/drivers/media/video/em28xx/em28xx-cards.c index 099d5df8c572..87f77a34eeab 100644 --- a/drivers/media/video/em28xx/em28xx-cards.c +++ b/drivers/media/video/em28xx/em28xx-cards.c | |||
| @@ -33,6 +33,7 @@ | |||
| 33 | #include <media/saa7115.h> | 33 | #include <media/saa7115.h> |
| 34 | #include <media/tvp5150.h> | 34 | #include <media/tvp5150.h> |
| 35 | #include <media/tvaudio.h> | 35 | #include <media/tvaudio.h> |
| 36 | #include <media/mt9v011.h> | ||
| 36 | #include <media/i2c-addr.h> | 37 | #include <media/i2c-addr.h> |
| 37 | #include <media/tveeprom.h> | 38 | #include <media/tveeprom.h> |
| 38 | #include <media/v4l2-common.h> | 39 | #include <media/v4l2-common.h> |
| @@ -1917,11 +1918,6 @@ static unsigned short tvp5150_addrs[] = { | |||
| 1917 | I2C_CLIENT_END | 1918 | I2C_CLIENT_END |
| 1918 | }; | 1919 | }; |
| 1919 | 1920 | ||
| 1920 | static unsigned short mt9v011_addrs[] = { | ||
| 1921 | 0xba >> 1, | ||
| 1922 | I2C_CLIENT_END | ||
| 1923 | }; | ||
| 1924 | |||
| 1925 | static unsigned short msp3400_addrs[] = { | 1921 | static unsigned short msp3400_addrs[] = { |
| 1926 | 0x80 >> 1, | 1922 | 0x80 >> 1, |
| 1927 | 0x88 >> 1, | 1923 | 0x88 >> 1, |
| @@ -2437,6 +2433,7 @@ void em28xx_register_i2c_ir(struct em28xx *dev) | |||
| 2437 | dev->init_data.ir_codes = RC_MAP_RC5_HAUPPAUGE_NEW; | 2433 | dev->init_data.ir_codes = RC_MAP_RC5_HAUPPAUGE_NEW; |
| 2438 | dev->init_data.get_key = em28xx_get_key_em_haup; | 2434 | dev->init_data.get_key = em28xx_get_key_em_haup; |
| 2439 | dev->init_data.name = "i2c IR (EM2840 Hauppauge)"; | 2435 | dev->init_data.name = "i2c IR (EM2840 Hauppauge)"; |
| 2436 | break; | ||
| 2440 | case EM2820_BOARD_LEADTEK_WINFAST_USBII_DELUXE: | 2437 | case EM2820_BOARD_LEADTEK_WINFAST_USBII_DELUXE: |
| 2441 | dev->init_data.ir_codes = RC_MAP_WINFAST_USBII_DELUXE; | 2438 | dev->init_data.ir_codes = RC_MAP_WINFAST_USBII_DELUXE; |
| 2442 | dev->init_data.get_key = em28xx_get_key_winfast_usbii_deluxe; | 2439 | dev->init_data.get_key = em28xx_get_key_winfast_usbii_deluxe; |
| @@ -2623,11 +2620,17 @@ void em28xx_card_setup(struct em28xx *dev) | |||
| 2623 | "tvp5150", 0, tvp5150_addrs); | 2620 | "tvp5150", 0, tvp5150_addrs); |
| 2624 | 2621 | ||
| 2625 | if (dev->em28xx_sensor == EM28XX_MT9V011) { | 2622 | if (dev->em28xx_sensor == EM28XX_MT9V011) { |
| 2623 | struct mt9v011_platform_data pdata; | ||
| 2624 | struct i2c_board_info mt9v011_info = { | ||
| 2625 | .type = "mt9v011", | ||
| 2626 | .addr = 0xba >> 1, | ||
| 2627 | .platform_data = &pdata, | ||
| 2628 | }; | ||
| 2626 | struct v4l2_subdev *sd; | 2629 | struct v4l2_subdev *sd; |
| 2627 | 2630 | ||
| 2628 | sd = v4l2_i2c_new_subdev(&dev->v4l2_dev, | 2631 | pdata.xtal = dev->sensor_xtal; |
| 2629 | &dev->i2c_adap, "mt9v011", 0, mt9v011_addrs); | 2632 | sd = v4l2_i2c_new_subdev_board(&dev->v4l2_dev, &dev->i2c_adap, |
| 2630 | v4l2_subdev_call(sd, core, s_config, 0, &dev->sensor_xtal); | 2633 | &mt9v011_info, NULL); |
| 2631 | } | 2634 | } |
| 2632 | 2635 | ||
| 2633 | 2636 | ||
