Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 357159
b: refs/heads/master
c: a3efa1c
h: refs/heads/master
i:
  357157: 1e44344
  357155: 0fbc185
  357151: 8f299f2
v: v3
  • Loading branch information
Mauro Carvalho Chehab committed Dec 23, 2012
1 parent 03cc118 commit b393b3d
Show file tree
Hide file tree
Showing 2 changed files with 34 additions and 14 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: aa51496b21542855e779a78bf33384002f01acb6
refs/heads/master: a3efa1cc0e067675ffa2d2c357cbe1da0db4653b
46 changes: 33 additions & 13 deletions trunk/drivers/media/usb/em28xx/em28xx-cards.c
Original file line number Diff line number Diff line change
Expand Up @@ -2957,6 +2957,8 @@ static int em28xx_init_dev(struct em28xx *dev, struct usb_device *udev,
int minor)
{
int retval;
static const char *default_chip_name = "em28xx";
const char *chip_name = default_chip_name;

dev->udev = udev;
mutex_init(&dev->ctrl_urb_lock);
Expand Down Expand Up @@ -2984,51 +2986,62 @@ static int em28xx_init_dev(struct em28xx *dev, struct usb_device *udev,

switch (dev->chip_id) {
case CHIP_ID_EM2800:
em28xx_info("chip ID is em2800\n");
chip_name = "em2800";
break;
case CHIP_ID_EM2710:
em28xx_info("chip ID is em2710\n");
chip_name = "em2710";
break;
case CHIP_ID_EM2750:
em28xx_info("chip ID is em2750\n");
chip_name = "em2750";
break;
case CHIP_ID_EM2820:
em28xx_info("chip ID is em2820 (or em2710)\n");
chip_name = "em2710/2820";
break;
case CHIP_ID_EM2840:
em28xx_info("chip ID is em2840\n");
chip_name = "em2840";
break;
case CHIP_ID_EM2860:
em28xx_info("chip ID is em2860\n");
chip_name = "em2860";
break;
case CHIP_ID_EM2870:
em28xx_info("chip ID is em2870\n");
chip_name = "em2870";
dev->wait_after_write = 0;
break;
case CHIP_ID_EM2874:
em28xx_info("chip ID is em2874\n");
chip_name = "em2874";
dev->reg_gpio_num = EM2874_R80_GPIO;
dev->wait_after_write = 0;
break;
case CHIP_ID_EM28174:
em28xx_info("chip ID is em28174\n");
chip_name = "em28174";
dev->reg_gpio_num = EM2874_R80_GPIO;
dev->wait_after_write = 0;
break;
case CHIP_ID_EM2883:
em28xx_info("chip ID is em2882/em2883\n");
chip_name = "em2882/3";
dev->wait_after_write = 0;
break;
case CHIP_ID_EM2884:
em28xx_info("chip ID is em2884\n");
chip_name = "em2884";
dev->reg_gpio_num = EM2874_R80_GPIO;
dev->wait_after_write = 0;
break;
default:
em28xx_info("em28xx chip ID = %d\n", dev->chip_id);
printk(KERN_INFO DRIVER_NAME
": unknown em28xx chip ID (%d)\n", dev->chip_id);
}
}

if (chip_name != default_chip_name)
printk(KERN_INFO DRIVER_NAME
": chip ID is %s\n", chip_name);

/*
* For em2820/em2710, the name may change latter, after checking
* if the device has a sensor (so, it is em2710) or not.
*/
snprintf(dev->name, sizeof(dev->name), "%s #%d", chip_name, dev->devno);

if (dev->is_audio_only) {
retval = em28xx_audio_setup(dev);
if (retval)
Expand All @@ -3045,6 +3058,14 @@ static int em28xx_init_dev(struct em28xx *dev, struct usb_device *udev,

em28xx_pre_card_setup(dev);

if (dev->chip_id == CHIP_ID_EM2820) {
if (dev->board.is_webcam)
chip_name = "em2710";
else
chip_name = "em2820";
snprintf(dev->name, sizeof(dev->name), "%s #%d", chip_name, dev->devno);
}

if (!dev->board.is_em2800) {
/* Resets I2C speed */
retval = em28xx_write_reg(dev, EM28XX_R06_I2C_CLK, dev->board.i2c_speed);
Expand Down Expand Up @@ -3331,7 +3352,6 @@ static int em28xx_usb_probe(struct usb_interface *interface,
(!dev->dvb_ep_isoc || (prefer_bulk && dev->dvb_ep_bulk)))
dev->dvb_xfer_bulk = 1;

snprintf(dev->name, sizeof(dev->name), "em28xx #%d", nr);
dev->devno = nr;
dev->model = id->driver_info;
dev->alt = -1;
Expand Down

0 comments on commit b393b3d

Please sign in to comment.