tools/firewire: nosy-dump: change to kernel coding style

This changes only
  - whitespace
  - C99 initializers
  - comment style
  - order of #includes
  - if { } else { } bracing

Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
This commit is contained in:
Stefan Richter
2010-07-22 11:58:05 +02:00
parent a8461c0f3b
commit 92c16f7e9c
4 changed files with 1064 additions and 1117 deletions

View File

@@ -6,234 +6,206 @@
#define CSR_FCP_COMMAND 0xfffff0000b00ull #define CSR_FCP_COMMAND 0xfffff0000b00ull
#define CSR_FCP_RESPONSE 0xfffff0000d00ull #define CSR_FCP_RESPONSE 0xfffff0000d00ull
static const char * const ctype_names[16] = { static const char * const ctype_names[] = {
"control", [0x0] = "control", [0x8] = "not implemented",
"status", [0x1] = "status", [0x9] = "accepted",
"specific inquiry", [0x2] = "specific inquiry", [0xa] = "rejected",
"notify", [0x3] = "notify", [0xb] = "in transition",
"general inquiry", [0x4] = "general inquiry", [0xc] = "stable",
"(reserved 0x05)", [0x5] = "(reserved 0x05)", [0xd] = "changed",
"(reserved 0x06)", [0x6] = "(reserved 0x06)", [0xe] = "(reserved 0x0e)",
"(reserved 0x07)", [0x7] = "(reserved 0x07)", [0xf] = "interim",
"not implemented",
"accepted",
"rejected",
"in transition",
"stable",
"changed",
"(reserved 0x0e)",
"interim"
}; };
static const char * const subunit_type_names[32] = { static const char * const subunit_type_names[] = {
"monitor", [0x00] = "monitor", [0x10] = "(reserved 0x10)",
"audio", [0x01] = "audio", [0x11] = "(reserved 0x11)",
"printer", [0x02] = "printer", [0x12] = "(reserved 0x12)",
"disc", [0x03] = "disc", [0x13] = "(reserved 0x13)",
"tape recorder/player", [0x04] = "tape recorder/player",[0x14] = "(reserved 0x14)",
"tuner", [0x05] = "tuner", [0x15] = "(reserved 0x15)",
"ca", [0x06] = "ca", [0x16] = "(reserved 0x16)",
"camera", [0x07] = "camera", [0x17] = "(reserved 0x17)",
"(reserved 0x08)", [0x08] = "(reserved 0x08)", [0x18] = "(reserved 0x18)",
"panel", [0x09] = "panel", [0x19] = "(reserved 0x19)",
"bulletin board", [0x0a] = "bulletin board", [0x1a] = "(reserved 0x1a)",
"camera storage", [0x0b] = "camera storage", [0x1b] = "(reserved 0x1b)",
"(reserved 0x0c)", [0x0c] = "(reserved 0x0c)", [0x1c] = "vendor unique",
"(reserved 0x0d)", [0x0d] = "(reserved 0x0d)", [0x1d] = "all subunit types",
"(reserved 0x0e)", [0x0e] = "(reserved 0x0e)", [0x1e] = "subunit_type extended to next byte",
"(reserved 0x0f)", [0x0f] = "(reserved 0x0f)", [0x1f] = "unit",
"(reserved 0x10)",
"(reserved 0x11)",
"(reserved 0x12)",
"(reserved 0x13)",
"(reserved 0x14)",
"(reserved 0x15)",
"(reserved 0x16)",
"(reserved 0x17)",
"(reserved 0x18)",
"(reserved 0x19)",
"(reserved 0x1a)",
"(reserved 0x1b)",
"vendor unique",
"all subunit types",
"subunit_type extended to next byte",
"unit"
}; };
struct avc_enum { struct avc_enum {
int value; int value;
const char *name; const char *name;
}; };
struct avc_field { struct avc_field {
const char *name; /* Short name for field. */ const char *name; /* Short name for field. */
int offset; /* Location of field, specified in bits. int offset; /* Location of field, specified in bits; */
* Negative means from end of packet */ /* negative means from end of packet. */
int width; /* Width of field, 0 means use data_length. */ int width; /* Width of field, 0 means use data_length. */
struct avc_enum *names; struct avc_enum *names;
}; };
struct avc_opcode_info { struct avc_opcode_info {
const char *name; const char *name;
struct avc_field fields[8]; struct avc_field fields[8];
}; };
struct avc_enum power_field_names[] = { struct avc_enum power_field_names[] = {
{ 0x70, "on" }, { 0x70, "on" },
{ 0x60, "off" }, { 0x60, "off" },
{ } { }
}; };
static const struct avc_opcode_info opcode_info[256] = { static const struct avc_opcode_info opcode_info[256] = {
/* TA Document 1999026 /* TA Document 1999026 */
* AV/C Digital Interface Command Set General Specification /* AV/C Digital Interface Command Set General Specification 4.0 */
* Version 4.0 */ [0xb2] = { "power", {
[0xb2] = { "state", 0, 8, power_field_names }
{ "power", { }
{ "state", 0, 8, power_field_names } },
} [0x30] = { "unit info", {
}, { "foo", 0, 8 },
[0x30] = { "unit_type", 8, 5 },
{ "unit info", { { "unit", 13, 3 },
{ "foo", 0, 8 }, { "company id", 16, 24 },
{ "unit_type", 8, 5 }, }
{ "unit", 13, 3 }, },
{ "company id", 16, 24 }, [0x31] = { "subunit info" },
} [0x01] = { "reserve" },
}, [0xb0] = { "version" },
[0x31] = { "subunit info" }, [0x00] = { "vendor dependent" },
[0x01] = { "reserve" }, [0x02] = { "plug info" },
[0xb0] = { "version" }, [0x12] = { "channel usage" },
[0x00] = { "vendor dependent" }, [0x24] = { "connect" },
[0x20] = { "connect av" },
[0x22] = { "connections" },
[0x11] = { "digital input" },
[0x10] = { "digital output" },
[0x25] = { "disconnect" },
[0x21] = { "disconnect av" },
[0x19] = { "input plug signal format" },
[0x18] = { "output plug signal format" },
[0x1f] = { "general bus setup" },
[0x02] = { "plug info" }, /* TA Document 1999025 */
[0x12] = { "channel usage" }, /* AV/C Descriptor Mechanism Specification Version 1.0 */
[0x24] = { "connect" }, [0x0c] = { "create descriptor" },
[0x20] = { "connect av" }, [0x08] = { "open descriptor" },
[0x22] = { "connections" }, [0x09] = { "read descriptor" },
[0x11] = { "digital input" }, [0x0a] = { "write descriptor" },
[0x10] = { "digital output" }, [0x05] = { "open info block" },
[0x25] = { "disconnect" }, [0x06] = { "read info block" },
[0x21] = { "disconnect av" }, [0x07] = { "write info block" },
[0x19] = { "input plug signal format" }, [0x0b] = { "search descriptor" },
[0x18] = { "output plug signal format" }, [0x0d] = { "object number select" },
[0x1f] = { "general bus setup" },
/* TA Document 1999025 /* TA Document 1999015 */
* AV/C Descriptor Mechanism Specification Version 1.0 */ /* AV/C Command Set for Rate Control of Isochronous Data Flow 1.0 */
[0x0c] = { "create descriptor" }, [0xb3] = { "rate", {
[0x08] = { "open descriptor" }, { "subfunction", 0, 8 },
[0x09] = { "read descriptor" }, { "result", 8, 8 },
[0x0a] = { "write descriptor" }, { "plug_type", 16, 8 },
[0x05] = { "open info block" }, { "plug_id", 16, 8 },
[0x06] = { "read info block" }, }
[0x07] = { "write info block" }, },
[0x0b] = { "search descriptor" },
[0x0d] = { "object number select" },
/* TA Document 1999015 /* TA Document 1999008 */
* AV/C Command Set for Rate Control of Isochronous Data Flow 1.0 */ /* AV/C Audio Subunit Specification 1.0 */
[0xb3] = { "rate", { [0xb8] = { "function block" },
{ "subfunction", 0, 8 },
{ "result", 8, 8 },
{ "plug_type", 16, 8 },
{ "plug_id", 16, 8 },
}
},
/* TA Document 1999008 /* TA Document 2001001 */
* AV/C Audio Subunit Specification 1.0 */ /* AV/C Panel Subunit Specification 1.1 */
[0xb8] = { "function block" }, [0x7d] = { "gui update" },
[0x7e] = { "push gui data" },
[0x7f] = { "user action" },
[0x7c] = { "pass through" },
/* TA Document 2001001 /* */
* AV/C Panel Subunit Specification 1.1 */ [0x26] = { "asynchronous connection" },
[0x7d] = { "gui update" },
[0x7e] = { "push gui data" },
[0x7f] = { "user action" },
[0x7c] = { "pass through" },
/* */
[0x26] = { "asynchronous connection" },
}; };
struct avc_frame { struct avc_frame {
uint32_t operand0:8; uint32_t operand0:8;
uint32_t opcode:8; uint32_t opcode:8;
uint32_t subunit_id:3; uint32_t subunit_id:3;
uint32_t subunit_type:5; uint32_t subunit_type:5;
uint32_t ctype:4; uint32_t ctype:4;
uint32_t cts:4; uint32_t cts:4;
}; };
static void static void
decode_avc(struct link_transaction *t) decode_avc(struct link_transaction *t)
{ {
struct avc_frame *frame = (struct avc_frame *) t->request->packet.write_block.data; struct avc_frame *frame =
const struct avc_opcode_info *info; (struct avc_frame *) t->request->packet.write_block.data;
const char *name; const struct avc_opcode_info *info;
char buffer[32]; const char *name;
int i; char buffer[32];
int i;
info = &opcode_info[frame->opcode]; info = &opcode_info[frame->opcode];
if (info->name == NULL) { if (info->name == NULL) {
snprintf(buffer, sizeof buffer, "(unknown opcode 0x%02x)", frame->opcode); snprintf(buffer, sizeof(buffer),
name = buffer; "(unknown opcode 0x%02x)", frame->opcode);
} else { name = buffer;
name = info->name; } else {
} name = info->name;
}
printf("av/c %s, subunit_type=%s, subunit_id=%d, opcode=%s", printf("av/c %s, subunit_type=%s, subunit_id=%d, opcode=%s",
ctype_names[frame->ctype], subunit_type_names[frame->subunit_type], ctype_names[frame->ctype], subunit_type_names[frame->subunit_type],
frame->subunit_id, name); frame->subunit_id, name);
for (i = 0; info->fields[i].name != NULL; i++) { for (i = 0; info->fields[i].name != NULL; i++)
printf(", %s", info->fields[i].name); printf(", %s", info->fields[i].name);
}
printf("\n"); printf("\n");
} }
int int
decode_fcp(struct link_transaction *t) decode_fcp(struct link_transaction *t)
{ {
struct avc_frame *frame = (struct avc_frame *) t->request->packet.write_block.data; struct avc_frame *frame =
unsigned long long offset; (struct avc_frame *) t->request->packet.write_block.data;
unsigned long long offset =
((unsigned long long) t->request->packet.common.offset_high << 32) |
t->request->packet.common.offset_low;
offset = ((unsigned long long) t->request->packet.common.offset_high << 32) | if (t->request->packet.common.tcode != TCODE_WRITE_BLOCK)
t->request->packet.common.offset_low; return 0;
if (t->request->packet.common.tcode != TCODE_WRITE_BLOCK) if (offset == CSR_FCP_COMMAND || offset == CSR_FCP_RESPONSE) {
return 0; switch (frame->cts) {
case 0x00:
if (offset == CSR_FCP_COMMAND || offset == CSR_FCP_RESPONSE) { decode_avc(t);
switch (frame->cts) { break;
case 0x00: case 0x01:
decode_avc(t); printf("cal fcp frame (cts=0x01)\n");
break; break;
case 0x01: case 0x02:
printf("cal fcp frame (cts=0x01)\n"); printf("ehs fcp frame (cts=0x02)\n");
break; break;
case 0x02: case 0x03:
printf("ehs fcp frame (cts=0x02)\n"); printf("havi fcp frame (cts=0x03)\n");
break; break;
case 0x03: case 0x0e:
printf("havi fcp frame (cts=0x03)\n"); printf("vendor specific fcp frame (cts=0x0e)\n");
break; break;
case 0x0e: case 0x0f:
printf("vendor specific fcp frame (cts=0x0e)\n"); printf("extended cts\n");
break; break;
case 0x0f: default:
printf("extended cts\n"); printf("reserved fcp frame (ctx=0x%02x)\n", frame->cts);
break; break;
default: }
printf("reserved fcp frame (ctx=0x%02x)\n", frame->cts); return 1;
break;
} }
return 1;
}
return 0; return 0;
} }

View File

@@ -1,46 +1,46 @@
struct list { struct list {
struct list *next, *prev; struct list *next, *prev;
}; };
static inline void static inline void
list_init(struct list *list) list_init(struct list *list)
{ {
list->next = list; list->next = list;
list->prev = list; list->prev = list;
} }
static inline int static inline int
list_empty(struct list *list) list_empty(struct list *list)
{ {
return list->next == list; return list->next == list;
} }
static inline void static inline void
list_insert(struct list *link, struct list *new_link) list_insert(struct list *link, struct list *new_link)
{ {
new_link->prev = link->prev; new_link->prev = link->prev;
new_link->next = link; new_link->next = link;
new_link->prev->next = new_link; new_link->prev->next = new_link;
new_link->next->prev = new_link; new_link->next->prev = new_link;
} }
static inline void static inline void
list_append(struct list *list, struct list *new_link) list_append(struct list *list, struct list *new_link)
{ {
list_insert((struct list *)list, new_link); list_insert((struct list *)list, new_link);
} }
static inline void static inline void
list_prepend(struct list *list, struct list *new_link) list_prepend(struct list *list, struct list *new_link)
{ {
list_insert(list->next, new_link); list_insert(list->next, new_link);
} }
static inline void static inline void
list_remove(struct list *link) list_remove(struct list *link)
{ {
link->prev->next = link->next; link->prev->next = link->next;
link->next->prev = link->prev; link->next->prev = link->prev;
} }
#define list_entry(link, type, member) \ #define list_entry(link, type, member) \

File diff suppressed because it is too large Load Diff

View File

@@ -36,60 +36,60 @@
#include <stdint.h> #include <stdint.h>
struct phy_packet { struct phy_packet {
uint32_t timestamp; uint32_t timestamp;
union { union {
struct { struct {
uint32_t zero:24; uint32_t zero:24;
uint32_t phy_id:6; uint32_t phy_id:6;
uint32_t identifier:2; uint32_t identifier:2;
} common, link_on; } common, link_on;
struct { struct {
uint32_t zero:16; uint32_t zero:16;
uint32_t gap_count:6; uint32_t gap_count:6;
uint32_t set_gap_count:1; uint32_t set_gap_count:1;
uint32_t set_root:1; uint32_t set_root:1;
uint32_t root_id:6; uint32_t root_id:6;
uint32_t identifier:2; uint32_t identifier:2;
} phy_config; } phy_config;
struct { struct {
uint32_t more_packets:1; uint32_t more_packets:1;
uint32_t initiated_reset:1; uint32_t initiated_reset:1;
uint32_t port2:2; uint32_t port2:2;
uint32_t port1:2; uint32_t port1:2;
uint32_t port0:2; uint32_t port0:2;
uint32_t power_class:3; uint32_t power_class:3;
uint32_t contender:1; uint32_t contender:1;
uint32_t phy_delay:2; uint32_t phy_delay:2;
uint32_t phy_speed:2; uint32_t phy_speed:2;
uint32_t gap_count:6; uint32_t gap_count:6;
uint32_t link_active:1; uint32_t link_active:1;
uint32_t extended:1; uint32_t extended:1;
uint32_t phy_id:6; uint32_t phy_id:6;
uint32_t identifier:2; uint32_t identifier:2;
} self_id; } self_id;
struct { struct {
uint32_t more_packets:1; uint32_t more_packets:1;
uint32_t reserved1:1; uint32_t reserved1:1;
uint32_t porth:2; uint32_t porth:2;
uint32_t portg:2; uint32_t portg:2;
uint32_t portf:2; uint32_t portf:2;
uint32_t porte:2; uint32_t porte:2;
uint32_t portd:2; uint32_t portd:2;
uint32_t portc:2; uint32_t portc:2;
uint32_t portb:2; uint32_t portb:2;
uint32_t porta:2; uint32_t porta:2;
uint32_t reserved0:2; uint32_t reserved0:2;
uint32_t sequence:3; uint32_t sequence:3;
uint32_t extended:1; uint32_t extended:1;
uint32_t phy_id:6; uint32_t phy_id:6;
uint32_t identifier:2; uint32_t identifier:2;
} ext_self_id; } ext_self_id;
}; };
uint32_t inverted; uint32_t inverted;
uint32_t ack; uint32_t ack;
}; };
#define PHY_PACKET_CONFIGURATION 0x00 #define PHY_PACKET_CONFIGURATION 0x00
@@ -97,98 +97,98 @@ struct phy_packet {
#define PHY_PACKET_SELF_ID 0x02 #define PHY_PACKET_SELF_ID 0x02
struct link_packet { struct link_packet {
uint32_t timestamp; uint32_t timestamp;
union { union {
struct { struct {
uint32_t priority:4; uint32_t priority:4;
uint32_t tcode:4; uint32_t tcode:4;
uint32_t rt:2; uint32_t rt:2;
uint32_t tlabel:6; uint32_t tlabel:6;
uint32_t destination:16; uint32_t destination:16;
uint32_t offset_high:16; uint32_t offset_high:16;
uint32_t source:16; uint32_t source:16;
uint32_t offset_low; uint32_t offset_low;
} common; } common;
struct { struct {
uint32_t common[3]; uint32_t common[3];
uint32_t crc; uint32_t crc;
} read_quadlet; } read_quadlet;
struct { struct {
uint32_t common[3]; uint32_t common[3];
uint32_t data; uint32_t data;
uint32_t crc; uint32_t crc;
} read_quadlet_response; } read_quadlet_response;
struct { struct {
uint32_t common[3]; uint32_t common[3];
uint32_t extended_tcode:16; uint32_t extended_tcode:16;
uint32_t data_length:16; uint32_t data_length:16;
uint32_t crc; uint32_t crc;
} read_block; } read_block;
struct { struct {
uint32_t common[3]; uint32_t common[3];
uint32_t extended_tcode:16; uint32_t extended_tcode:16;
uint32_t data_length:16; uint32_t data_length:16;
uint32_t crc; uint32_t crc;
uint32_t data[0]; uint32_t data[0];
/* crc and ack follows. */ /* crc and ack follows. */
} read_block_response; } read_block_response;
struct { struct {
uint32_t common[3]; uint32_t common[3];
uint32_t data; uint32_t data;
uint32_t crc; uint32_t crc;
} write_quadlet; } write_quadlet;
struct { struct {
uint32_t common[3]; uint32_t common[3];
uint32_t extended_tcode:16; uint32_t extended_tcode:16;
uint32_t data_length:16; uint32_t data_length:16;
uint32_t crc; uint32_t crc;
uint32_t data[0]; uint32_t data[0];
/* crc and ack follows. */ /* crc and ack follows. */
} write_block; } write_block;
struct { struct {
uint32_t common[3]; uint32_t common[3];
uint32_t crc; uint32_t crc;
} write_response; } write_response;
struct { struct {
uint32_t common[3]; uint32_t common[3];
uint32_t data; uint32_t data;
uint32_t crc; uint32_t crc;
} cycle_start; } cycle_start;
struct { struct {
uint32_t sy:4; uint32_t sy:4;
uint32_t tcode:4; uint32_t tcode:4;
uint32_t channel:6; uint32_t channel:6;
uint32_t tag:2; uint32_t tag:2;
uint32_t data_length:16; uint32_t data_length:16;
uint32_t crc; uint32_t crc;
} iso_data; } iso_data;
}; };
}; };
struct subaction { struct subaction {
uint32_t ack; uint32_t ack;
size_t length; size_t length;
struct list link; struct list link;
struct link_packet packet; struct link_packet packet;
}; };
struct link_transaction { struct link_transaction {
int request_node, response_node, tlabel; int request_node, response_node, tlabel;
struct subaction *request, *response; struct subaction *request, *response;
struct list request_list, response_list; struct list request_list, response_list;
struct list link; struct list link;
}; };
int decode_fcp(struct link_transaction *t); int decode_fcp(struct link_transaction *t);