ALSA: line6: Drop interface argument from private_init and disconnect callbacks

The interface argument is used just for retrieving the assigned
device, which can be already found in line6->ifcdev.  Drop them from
the callbacks.  Also, pass the usb id to private_init so that the
driver can deal with it there.  This is a preliminary work for the
further cleanup to move the whole allocation into driver.c.

Tested-by: Chris Rorvick <chris@rorvick.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
此提交包含在:
Takashi Iwai
2015-01-25 18:22:58 +01:00
父節點 62a109d9e2
當前提交 f66fd990c5
共有 6 個檔案被更改,包括 31 行新增30 行删除

查看文件

@@ -488,9 +488,10 @@ static int line6_init_cap_control(struct usb_line6 *line6)
Probe USB device.
*/
int line6_probe(struct usb_interface *interface,
const struct usb_device_id *id,
struct usb_line6 *line6,
const struct line6_properties *properties,
int (*private_init)(struct usb_interface *, struct usb_line6 *))
int (*private_init)(struct usb_line6 *, const struct usb_device_id *id))
{
struct usb_device *usbdev = interface_to_usbdev(interface);
struct snd_card *card;
@@ -552,7 +553,7 @@ int line6_probe(struct usb_interface *interface,
}
/* initialize device data based on device: */
ret = private_init(interface, line6);
ret = private_init(line6, id);
if (ret < 0)
goto error;
@@ -565,7 +566,7 @@ int line6_probe(struct usb_interface *interface,
error:
if (line6->disconnect)
line6->disconnect(interface);
line6->disconnect(line6);
snd_card_free(card);
return ret;
}
@@ -592,7 +593,7 @@ void line6_disconnect(struct usb_interface *interface)
if (line6->line6pcm)
line6_pcm_disconnect(line6->line6pcm);
if (line6->disconnect)
line6->disconnect(interface);
line6->disconnect(line6);
dev_info(&interface->dev, "Line 6 %s now disconnected\n",
line6->properties->name);