aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
authorStefan Richter <stefanr@s5r6.in-berlin.de>2009-06-14 05:45:27 -0400
committerStefan Richter <stefanr@s5r6.in-berlin.de>2009-06-14 08:26:29 -0400
commit5a124d382ea5c97be43c779e4f481455e0287654 (patch)
treed77069fe1456932f4ce2872dc6b1f963cb8662c5 /include/linux
parentf91e3bd842ec6f5cea245993926ee8ff26250467 (diff)
firewire: net: allow for unordered unit discovery
Decouple the creation and destruction of the net_device from the order of discovery and removal of nodes with RFC 2734 unit directories since there is no reliable order. The net_device is now created when the first RFC 2734 unit on a card is discovered, and destroyed when the last RFC 2734 unit on a card went away. This includes all remote units as well as the local unit, which is therefore tracked as a peer now too. Also, locking around the list of peers is slightly extended to guard against peer removal. As a side effect, fwnet_peer.pdg_lock has become superfluous and is deleted. Peer data (max_rec, speed, node ID, generation) are updated more carefully. Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/firewire.h4
1 files changed, 0 insertions, 4 deletions
diff --git a/include/linux/firewire.h b/include/linux/firewire.h
index 5cb0c1549ff1..9823946adbc5 100644
--- a/include/linux/firewire.h
+++ b/include/linux/firewire.h
@@ -131,10 +131,6 @@ struct fw_card {
131 bool broadcast_channel_allocated; 131 bool broadcast_channel_allocated;
132 u32 broadcast_channel; 132 u32 broadcast_channel;
133 u32 topology_map[(CSR_TOPOLOGY_MAP_END - CSR_TOPOLOGY_MAP) / 4]; 133 u32 topology_map[(CSR_TOPOLOGY_MAP_END - CSR_TOPOLOGY_MAP) / 4];
134
135 /* firewire-net driver data */
136 void *netdev;
137 struct list_head peer_list;
138}; 134};
139 135
140static inline struct fw_card *fw_card_get(struct fw_card *card) 136static inline struct fw_card *fw_card_get(struct fw_card *card)