Update of /cvsroot/alsa/alsa-kernel/usb
In directory usw-pr-cvs1:/tmp/cvs-serv660
Modified Files:
usbaudio.c
Log Message:
- added the missing dev_set_drvdata() for 2.5 API.
- simplified the conexistence of old and new USB APIs.
Index: usbaudio.c
===================================================================
RCS file: /cvsroot/alsa/alsa-kernel/usb/usbaudio.c,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -r1.14 -r1.15
--- usbaudio.c 3 Oct 2002 17:20:37 -0000 1.14
+++ usbaudio.c 4 Oct 2002 12:27:41 -0000 1.15
@@ -1308,14 +1308,16 @@
* entry point for linux usb interface
*/
-#ifndef OLD_USB
+static void * _usb_audio_probe(struct usb_device *dev, unsigned int ifnum,
+ const struct usb_device_id *id);
+static void _usb_audio_disconnect(struct usb_device *dev, void *ptr);
+#ifdef OLD_USB
+#define usb_audio_probe _usb_audio_probe
+#define usb_audio_disconnect _usb_audio_disconnect
+#else
static int usb_audio_probe(struct usb_interface *intf,
const struct usb_device_id *id);
static void usb_audio_disconnect(struct usb_interface *intf);
-#else
-static void * usb_audio_probe(struct usb_device *dev, unsigned int ifnum,
- const struct usb_device_id *id);
-static void usb_audio_disconnect(struct usb_device *dev, void *ptr);
#endif
static struct usb_device_id usb_audio_ids [] = {
@@ -2066,18 +2068,9 @@
* only at the first time. the successive calls of this function will
* append the pcm interface to the corresponding card.
*/
-#ifndef OLD_USB
-static int usb_audio_probe(struct usb_interface *intf,
- const struct usb_device_id *id)
-#else
-static void *usb_audio_probe(struct usb_device *dev, unsigned int ifnum,
+static void *_usb_audio_probe(struct usb_device *dev, unsigned int ifnum,
const struct usb_device_id *id)
-#endif
{
-#ifndef OLD_USB
- struct usb_device *dev = interface_to_usbdev(intf);
- int ifnum = intf->altsetting->bInterfaceNumber;
-#endif
struct usb_config_descriptor *config = dev->actconfig;
const snd_usb_audio_quirk_t *quirk = (const snd_usb_audio_quirk_t
*)id->driver_info;
unsigned char *buffer;
@@ -2159,37 +2152,21 @@
chip->num_interfaces++;
up(®ister_mutex);
kfree(buffer);
-#ifndef OLD_USB
- return 0;
-#else
return chip;
-#endif
__error:
up(®ister_mutex);
kfree(buffer);
__err_val:
-#ifndef OLD_USB
- return -EIO;
-#else
return NULL;
-#endif
}
-
/*
* we need to take care of counter, since disconnection can be called also
* many times as well as usb_audio_probe().
*/
-#ifndef OLD_USB
-static void usb_audio_disconnect(struct usb_interface *intf)
-#else
-static void usb_audio_disconnect(struct usb_device *dev, void *ptr)
-#endif
+static void _usb_audio_disconnect(struct usb_device *dev, void *ptr)
{
-#ifndef OLD_USB
- void *ptr = dev_get_drvdata(&intf->dev);
-#endif
snd_usb_audio_t *chip;
if (ptr == (void *)-1)
@@ -2200,6 +2177,34 @@
if (chip->num_interfaces <= 0)
snd_card_free(chip->card);
}
+
+
+#ifndef OLD_USB
+/*
+ * new 2.5 USB kernel API
+ */
+
+static int usb_audio_probe(struct usb_interface *intf,
+ const struct usb_device_id *id)
+{
+ void *chip;
+ chip = _usb_audio_probe(interface_to_usbdev(intf),
+ intf->altsetting->bInterfaceNumber, id);
+ if (chip) {
+ dev_set_drvdata(&intf->dev, chip);
+ return 0;
+ } else
+ return -EIO;
+}
+
+static void usb_audio_disconnect(struct usb_interface *intf)
+{
+ _usb_audio_disconnect(interface_to_usbdev(intf),
+ dev_get_drvdata(&intf->dev));
+}
+#endif
+
+
static int __init snd_usb_audio_init(void)
{
-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
Alsa-cvslog mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-cvslog