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>
diff --git a/sound/usb/line6/driver.h b/sound/usb/line6/driver.h
index a6c0b2f0..4dc6c28 100644
--- a/sound/usb/line6/driver.h
+++ b/sound/usb/line6/driver.h
@@ -157,7 +157,7 @@
int message_length;
void (*process_message)(struct usb_line6 *);
- void (*disconnect)(struct usb_interface *);
+ void (*disconnect)(struct usb_line6 *line6);
};
extern char *line6_alloc_sysex_buffer(struct usb_line6 *line6, int code1,
@@ -180,9 +180,11 @@
size_t datalen);
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));
+
void line6_disconnect(struct usb_interface *interface);
#ifdef CONFIG_PM