diff options
-rw-r--r-- | drivers/media/usb/em28xx/em28xx-cards.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/drivers/media/usb/em28xx/em28xx-cards.c b/drivers/media/usb/em28xx/em28xx-cards.c index a3c305598b4b..54ead1ec71a8 100644 --- a/drivers/media/usb/em28xx/em28xx-cards.c +++ b/drivers/media/usb/em28xx/em28xx-cards.c | |||
@@ -2909,6 +2909,14 @@ static int em28xx_init_dev(struct em28xx *dev, struct usb_device *udev, | |||
2909 | break; | 2909 | break; |
2910 | case CHIP_ID_EM2820: | 2910 | case CHIP_ID_EM2820: |
2911 | chip_name = "em2710/2820"; | 2911 | chip_name = "em2710/2820"; |
2912 | if (dev->udev->descriptor.idVendor == 0xeb1a) { | ||
2913 | __le16 idProd = dev->udev->descriptor.idProduct; | ||
2914 | if (le16_to_cpu(idProd) == 0x2710) | ||
2915 | chip_name = "em2710"; | ||
2916 | else if (le16_to_cpu(idProd) == 0x2820) | ||
2917 | chip_name = "em2820"; | ||
2918 | } | ||
2919 | /* NOTE: the em2820 is used in webcams, too ! */ | ||
2912 | break; | 2920 | break; |
2913 | case CHIP_ID_EM2840: | 2921 | case CHIP_ID_EM2840: |
2914 | chip_name = "em2840"; | 2922 | chip_name = "em2840"; |
@@ -2974,14 +2982,6 @@ static int em28xx_init_dev(struct em28xx *dev, struct usb_device *udev, | |||
2974 | 2982 | ||
2975 | em28xx_pre_card_setup(dev); | 2983 | em28xx_pre_card_setup(dev); |
2976 | 2984 | ||
2977 | if (dev->chip_id == CHIP_ID_EM2820) { | ||
2978 | if (dev->board.is_webcam) | ||
2979 | chip_name = "em2710"; | ||
2980 | else | ||
2981 | chip_name = "em2820"; | ||
2982 | snprintf(dev->name, sizeof(dev->name), "%s #%d", chip_name, dev->devno); | ||
2983 | } | ||
2984 | |||
2985 | if (!dev->board.is_em2800) { | 2985 | if (!dev->board.is_em2800) { |
2986 | /* Resets I2C speed */ | 2986 | /* Resets I2C speed */ |
2987 | retval = em28xx_write_reg(dev, EM28XX_R06_I2C_CLK, dev->board.i2c_speed); | 2987 | retval = em28xx_write_reg(dev, EM28XX_R06_I2C_CLK, dev->board.i2c_speed); |