Lines Matching refs:dev

47 void eth_set_dev(struct eth_device *dev)  in eth_set_dev()  argument
49 eth_current = dev; in eth_set_dev()
54 struct eth_device *dev, *target_dev; in eth_get_dev_by_name() local
61 dev = eth_devices; in eth_get_dev_by_name()
64 if (strcmp(devname, dev->name) == 0) { in eth_get_dev_by_name()
65 target_dev = dev; in eth_get_dev_by_name()
68 dev = dev->next; in eth_get_dev_by_name()
69 } while (dev != eth_devices); in eth_get_dev_by_name()
76 struct eth_device *dev, *target_dev; in eth_get_dev_by_index() local
81 dev = eth_devices; in eth_get_dev_by_index()
84 if (dev->index == index) { in eth_get_dev_by_index()
85 target_dev = dev; in eth_get_dev_by_index()
88 dev = dev->next; in eth_get_dev_by_index()
89 } while (dev != eth_devices); in eth_get_dev_by_index()
106 struct eth_device *dev; in on_ethaddr() local
114 dev = eth_devices; in on_ethaddr()
116 if (dev->index == index) { in on_ethaddr()
120 eth_parse_enetaddr(value, dev->enetaddr); in on_ethaddr()
121 eth_write_hwaddr(dev, "eth", dev->index); in on_ethaddr()
124 memset(dev->enetaddr, 0, ARP_HLEN); in on_ethaddr()
127 dev = dev->next; in on_ethaddr()
128 } while (dev != eth_devices); in on_ethaddr()
134 int eth_write_hwaddr(struct eth_device *dev, const char *base_name, in eth_write_hwaddr() argument
143 if (!is_zero_ethaddr(dev->enetaddr) && in eth_write_hwaddr()
144 memcmp(dev->enetaddr, env_enetaddr, ARP_HLEN)) { in eth_write_hwaddr()
146 dev->name); in eth_write_hwaddr()
148 dev->enetaddr); in eth_write_hwaddr()
153 memcpy(dev->enetaddr, env_enetaddr, ARP_HLEN); in eth_write_hwaddr()
154 } else if (is_valid_ethaddr(dev->enetaddr)) { in eth_write_hwaddr()
156 dev->enetaddr); in eth_write_hwaddr()
157 } else if (is_zero_ethaddr(dev->enetaddr)) { in eth_write_hwaddr()
159 net_random_ethaddr(dev->enetaddr); in eth_write_hwaddr()
161 dev->name, eth_number, dev->enetaddr); in eth_write_hwaddr()
164 dev->name); in eth_write_hwaddr()
169 if (dev->write_hwaddr && !eth_mac_skip(eth_number)) { in eth_write_hwaddr()
170 if (!is_valid_ethaddr(dev->enetaddr)) { in eth_write_hwaddr()
172 dev->name, dev->enetaddr); in eth_write_hwaddr()
176 ret = dev->write_hwaddr(dev); in eth_write_hwaddr()
179 dev->name); in eth_write_hwaddr()
185 int eth_register(struct eth_device *dev) in eth_register() argument
190 assert(strlen(dev->name) < sizeof(dev->name)); in eth_register()
193 eth_devices = dev; in eth_register()
194 eth_current = dev; in eth_register()
199 d->next = dev; in eth_register()
202 dev->state = ETH_STATE_INIT; in eth_register()
203 dev->next = eth_devices; in eth_register()
204 dev->index = index++; in eth_register()
209 int eth_unregister(struct eth_device *dev) in eth_unregister() argument
217 for (cur = eth_devices; cur->next != eth_devices && cur->next != dev; in eth_unregister()
222 if (cur->next != dev) in eth_unregister()
225 cur->next = dev->next; in eth_unregister()
227 if (eth_devices == dev) in eth_unregister()
228 eth_devices = dev->next == eth_devices ? NULL : dev->next; in eth_unregister()
230 if (eth_current == dev) { in eth_unregister()
263 struct eth_device *dev = eth_devices; in eth_initialize() local
268 if (dev->index) in eth_initialize()
271 printf("%s", dev->name); in eth_initialize()
273 if (ethprime && strcmp(dev->name, ethprime) == 0) { in eth_initialize()
274 eth_current = dev; in eth_initialize()
278 if (strchr(dev->name, ' ')) in eth_initialize()
282 eth_write_hwaddr(dev, "eth", dev->index); in eth_initialize()
284 dev = dev->next; in eth_initialize()
286 } while (dev != eth_devices); in eth_initialize()
377 int eth_is_active(struct eth_device *dev) in eth_is_active() argument
379 return dev && dev->state == ETH_STATE_ACTIVE; in eth_is_active()