diff options
Diffstat (limited to 'drivers/fpga/fpga-bridge.c')
-rw-r--r-- | drivers/fpga/fpga-bridge.c | 17 |
1 files changed, 5 insertions, 12 deletions
diff --git a/drivers/fpga/fpga-bridge.c b/drivers/fpga/fpga-bridge.c index 33ee83e6373c..9651aa56244a 100644 --- a/drivers/fpga/fpga-bridge.c +++ b/drivers/fpga/fpga-bridge.c | |||
@@ -27,7 +27,7 @@ static DEFINE_IDA(fpga_bridge_ida); | |||
27 | static struct class *fpga_bridge_class; | 27 | static struct class *fpga_bridge_class; |
28 | 28 | ||
29 | /* Lock for adding/removing bridges to linked lists*/ | 29 | /* Lock for adding/removing bridges to linked lists*/ |
30 | spinlock_t bridge_list_lock; | 30 | static spinlock_t bridge_list_lock; |
31 | 31 | ||
32 | static int fpga_bridge_of_node_match(struct device *dev, const void *data) | 32 | static int fpga_bridge_of_node_match(struct device *dev, const void *data) |
33 | { | 33 | { |
@@ -146,11 +146,9 @@ EXPORT_SYMBOL_GPL(fpga_bridge_put); | |||
146 | int fpga_bridges_enable(struct list_head *bridge_list) | 146 | int fpga_bridges_enable(struct list_head *bridge_list) |
147 | { | 147 | { |
148 | struct fpga_bridge *bridge; | 148 | struct fpga_bridge *bridge; |
149 | struct list_head *node; | ||
150 | int ret; | 149 | int ret; |
151 | 150 | ||
152 | list_for_each(node, bridge_list) { | 151 | list_for_each_entry(bridge, bridge_list, node) { |
153 | bridge = list_entry(node, struct fpga_bridge, node); | ||
154 | ret = fpga_bridge_enable(bridge); | 152 | ret = fpga_bridge_enable(bridge); |
155 | if (ret) | 153 | if (ret) |
156 | return ret; | 154 | return ret; |
@@ -172,11 +170,9 @@ EXPORT_SYMBOL_GPL(fpga_bridges_enable); | |||
172 | int fpga_bridges_disable(struct list_head *bridge_list) | 170 | int fpga_bridges_disable(struct list_head *bridge_list) |
173 | { | 171 | { |
174 | struct fpga_bridge *bridge; | 172 | struct fpga_bridge *bridge; |
175 | struct list_head *node; | ||
176 | int ret; | 173 | int ret; |
177 | 174 | ||
178 | list_for_each(node, bridge_list) { | 175 | list_for_each_entry(bridge, bridge_list, node) { |
179 | bridge = list_entry(node, struct fpga_bridge, node); | ||
180 | ret = fpga_bridge_disable(bridge); | 176 | ret = fpga_bridge_disable(bridge); |
181 | if (ret) | 177 | if (ret) |
182 | return ret; | 178 | return ret; |
@@ -196,13 +192,10 @@ EXPORT_SYMBOL_GPL(fpga_bridges_disable); | |||
196 | */ | 192 | */ |
197 | void fpga_bridges_put(struct list_head *bridge_list) | 193 | void fpga_bridges_put(struct list_head *bridge_list) |
198 | { | 194 | { |
199 | struct fpga_bridge *bridge; | 195 | struct fpga_bridge *bridge, *next; |
200 | struct list_head *node, *next; | ||
201 | unsigned long flags; | 196 | unsigned long flags; |
202 | 197 | ||
203 | list_for_each_safe(node, next, bridge_list) { | 198 | list_for_each_entry_safe(bridge, next, bridge_list, node) { |
204 | bridge = list_entry(node, struct fpga_bridge, node); | ||
205 | |||
206 | fpga_bridge_put(bridge); | 199 | fpga_bridge_put(bridge); |
207 | 200 | ||
208 | spin_lock_irqsave(&bridge_list_lock, flags); | 201 | spin_lock_irqsave(&bridge_list_lock, flags); |