[alsa-devel] [PATCH 3/4] Add "direction" member to amdtp_stream structure for AMDTP

Takashi Sakamoto o-takashi at sakamocchi.jp
Sun Apr 28 07:02:13 CEST 2013


To indicate the direction of amdtp stream, this patch adds "direction" member
to amdtp_stream structure. To determine the direction, this patch also adds
"direction" argument to amdtp_stream_init() function. The amdtp_stream_init()
function is exported and used by snd-firewire-speakers so this patch also
affects it.

This patch just add them. Actual implementation will be done by followed
patches.

Signed-off-by: Takashi Sakamoto <o-takashi at sakamocchi.jp>
---
 sound/firewire/amdtp.c    |    2 +-
 sound/firewire/amdtp.h    |    8 +++++++-
 sound/firewire/speakers.c |    3 ++-
 3 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/sound/firewire/amdtp.c b/sound/firewire/amdtp.c
index 5bb7836..98bc68e 100644
--- a/sound/firewire/amdtp.c
+++ b/sound/firewire/amdtp.c
@@ -50,7 +50,7 @@ static void pcm_period_tasklet(unsigned long data);
  * @flags: the packet transmission method to use
  */
 int amdtp_stream_init(struct amdtp_stream *s, struct fw_unit *unit,
-			  enum cip_flags flags)
+		enum amdtp_stream_direction direction, enum cip_flags flags)
 {
 	if (flags != CIP_NONBLOCKING)
 		return -EINVAL;
diff --git a/sound/firewire/amdtp.h b/sound/firewire/amdtp.h
index 82392ea..09803d6 100644
--- a/sound/firewire/amdtp.h
+++ b/sound/firewire/amdtp.h
@@ -37,9 +37,15 @@ struct fw_unit;
 struct fw_iso_context;
 struct snd_pcm_substream;
 
+enum amdtp_stream_direction {
+	AMDTP_STREAM_RECEIVE = 0,
+	AMDTP_STREAM_TRANSMIT
+};
+
 struct amdtp_stream {
 	struct fw_unit *unit;
 	enum cip_flags flags;
+	enum amdtp_stream_direction direction;
 	struct fw_iso_context *context;
 	struct mutex mutex;
 
@@ -72,7 +78,7 @@ struct amdtp_stream {
 };
 
 int amdtp_stream_init(struct amdtp_stream *s, struct fw_unit *unit,
-			  enum cip_flags flags);
+		enum amdtp_stream_direction direction, enum cip_flags flags);
 void amdtp_stream_destroy(struct amdtp_stream *s);
 
 void amdtp_stream_set_rate(struct amdtp_stream *s, unsigned int rate);
diff --git a/sound/firewire/speakers.c b/sound/firewire/speakers.c
index 7df20ac..4164163 100644
--- a/sound/firewire/speakers.c
+++ b/sound/firewire/speakers.c
@@ -727,7 +727,8 @@ static int fwspk_probe(struct device *unit_dev)
 	if (err < 0)
 		goto err_unit;
 
-	err = amdtp_stream_init(&fwspk->stream, unit, CIP_NONBLOCKING);
+	err = amdtp_stream_init(&fwspk->stream, unit,
+				AMDTP_STREAM_TRANSMIT, CIP_NONBLOCKING);
 	if (err < 0)
 		goto err_connection;
 
-- 
1.7.10.4



More information about the Alsa-devel mailing list