summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2023-06-21 13:02:41 +0200
committerTakashi Iwai <tiwai@suse.de>2023-06-21 13:06:19 +0200
commit4dce2f076b7d0a0a99867b58eea7c212ff4e2be5 (patch)
treee5aee7dd7454107341174213fd9fb321a16bd48d
parenteacd9c7f1d3ab8381a99b98b36652b5cf6ae8387 (diff)
ALSA: ump: Export snd_ump_receive_ump_val()
This is another preliminary patch for USB MIDI 2.0 gadget driver. Export the currently local snd_ump_receive_ump_val(). It can be used by the gadget driver for processing the UMP data. Link: https://lore.kernel.org/r/20230621110241.4751-4-tiwai@suse.de Signed-off-by: Takashi Iwai <tiwai@suse.de>
-rw-r--r--include/sound/ump.h1
-rw-r--r--sound/core/ump.c11
2 files changed, 9 insertions, 3 deletions
diff --git a/include/sound/ump.h b/include/sound/ump.h
index 2f6a9944c6ef..44d2c2fd021d 100644
--- a/include/sound/ump.h
+++ b/include/sound/ump.h
@@ -109,6 +109,7 @@ static inline int snd_ump_attach_legacy_rawmidi(struct snd_ump_endpoint *ump,
}
#endif
+int snd_ump_receive_ump_val(struct snd_ump_endpoint *ump, u32 val);
int snd_ump_switch_protocol(struct snd_ump_endpoint *ump, unsigned int protocol);
/*
diff --git a/sound/core/ump.c b/sound/core/ump.c
index 5e73c9cf5919..5e17351ca984 100644
--- a/sound/core/ump.c
+++ b/sound/core/ump.c
@@ -263,12 +263,16 @@ static unsigned char ump_packet_words[0x10] = {
1, 1, 1, 2, 2, 4, 1, 1, 2, 2, 2, 3, 3, 4, 4, 4
};
-/* parse the UMP packet data;
- * the data is copied onto ump->input_buf[].
+/**
+ * snd_ump_receive_ump_val - parse the UMP packet data
+ * @ump: UMP endpoint
+ * @val: UMP packet data
+ *
+ * The data is copied onto ump->input_buf[].
* When a full packet is completed, returns the number of words (from 1 to 4).
* OTOH, if the packet is incomplete, returns 0.
*/
-static int snd_ump_receive_ump_val(struct snd_ump_endpoint *ump, u32 val)
+int snd_ump_receive_ump_val(struct snd_ump_endpoint *ump, u32 val)
{
int words;
@@ -284,6 +288,7 @@ static int snd_ump_receive_ump_val(struct snd_ump_endpoint *ump, u32 val)
}
return 0;
}
+EXPORT_SYMBOL_GPL(snd_ump_receive_ump_val);
/**
* snd_ump_receive - transfer UMP packets from the device