aboutsummaryrefslogtreecommitdiffstats
path: root/sound/firewire
diff options
context:
space:
mode:
authorClemens Ladisch <clemens@ladisch.de>2012-04-11 11:38:10 -0400
committerStefan Richter <stefanr@s5r6.in-berlin.de>2012-04-17 16:54:55 -0400
commit7bdbff6762a573b911e4ee5715779d8ee6a62631 (patch)
tree446701cfe10e48a735997053f279d2e9b11975fd /sound/firewire
parentdb7494e2ce616f2e39e877cf9143b7d873701ec6 (diff)
firewire: move rcode_string() to core
There is nothing audio-specific about the rcode_string() helper, so move it from snd-firewire-lib into firewire-core to allow other code to use it. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de> (fixed sound/firewire/cmp.c)
Diffstat (limited to 'sound/firewire')
-rw-r--r--sound/firewire/cmp.c2
-rw-r--r--sound/firewire/lib.c28
-rw-r--r--sound/firewire/lib.h1
3 files changed, 2 insertions, 29 deletions
diff --git a/sound/firewire/cmp.c b/sound/firewire/cmp.c
index 76294f2ae47f..645cb0ba4293 100644
--- a/sound/firewire/cmp.c
+++ b/sound/firewire/cmp.c
@@ -84,7 +84,7 @@ static int pcr_modify(struct cmp_connection *c,
84 return 0; 84 return 0;
85 85
86io_error: 86io_error:
87 cmp_error(c, "transaction failed: %s\n", rcode_string(rcode)); 87 cmp_error(c, "transaction failed: %s\n", fw_rcode_string(rcode));
88 return -EIO; 88 return -EIO;
89 89
90bus_reset: 90bus_reset:
diff --git a/sound/firewire/lib.c b/sound/firewire/lib.c
index 4750cea2210e..14eb41498372 100644
--- a/sound/firewire/lib.c
+++ b/sound/firewire/lib.c
@@ -14,32 +14,6 @@
14#define ERROR_RETRY_DELAY_MS 5 14#define ERROR_RETRY_DELAY_MS 5
15 15
16/** 16/**
17 * rcode_string - convert a firewire result code to a string
18 * @rcode: the result
19 */
20const char *rcode_string(unsigned int rcode)
21{
22 static const char *const names[] = {
23 [RCODE_COMPLETE] = "complete",
24 [RCODE_CONFLICT_ERROR] = "conflict error",
25 [RCODE_DATA_ERROR] = "data error",
26 [RCODE_TYPE_ERROR] = "type error",
27 [RCODE_ADDRESS_ERROR] = "address error",
28 [RCODE_SEND_ERROR] = "send error",
29 [RCODE_CANCELLED] = "cancelled",
30 [RCODE_BUSY] = "busy",
31 [RCODE_GENERATION] = "generation",
32 [RCODE_NO_ACK] = "no ack",
33 };
34
35 if (rcode < ARRAY_SIZE(names) && names[rcode])
36 return names[rcode];
37 else
38 return "unknown";
39}
40EXPORT_SYMBOL(rcode_string);
41
42/**
43 * snd_fw_transaction - send a request and wait for its completion 17 * snd_fw_transaction - send a request and wait for its completion
44 * @unit: the driver's unit on the target device 18 * @unit: the driver's unit on the target device
45 * @tcode: the transaction code 19 * @tcode: the transaction code
@@ -71,7 +45,7 @@ int snd_fw_transaction(struct fw_unit *unit, int tcode,
71 45
72 if (rcode_is_permanent_error(rcode) || ++tries >= 3) { 46 if (rcode_is_permanent_error(rcode) || ++tries >= 3) {
73 dev_err(&unit->device, "transaction failed: %s\n", 47 dev_err(&unit->device, "transaction failed: %s\n",
74 rcode_string(rcode)); 48 fw_rcode_string(rcode));
75 return -EIO; 49 return -EIO;
76 } 50 }
77 51
diff --git a/sound/firewire/lib.h b/sound/firewire/lib.h
index 064f3fd9ab06..aef301476ea9 100644
--- a/sound/firewire/lib.h
+++ b/sound/firewire/lib.h
@@ -8,7 +8,6 @@ struct fw_unit;
8 8
9int snd_fw_transaction(struct fw_unit *unit, int tcode, 9int snd_fw_transaction(struct fw_unit *unit, int tcode,
10 u64 offset, void *buffer, size_t length); 10 u64 offset, void *buffer, size_t length);
11const char *rcode_string(unsigned int rcode);
12 11
13/* returns true if retrying the transaction would not make sense */ 12/* returns true if retrying the transaction would not make sense */
14static inline bool rcode_is_permanent_error(int rcode) 13static inline bool rcode_is_permanent_error(int rcode)