aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/firewire
diff options
context:
space:
mode:
authorStefan Richter <stefanr@s5r6.in-berlin.de>2010-04-14 16:30:18 -0400
committerStefan Richter <stefanr@s5r6.in-berlin.de>2010-04-19 14:00:44 -0400
commitedd5bdaf128e04066caac84fcb21377197ea0d64 (patch)
tree1b649a30c0c3263b1cbef23d0fcdc049228c5e8d /drivers/firewire
parent7cfe21aae155c26193fde617dc61d37a79a63f86 (diff)
firewire: core: clean up config ROM related defined constants
Clemens Ladisch pointed out that - BIB_IMC is not named like the field is called in the standard, - readers of the code may get worried about the magic 0x0c0083c0, - a CSR_NODE_CAPABILITIES key is there in the header but not put to good use. So let's rename BIB_IMC, add a defined constant for Node_Capabilities and a comment which reassures people that somebody thought about it and they don't have to (or if they still do, tell them where they have to look for confirmation), and prune our incomplete and arbitrary set of defined constants of CSR key IDs. And there is a nother magic number, that of Bus_Information_Block.Bus_Name, to be defined and commented. Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Diffstat (limited to 'drivers/firewire')
-rw-r--r--drivers/firewire/core-card.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/drivers/firewire/core-card.c b/drivers/firewire/core-card.c
index 5045156c5313..42cf911b73cf 100644
--- a/drivers/firewire/core-card.c
+++ b/drivers/firewire/core-card.c
@@ -63,7 +63,7 @@ static size_t config_rom_length = 1 + 4 + 1 + 1;
63#define BIB_CRC(v) ((v) << 0) 63#define BIB_CRC(v) ((v) << 0)
64#define BIB_CRC_LENGTH(v) ((v) << 16) 64#define BIB_CRC_LENGTH(v) ((v) << 16)
65#define BIB_INFO_LENGTH(v) ((v) << 24) 65#define BIB_INFO_LENGTH(v) ((v) << 24)
66 66#define BIB_BUS_NAME 0x31333934 /* "1394" */
67#define BIB_LINK_SPEED(v) ((v) << 0) 67#define BIB_LINK_SPEED(v) ((v) << 0)
68#define BIB_GENERATION(v) ((v) << 4) 68#define BIB_GENERATION(v) ((v) << 4)
69#define BIB_MAX_ROM(v) ((v) << 8) 69#define BIB_MAX_ROM(v) ((v) << 8)
@@ -73,7 +73,8 @@ static size_t config_rom_length = 1 + 4 + 1 + 1;
73#define BIB_BMC ((1) << 28) 73#define BIB_BMC ((1) << 28)
74#define BIB_ISC ((1) << 29) 74#define BIB_ISC ((1) << 29)
75#define BIB_CMC ((1) << 30) 75#define BIB_CMC ((1) << 30)
76#define BIB_IMC ((1) << 31) 76#define BIB_IRMC ((1) << 31)
77#define NODE_CAPABILITIES 0x0c0083c0 /* per IEEE 1394 clause 8.3.2.6.5.2 */
77 78
78static void generate_config_rom(struct fw_card *card, __be32 *config_rom) 79static void generate_config_rom(struct fw_card *card, __be32 *config_rom)
79{ 80{
@@ -91,18 +92,18 @@ static void generate_config_rom(struct fw_card *card, __be32 *config_rom)
91 92
92 config_rom[0] = cpu_to_be32( 93 config_rom[0] = cpu_to_be32(
93 BIB_CRC_LENGTH(4) | BIB_INFO_LENGTH(4) | BIB_CRC(0)); 94 BIB_CRC_LENGTH(4) | BIB_INFO_LENGTH(4) | BIB_CRC(0));
94 config_rom[1] = cpu_to_be32(0x31333934); 95 config_rom[1] = cpu_to_be32(BIB_BUS_NAME);
95 config_rom[2] = cpu_to_be32( 96 config_rom[2] = cpu_to_be32(
96 BIB_LINK_SPEED(card->link_speed) | 97 BIB_LINK_SPEED(card->link_speed) |
97 BIB_GENERATION(card->config_rom_generation++ % 14 + 2) | 98 BIB_GENERATION(card->config_rom_generation++ % 14 + 2) |
98 BIB_MAX_ROM(2) | 99 BIB_MAX_ROM(2) |
99 BIB_MAX_RECEIVE(card->max_receive) | 100 BIB_MAX_RECEIVE(card->max_receive) |
100 BIB_BMC | BIB_ISC | BIB_CMC | BIB_IMC); 101 BIB_BMC | BIB_ISC | BIB_CMC | BIB_IRMC);
101 config_rom[3] = cpu_to_be32(card->guid >> 32); 102 config_rom[3] = cpu_to_be32(card->guid >> 32);
102 config_rom[4] = cpu_to_be32(card->guid); 103 config_rom[4] = cpu_to_be32(card->guid);
103 104
104 /* Generate root directory. */ 105 /* Generate root directory. */
105 config_rom[6] = cpu_to_be32(0x0c0083c0); /* node capabilities */ 106 config_rom[6] = cpu_to_be32(NODE_CAPABILITIES);
106 i = 7; 107 i = 7;
107 j = 7 + descriptor_count; 108 j = 7 + descriptor_count;
108 109