summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTakashi Sakamoto <o-takashi@sakamocchi.jp>2014-04-25 15:44:55 +0200
committerTakashi Iwai <tiwai@suse.de>2014-05-26 14:22:14 +0200
commitc68a1c6584d066d0f2b7aa2117d2eddce2d01def (patch)
tree2493f740847f17778ccf1a41430bb5d6291d84ec
parentALSA: firewire-lib: Rename macros, variables and functions for CMP (diff)
downloadlinux-c68a1c6584d066d0f2b7aa2117d2eddce2d01def.tar.xz
linux-c68a1c6584d066d0f2b7aa2117d2eddce2d01def.zip
ALSA: firewire-lib: Add 'direction' member to 'cmp_connection' structure
This patch adds 'direction' member to 'cmp_connection' structure to indicate the direction of connection. This patch also adds 'direction' argument to cmp_connection_init() function to determine the direction. The cmp_connection_init() function is exported and used in snd-firewire-speakers so this patch also affect it. This patch just add them. Actual implementation will be done by followed patches. Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp> Signed-off-by: Takashi Iwai <tiwai@suse.de>
-rw-r--r--sound/firewire/cmp.c1
-rw-r--r--sound/firewire/cmp.h7
-rw-r--r--sound/firewire/speakers.c2
3 files changed, 9 insertions, 1 deletions
diff --git a/sound/firewire/cmp.c b/sound/firewire/cmp.c
index deb494d6e785..c7f7a3164390 100644
--- a/sound/firewire/cmp.c
+++ b/sound/firewire/cmp.c
@@ -94,6 +94,7 @@ static int pcr_modify(struct cmp_connection *c,
*/
int cmp_connection_init(struct cmp_connection *c,
struct fw_unit *unit,
+ enum cmp_direction direction,
unsigned int pcr_index)
{
__be32 mpr_be;
diff --git a/sound/firewire/cmp.h b/sound/firewire/cmp.h
index 2320cd44d499..9b58448d5791 100644
--- a/sound/firewire/cmp.h
+++ b/sound/firewire/cmp.h
@@ -7,6 +7,11 @@
struct fw_unit;
+enum cmp_direction {
+ CMP_INPUT = 0,
+ CMP_OUTPUT,
+};
+
/**
* struct cmp_connection - manages an isochronous connection to a device
* @speed: the connection's actual speed
@@ -26,10 +31,12 @@ struct cmp_connection {
__be32 last_pcr_value;
unsigned int pcr_index;
unsigned int max_speed;
+ enum cmp_direction direction;
};
int cmp_connection_init(struct cmp_connection *connection,
struct fw_unit *unit,
+ enum cmp_direction direction,
unsigned int pcr_index);
void cmp_connection_destroy(struct cmp_connection *connection);
diff --git a/sound/firewire/speakers.c b/sound/firewire/speakers.c
index 58e7ab010c60..dd9983b98607 100644
--- a/sound/firewire/speakers.c
+++ b/sound/firewire/speakers.c
@@ -673,7 +673,7 @@ static int fwspk_probe(struct fw_unit *unit,
fwspk->unit = fw_unit_get(unit);
fwspk->device_info = (const struct device_info *)id->driver_data;
- err = cmp_connection_init(&fwspk->connection, unit, 0);
+ err = cmp_connection_init(&fwspk->connection, unit, CMP_INPUT, 0);
if (err < 0)
goto err_unit;