similarity index 98%
rename from sound/usb/usbaudio.h
rename to include/sound/usb.h
@@ -1,6 +1,7 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */
-#ifndef __USBAUDIO_H
-#define __USBAUDIO_H
+#ifndef __SOUND_USB_H
+#define __SOUND_USB_H
+
/*
* (Tentative) USB Audio Driver for ALSA
*
@@ -21,6 +22,14 @@ struct media_intf_devnode;
#define MAX_CARD_INTERFACES 16
+struct snd_usb_audio_quirk {
+ const char *vendor_name;
+ const char *product_name;
+ int16_t ifnum;
+ uint16_t type;
+ const void *data;
+};
+
/*
* Structure holding assosiation between Audio Control Interface
* and given Streaming or Midi Interface.
@@ -37,6 +46,7 @@ struct snd_usb_audio {
struct usb_interface *intf[MAX_CARD_INTERFACES];
u32 usb_id;
uint16_t quirk_type;
+ const struct snd_usb_audio_quirk *quirk;
struct mutex mutex;
unsigned int system_suspend;
atomic_t active;
@@ -99,7 +109,7 @@ struct snd_usb_audio {
#define QUIRK_NO_INTERFACE -2
#define QUIRK_ANY_INTERFACE -1
-enum quirk_type {
+enum snd_usb_quirk_type {
QUIRK_IGNORE_INTERFACE,
QUIRK_COMPOSITE,
QUIRK_AUTODETECT,
@@ -124,14 +134,6 @@ enum quirk_type {
QUIRK_TYPE_COUNT
};
-struct snd_usb_audio_quirk {
- const char *vendor_name;
- const char *product_name;
- int16_t ifnum;
- uint16_t type;
- const void *data;
-};
-
#define combine_word(s) ((*(s)) | ((unsigned int)(s)[1] << 8))
#define combine_triple(s) (combine_word(s) | ((unsigned int)(s)[2] << 16))
#define combine_quad(s) (combine_triple(s) | ((unsigned int)(s)[3] << 24))
@@ -2,7 +2,7 @@
#ifndef CAIAQ_DEVICE_H
#define CAIAQ_DEVICE_H
-#include "../usbaudio.h"
+#include <sound/usb.h>
#define USB_VID_NATIVEINSTRUMENTS 0x17cc
@@ -40,8 +40,8 @@
#include <sound/pcm.h>
#include <sound/pcm_params.h>
#include <sound/initval.h>
+#include <sound/usb.h>
-#include "usbaudio.h"
#include "card.h"
#include "midi.h"
#include "midi2.h"
@@ -14,8 +14,8 @@
#include <sound/core.h>
#include <sound/info.h>
#include <sound/pcm.h>
+#include <sound/usb.h>
-#include "usbaudio.h"
#include "card.h"
#include "helper.h"
#include "clock.h"
@@ -12,8 +12,8 @@
#include <sound/core.h>
#include <sound/pcm.h>
#include <sound/pcm_params.h>
+#include <sound/usb.h>
-#include "usbaudio.h"
#include "helper.h"
#include "card.h"
#include "endpoint.h"
@@ -11,8 +11,8 @@
#include <sound/core.h>
#include <sound/pcm.h>
+#include <sound/usb.h>
-#include "usbaudio.h"
#include "card.h"
#include "quirks.h"
#include "helper.h"
@@ -5,8 +5,8 @@
#include <linux/init.h>
#include <linux/slab.h>
#include <linux/usb.h>
+#include <sound/usb.h>
-#include "usbaudio.h"
#include "helper.h"
#include "quirks.h"
@@ -11,8 +11,8 @@
#include <sound/core.h>
#include <sound/pcm.h>
#include <sound/pcm_params.h>
+#include <sound/usb.h>
-#include "usbaudio.h"
#include "card.h"
#include "helper.h"
#include "pcm.h"
@@ -24,8 +24,8 @@
#include <sound/pcm.h>
#include <sound/core.h>
+#include <sound/usb.h>
-#include "usbaudio.h"
#include "card.h"
#include "mixer.h"
#include "media.h"
@@ -54,7 +54,7 @@
#include <sound/control.h>
#include <sound/rawmidi.h>
#include <sound/asequencer.h>
-#include "usbaudio.h"
+#include <sound/usb.h>
#include "midi.h"
#include "power.h"
#include "helper.h"
@@ -2,6 +2,8 @@
#ifndef __USBMIDI_H
#define __USBMIDI_H
+#include <sound/usb.h>
+
/* maximum number of endpoints per interface */
#define MIDI_MAX_ENDPOINTS 2
@@ -18,7 +18,7 @@
#include <sound/core.h>
#include <sound/control.h>
#include <sound/ump.h>
-#include "usbaudio.h"
+#include <sound/usb.h>
#include "midi.h"
#include "midi2.h"
#include "helper.h"
@@ -2,6 +2,7 @@
#ifndef __USB_AUDIO_MIDI2_H
#define __USB_AUDIO_MIDI2_H
+#include <sound/usb.h>
#include "midi.h"
#if IS_ENABLED(CONFIG_SND_USB_AUDIO_MIDI_V2)
@@ -13,7 +13,7 @@
#include <sound/initval.h>
#include <sound/pcm.h>
#include <sound/pcm_params.h>
-#include "../usbaudio.h"
+#include <sound/usb.h>
#include "../midi.h"
MODULE_DESCRIPTION("Edirol UA-101/1000 driver");
@@ -43,8 +43,8 @@
#include <sound/hwdep.h>
#include <sound/info.h>
#include <sound/tlv.h>
+#include <sound/usb.h>
-#include "usbaudio.h"
#include "mixer.h"
#include "helper.h"
#include "mixer_quirks.h"
@@ -29,8 +29,8 @@
#include <sound/hwdep.h>
#include <sound/info.h>
#include <sound/tlv.h>
+#include <sound/usb.h>
-#include "usbaudio.h"
#include "mixer.h"
#include "mixer_quirks.h"
#include "mixer_scarlett.h"
@@ -18,8 +18,8 @@
#include <linux/slab.h>
#include <sound/core.h>
#include <sound/control.h>
+#include <sound/usb.h>
-#include "usbaudio.h"
#include "mixer.h"
#include "mixer_quirks.h"
#include "helper.h"
@@ -124,8 +124,8 @@
#include <sound/core.h>
#include <sound/control.h>
#include <sound/tlv.h>
+#include <sound/usb.h>
-#include "usbaudio.h"
#include "mixer.h"
#include "helper.h"
#include "power.h"
@@ -158,10 +158,10 @@
#include <sound/control.h>
#include <sound/tlv.h>
#include <sound/hwdep.h>
+#include <sound/usb.h>
#include <uapi/sound/scarlett2.h>
-#include "usbaudio.h"
#include "mixer.h"
#include "helper.h"
@@ -11,8 +11,8 @@
#include <sound/core.h>
#include <sound/control.h>
+#include <sound/usb.h>
-#include "usbaudio.h"
#include "mixer.h"
#include "helper.h"
@@ -13,8 +13,8 @@
#include <sound/core.h>
#include <sound/pcm.h>
#include <sound/pcm_params.h>
+#include <sound/usb.h>
-#include "usbaudio.h"
#include "card.h"
#include "quirks.h"
#include "endpoint.h"
@@ -8,8 +8,8 @@
#include <linux/usb/audio.h>
#include <linux/usb/audio-v2.h>
#include <linux/usb/audio-v3.h>
+#include <sound/usb.h>
-#include "usbaudio.h"
#include "helper.h"
#include "power.h"
@@ -8,8 +8,8 @@
#include <sound/core.h>
#include <sound/info.h>
#include <sound/pcm.h>
+#include <sound/usb.h>
-#include "usbaudio.h"
#include "helper.h"
#include "card.h"
#include "endpoint.h"
@@ -13,8 +13,8 @@
#include <sound/core.h>
#include <sound/info.h>
#include <sound/pcm.h>
+#include <sound/usb.h>
-#include "usbaudio.h"
#include "card.h"
#include "mixer.h"
#include "mixer_quirks.h"
@@ -2,6 +2,8 @@
#ifndef __USBAUDIO_QUIRKS_H
#define __USBAUDIO_QUIRKS_H
+#include <sound/usb.h>
+
struct audioformat;
struct snd_usb_endpoint;
struct snd_usb_substream;
@@ -14,8 +14,8 @@
#include <sound/pcm.h>
#include <sound/control.h>
#include <sound/tlv.h>
+#include <sound/usb.h>
-#include "usbaudio.h"
#include "card.h"
#include "proc.h"
#include "quirks.h"
@@ -11,9 +11,9 @@
#include <sound/hwdep.h>
#include <sound/pcm.h>
#include <sound/initval.h>
+#include <sound/usb.h>
#define MODNAME "US122L"
#include "usb_stream.c"
-#include "../usbaudio.h"
#include "../midi.h"
#include "us122l.h"
@@ -14,6 +14,7 @@
#include <sound/memalloc.h>
#include <sound/pcm.h>
#include <sound/hwdep.h>
+#include <sound/usb.h>
#include "usx2y.h"
#include "usbusx2y.h"
#include "usX2Yhwdep.h"
@@ -1,7 +1,7 @@
/* SPDX-License-Identifier: GPL-2.0 */
#ifndef USBUSX2Y_H
#define USBUSX2Y_H
-#include "../usbaudio.h"
+#include <sound/usb.h>
#include "../midi.h"
#include "usbus428ctldefs.h"
@@ -9,7 +9,7 @@
#include <linux/usb/audio-v2.h>
#include <linux/usb/audio-v3.h>
#include <linux/usb/midi.h>
-#include "usbaudio.h"
+#include <sound/usb.h>
#include "helper.h"
struct usb_desc_validator {
For ALSA and ASoC to share the symbols, common header shall be defined. Existing usbaudio.h holds most of important stuff, with few adjustments it can be simply relocated to include/ to satisfy needs of both frameworks. The adjstments are: - rename quirk_type enumeration to snd_usb_quirk_type to avoid naming conflits - add quirk pointer so that quirks applied for a USB device can later be referred to Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com> --- sound/usb/usbaudio.h => include/sound/usb.h | 24 +++++++++++---------- sound/usb/caiaq/device.h | 2 +- sound/usb/card.c | 2 +- sound/usb/clock.c | 2 +- sound/usb/endpoint.c | 2 +- sound/usb/format.c | 2 +- sound/usb/helper.c | 2 +- sound/usb/implicit.c | 2 +- sound/usb/media.c | 2 +- sound/usb/midi.c | 2 +- sound/usb/midi.h | 2 ++ sound/usb/midi2.c | 2 +- sound/usb/midi2.h | 1 + sound/usb/misc/ua101.c | 2 +- sound/usb/mixer.c | 2 +- sound/usb/mixer_quirks.c | 2 +- sound/usb/mixer_s1810c.c | 2 +- sound/usb/mixer_scarlett.c | 2 +- sound/usb/mixer_scarlett2.c | 2 +- sound/usb/mixer_us16x08.c | 2 +- sound/usb/pcm.c | 2 +- sound/usb/power.c | 2 +- sound/usb/proc.c | 2 +- sound/usb/quirks.c | 2 +- sound/usb/quirks.h | 2 ++ sound/usb/stream.c | 2 +- sound/usb/usx2y/us122l.c | 2 +- sound/usb/usx2y/usX2Yhwdep.c | 1 + sound/usb/usx2y/usbusx2y.h | 2 +- sound/usb/validate.c | 2 +- 30 files changed, 44 insertions(+), 36 deletions(-) rename sound/usb/usbaudio.h => include/sound/usb.h (98%)