aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/em28xx/em28xx-cards.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/media/video/em28xx/em28xx-cards.c')
-rw-r--r--drivers/media/video/em28xx/em28xx-cards.c18
1 files changed, 9 insertions, 9 deletions
diff --git a/drivers/media/video/em28xx/em28xx-cards.c b/drivers/media/video/em28xx/em28xx-cards.c
index 530170ae0167..1318766b35bb 100644
--- a/drivers/media/video/em28xx/em28xx-cards.c
+++ b/drivers/media/video/em28xx/em28xx-cards.c
@@ -234,6 +234,7 @@ struct em28xx_board em28xx_boards[] = {
234 [EM2820_BOARD_UNKNOWN] = { 234 [EM2820_BOARD_UNKNOWN] = {
235 .name = "Unknown EM2750/28xx video grabber", 235 .name = "Unknown EM2750/28xx video grabber",
236 .tuner_type = TUNER_ABSENT, 236 .tuner_type = TUNER_ABSENT,
237 .is_webcam = 1, /* To enable sensor probe */
237 }, 238 },
238 [EM2750_BOARD_DLCW_130] = { 239 [EM2750_BOARD_DLCW_130] = {
239 /* Beijing Huaqi Information Digital Technology Co., Ltd */ 240 /* Beijing Huaqi Information Digital Technology Co., Ltd */
@@ -1719,10 +1720,6 @@ static int em28xx_hint_sensor(struct em28xx *dev)
1719 __be16 version_be; 1720 __be16 version_be;
1720 u16 version; 1721 u16 version;
1721 1722
1722 if (dev->model != EM2820_BOARD_UNKNOWN &&
1723 dev->model != EM2750_BOARD_UNKNOWN)
1724 return 0;
1725
1726 dev->i2c_client.addr = 0xba >> 1; 1723 dev->i2c_client.addr = 0xba >> 1;
1727 cmd = 0; 1724 cmd = 0;
1728 i2c_master_send(&dev->i2c_client, &cmd, 1); 1725 i2c_master_send(&dev->i2c_client, &cmd, 1);
@@ -1777,10 +1774,7 @@ void em28xx_pre_card_setup(struct em28xx *dev)
1777 em28xx_info("chip ID is em2750\n"); 1774 em28xx_info("chip ID is em2750\n");
1778 break; 1775 break;
1779 case CHIP_ID_EM2820: 1776 case CHIP_ID_EM2820:
1780 if (dev->board.is_webcam) 1777 em28xx_info("chip ID is em2710 or em2820\n");
1781 em28xx_info("chip is em2710\n");
1782 else
1783 em28xx_info("chip ID is em2820\n");
1784 break; 1778 break;
1785 case CHIP_ID_EM2840: 1779 case CHIP_ID_EM2840:
1786 em28xx_info("chip ID is em2840\n"); 1780 em28xx_info("chip ID is em2840\n");
@@ -2415,7 +2409,13 @@ static int em28xx_init_dev(struct em28xx **devhandle, struct usb_device *udev,
2415 return errCode; 2409 return errCode;
2416 } 2410 }
2417 2411
2418 em28xx_hint_sensor(dev); 2412 /*
2413 * If the device can be a webcam, seek for a sensor.
2414 * If sensor is not found, then it isn't a webcam.
2415 */
2416 if (dev->board.is_webcam)
2417 if (em28xx_hint_sensor(dev) < 0)
2418 dev->board.is_webcam = 0;
2419 2419
2420 /* Do board specific init and eeprom reading */ 2420 /* Do board specific init and eeprom reading */
2421 em28xx_card_setup(dev); 2421 em28xx_card_setup(dev);