|
|
|
@ -328,7 +328,8 @@ static void remove_trailing_spaces(char *str) |
|
|
|
|
/*
|
|
|
|
|
* create a chip instance and set its names. |
|
|
|
|
*/ |
|
|
|
|
static int snd_usb_audio_create(struct usb_device *dev, int idx, |
|
|
|
|
static int snd_usb_audio_create(struct usb_interface *intf, |
|
|
|
|
struct usb_device *dev, int idx, |
|
|
|
|
const struct snd_usb_audio_quirk *quirk, |
|
|
|
|
struct snd_usb_audio **rchip) |
|
|
|
|
{ |
|
|
|
@ -354,7 +355,8 @@ static int snd_usb_audio_create(struct usb_device *dev, int idx, |
|
|
|
|
return -ENXIO; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
err = snd_card_create(index[idx], id[idx], THIS_MODULE, 0, &card); |
|
|
|
|
err = snd_card_new(&intf->dev, index[idx], id[idx], THIS_MODULE, |
|
|
|
|
0, &card); |
|
|
|
|
if (err < 0) { |
|
|
|
|
snd_printk(KERN_ERR "cannot create card instance %d\n", idx); |
|
|
|
|
return err; |
|
|
|
@ -513,10 +515,10 @@ snd_usb_audio_probe(struct usb_device *dev, |
|
|
|
|
if (enable[i] && ! usb_chip[i] && |
|
|
|
|
(vid[i] == -1 || vid[i] == USB_ID_VENDOR(id)) && |
|
|
|
|
(pid[i] == -1 || pid[i] == USB_ID_PRODUCT(id))) { |
|
|
|
|
if (snd_usb_audio_create(dev, i, quirk, &chip) < 0) { |
|
|
|
|
if (snd_usb_audio_create(intf, dev, i, quirk, |
|
|
|
|
&chip) < 0) { |
|
|
|
|
goto __error; |
|
|
|
|
} |
|
|
|
|
snd_card_set_dev(chip->card, &intf->dev); |
|
|
|
|
chip->pm_intf = intf; |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|