diff options
Diffstat (limited to 'sound/usb/6fire/chip.c')
| -rw-r--r-- | sound/usb/6fire/chip.c | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/sound/usb/6fire/chip.c b/sound/usb/6fire/chip.c index 4394ae79635..dcddfc354ba 100644 --- a/sound/usb/6fire/chip.c +++ b/sound/usb/6fire/chip.c @@ -30,7 +30,7 @@ MODULE_AUTHOR("Torsten Schenk <torsten.schenk@zoho.com>"); MODULE_DESCRIPTION("TerraTec DMX 6Fire USB audio driver"); MODULE_LICENSE("GPL v2"); -MODULE_SUPPORTED_DEVICE("{{TerraTec, DMX 6Fire USB}}"); +MODULE_SUPPORTED_DEVICE("{{TerraTec,DMX 6Fire USB}}"); static int index[SNDRV_CARDS] = SNDRV_DEFAULT_IDX; /* Index 0-max */ static char *id[SNDRV_CARDS] = SNDRV_DEFAULT_STR; /* Id for card */ @@ -101,12 +101,12 @@ static int usb6fire_chip_probe(struct usb_interface *intf, usb_set_intfdata(intf, chips[i]); mutex_unlock(®ister_mutex); return 0; - } else if (regidx < 0) + } else if (!devices[i] && regidx < 0) regidx = i; } if (regidx < 0) { mutex_unlock(®ister_mutex); - snd_printk(KERN_ERR PREFIX "too many cards registered.\n"); + dev_err(&intf->dev, "too many cards registered.\n"); return -ENODEV; } devices[regidx] = device; @@ -121,20 +121,19 @@ static int usb6fire_chip_probe(struct usb_interface *intf, /* if we are here, card can be registered in alsa. */ if (usb_set_interface(device, 0, 0) != 0) { - snd_printk(KERN_ERR PREFIX "can't set first interface.\n"); + dev_err(&intf->dev, "can't set first interface.\n"); return -EIO; } - ret = snd_card_create(index[regidx], id[regidx], THIS_MODULE, - sizeof(struct sfire_chip), &card); + ret = snd_card_new(&intf->dev, index[regidx], id[regidx], + THIS_MODULE, sizeof(struct sfire_chip), &card); if (ret < 0) { - snd_printk(KERN_ERR PREFIX "cannot create alsa card.\n"); + dev_err(&intf->dev, "cannot create alsa card.\n"); return ret; } strcpy(card->driver, "6FireUSB"); strcpy(card->shortname, "TerraTec DMX6FireUSB"); sprintf(card->longname, "%s at %d:%d", card->shortname, device->bus->busnum, device->devnum); - snd_card_set_dev(card, &intf->dev); chip = card->private_data; chips[regidx] = chip; @@ -169,7 +168,7 @@ static int usb6fire_chip_probe(struct usb_interface *intf, ret = snd_card_register(card); if (ret < 0) { - snd_printk(KERN_ERR PREFIX "cannot register card."); + dev_err(&intf->dev, "cannot register card."); usb6fire_chip_destroy(chip); return ret; } |
