Commit c68a1c65 authored by Takashi Sakamoto's avatar Takashi Sakamoto Committed by Takashi Iwai

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: default avatarTakashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent a7fa0d04
...@@ -94,6 +94,7 @@ static int pcr_modify(struct cmp_connection *c, ...@@ -94,6 +94,7 @@ static int pcr_modify(struct cmp_connection *c,
*/ */
int cmp_connection_init(struct cmp_connection *c, int cmp_connection_init(struct cmp_connection *c,
struct fw_unit *unit, struct fw_unit *unit,
enum cmp_direction direction,
unsigned int pcr_index) unsigned int pcr_index)
{ {
__be32 mpr_be; __be32 mpr_be;
......
...@@ -7,6 +7,11 @@ ...@@ -7,6 +7,11 @@
struct fw_unit; struct fw_unit;
enum cmp_direction {
CMP_INPUT = 0,
CMP_OUTPUT,
};
/** /**
* struct cmp_connection - manages an isochronous connection to a device * struct cmp_connection - manages an isochronous connection to a device
* @speed: the connection's actual speed * @speed: the connection's actual speed
...@@ -26,10 +31,12 @@ struct cmp_connection { ...@@ -26,10 +31,12 @@ struct cmp_connection {
__be32 last_pcr_value; __be32 last_pcr_value;
unsigned int pcr_index; unsigned int pcr_index;
unsigned int max_speed; unsigned int max_speed;
enum cmp_direction direction;
}; };
int cmp_connection_init(struct cmp_connection *connection, int cmp_connection_init(struct cmp_connection *connection,
struct fw_unit *unit, struct fw_unit *unit,
enum cmp_direction direction,
unsigned int pcr_index); unsigned int pcr_index);
void cmp_connection_destroy(struct cmp_connection *connection); void cmp_connection_destroy(struct cmp_connection *connection);
......
...@@ -673,7 +673,7 @@ static int fwspk_probe(struct fw_unit *unit, ...@@ -673,7 +673,7 @@ static int fwspk_probe(struct fw_unit *unit,
fwspk->unit = fw_unit_get(unit); fwspk->unit = fw_unit_get(unit);
fwspk->device_info = (const struct device_info *)id->driver_data; 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) if (err < 0)
goto err_unit; goto err_unit;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment