ALSA: line6: Minor tidy up in line6_probe()
Move the check of multi configurations before snd_card_new() as a short path, and reduce superfluous pointer references. Tested-by: Chris Rorvick <chris@rorvick.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
Родитель
aca514b823
Коммит
d6ca69d825
|
@ -495,6 +495,10 @@ int line6_probe(struct usb_interface *interface,
|
||||||
if (WARN_ON(data_size < sizeof(*line6)))
|
if (WARN_ON(data_size < sizeof(*line6)))
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
|
/* we don't handle multiple configurations */
|
||||||
|
if (usbdev->descriptor.bNumConfigurations != 1)
|
||||||
|
return -ENODEV;
|
||||||
|
|
||||||
ret = snd_card_new(&interface->dev,
|
ret = snd_card_new(&interface->dev,
|
||||||
SNDRV_DEFAULT_IDX1, SNDRV_DEFAULT_STR1,
|
SNDRV_DEFAULT_IDX1, SNDRV_DEFAULT_STR1,
|
||||||
THIS_MODULE, data_size, &card);
|
THIS_MODULE, data_size, &card);
|
||||||
|
@ -508,10 +512,10 @@ int line6_probe(struct usb_interface *interface,
|
||||||
line6->usbdev = usbdev;
|
line6->usbdev = usbdev;
|
||||||
line6->ifcdev = &interface->dev;
|
line6->ifcdev = &interface->dev;
|
||||||
|
|
||||||
strcpy(card->id, line6->properties->id);
|
strcpy(card->id, properties->id);
|
||||||
strcpy(card->driver, DRIVER_NAME);
|
strcpy(card->driver, DRIVER_NAME);
|
||||||
strcpy(card->shortname, line6->properties->name);
|
strcpy(card->shortname, properties->name);
|
||||||
sprintf(card->longname, "Line 6 %s at USB %s", line6->properties->name,
|
sprintf(card->longname, "Line 6 %s at USB %s", properties->name,
|
||||||
dev_name(line6->ifcdev));
|
dev_name(line6->ifcdev));
|
||||||
card->private_free = line6_destruct;
|
card->private_free = line6_destruct;
|
||||||
|
|
||||||
|
@ -520,12 +524,6 @@ int line6_probe(struct usb_interface *interface,
|
||||||
/* increment reference counters: */
|
/* increment reference counters: */
|
||||||
usb_get_dev(usbdev);
|
usb_get_dev(usbdev);
|
||||||
|
|
||||||
/* we don't handle multiple configurations */
|
|
||||||
if (usbdev->descriptor.bNumConfigurations != 1) {
|
|
||||||
ret = -ENODEV;
|
|
||||||
goto error;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* initialize device info: */
|
/* initialize device info: */
|
||||||
dev_info(&interface->dev, "Line 6 %s found\n", properties->name);
|
dev_info(&interface->dev, "Line 6 %s found\n", properties->name);
|
||||||
|
|
||||||
|
@ -533,7 +531,7 @@ int line6_probe(struct usb_interface *interface,
|
||||||
interface_number = interface->cur_altsetting->desc.bInterfaceNumber;
|
interface_number = interface->cur_altsetting->desc.bInterfaceNumber;
|
||||||
|
|
||||||
ret = usb_set_interface(usbdev, interface_number,
|
ret = usb_set_interface(usbdev, interface_number,
|
||||||
properties->altsetting);
|
properties->altsetting);
|
||||||
if (ret < 0) {
|
if (ret < 0) {
|
||||||
dev_err(&interface->dev, "set_interface failed\n");
|
dev_err(&interface->dev, "set_interface failed\n");
|
||||||
goto error;
|
goto error;
|
||||||
|
@ -555,7 +553,7 @@ int line6_probe(struct usb_interface *interface,
|
||||||
/* creation of additional special files should go here */
|
/* creation of additional special files should go here */
|
||||||
|
|
||||||
dev_info(&interface->dev, "Line 6 %s now attached\n",
|
dev_info(&interface->dev, "Line 6 %s now attached\n",
|
||||||
line6->properties->name);
|
properties->name);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче