diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2009-06-11 15:32:06 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2009-07-21 16:41:46 +0200 |
commit | 2f8df2a003a22e8b7397e51ac5f1796db920d579 (patch) | |
tree | f92f130a7a4522e6391174a02fdb3d82ba44e080 /net/eth.c | |
parent | 56139274fda2ce914860a978d32d79bd43099ae1 (diff) | |
download | barebox-2f8df2a003a22e8b7397e51ac5f1796db920d579.tar.gz barebox-2f8df2a003a22e8b7397e51ac5f1796db920d579.tar.xz |
add a device_d to ethernet devices
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'net/eth.c')
-rw-r--r-- | net/eth.c | 11 |
1 files changed, 8 insertions, 3 deletions
@@ -44,12 +44,14 @@ struct eth_device * eth_get_current(void) return eth_current; } -struct eth_device *eth_get_byname(char *name) +struct eth_device *eth_get_byname(char *ethname) { struct eth_device *edev; + char name[MAX_DRIVER_NAME]; list_for_each_entry(edev, &netdev_list, list) { - if (!strcmp(edev->dev->id, name)) + sprintf(name, "%s%d", edev->dev.name, edev->dev.id); + if (!strcmp(ethname, name)) return edev; } return NULL; @@ -120,7 +122,7 @@ static int eth_set_ipaddr(struct device_d *dev, struct param_d *param, const cha int eth_register(struct eth_device *edev) { - struct device_d *dev = edev->dev; + struct device_d *dev = &edev->dev; unsigned char ethaddr_str[20]; unsigned char ethaddr[6]; @@ -129,6 +131,9 @@ int eth_register(struct eth_device *edev) return -1; } + strcpy(edev->dev.name, "eth"); + register_device(&edev->dev); + dev->type_data = edev; edev->param_ip.name = "ipaddr"; edev->param_ip.set = ð_set_ipaddr; |