ALSA: usb-audio: Move generic implicit fb quirk entries into quirks.c
[linux-2.6-microblaze.git] / sound / usb / implicit.c
index 2d444ec..e1bf1b5 100644 (file)
@@ -45,11 +45,6 @@ struct snd_usb_implicit_fb_match {
 
 /* Implicit feedback quirk table for playback */
 static const struct snd_usb_implicit_fb_match playback_implicit_fb_quirks[] = {
-       /* Generic matching */
-       IMPLICIT_FB_GENERIC_DEV(0x0499, 0x1509), /* Steinberg UR22 */
-       IMPLICIT_FB_GENERIC_DEV(0x0763, 0x2030), /* M-Audio Fast Track C400 */
-       IMPLICIT_FB_GENERIC_DEV(0x0763, 0x2031), /* M-Audio Fast Track C600 */
-
        /* Fixed EP */
        /* FIXME: check the availability of generic matching */
        IMPLICIT_FB_FIXED_DEV(0x0763, 0x2080, 0x81, 2), /* M-Audio FastTrack Ultra */
@@ -350,7 +345,8 @@ static int audioformat_implicit_fb_quirk(struct snd_usb_audio *chip,
        }
 
        /* Try the generic implicit fb if available */
-       if (chip->generic_implicit_fb)
+       if (chip->generic_implicit_fb ||
+           (chip->quirk_flags & QUIRK_FLAG_GENERIC_IMPLICIT_FB))
                return add_generic_implicit_fb(chip, fmt, alts);
 
        /* No quirk */
@@ -387,6 +383,8 @@ int snd_usb_parse_implicit_fb_quirk(struct snd_usb_audio *chip,
                                    struct audioformat *fmt,
                                    struct usb_host_interface *alts)
 {
+       if (chip->quirk_flags & QUIRK_FLAG_SKIP_IMPLICIT_FB)
+               return 0;
        if (fmt->endpoint & USB_DIR_IN)
                return audioformat_capture_quirk(chip, fmt, alts);
        else