summaryrefslogtreecommitdiffstats
path: root/drivers/net
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net')
-rw-r--r--drivers/net/at91_ether.c1
-rw-r--r--drivers/net/cs8900.c1
-rw-r--r--drivers/net/dm9000.c1
-rw-r--r--drivers/net/fec_imx.c1
-rw-r--r--drivers/net/fec_mpc5200.c1
-rw-r--r--drivers/net/macb.c1
-rw-r--r--drivers/net/miiphy.c27
-rw-r--r--drivers/net/netx_eth.c1
-rw-r--r--drivers/net/smc911x.c1
-rw-r--r--drivers/net/tap.c1
-rw-r--r--drivers/net/usb/asix.c36
-rw-r--r--drivers/net/usb/usbnet.c25
12 files changed, 47 insertions, 50 deletions
diff --git a/drivers/net/at91_ether.c b/drivers/net/at91_ether.c
index 72660481ed..a2d15948f3 100644
--- a/drivers/net/at91_ether.c
+++ b/drivers/net/at91_ether.c
@@ -265,7 +265,6 @@ static int at91rm9200_eth_init (struct device_d *dev)
edev = malloc(sizeof(struct eth_device));
dev->priv = edev;
- edev->dev = dev;
edev->open = at91rm9200_eth_open;
edev->send = at91rm9200_eth_send;
diff --git a/drivers/net/cs8900.c b/drivers/net/cs8900.c
index 544526216c..32566cdb30 100644
--- a/drivers/net/cs8900.c
+++ b/drivers/net/cs8900.c
@@ -450,7 +450,6 @@ static int cs8900_probe(struct device_d *dev)
edev = (struct eth_device *)malloc(sizeof(struct eth_device));
dev->type_data = edev;
edev->priv = priv;
- edev->dev = dev;
edev->init = cs8900_dev_init;
edev->open = cs8900_open;
diff --git a/drivers/net/dm9000.c b/drivers/net/dm9000.c
index 081be22f56..b8ad98d1da 100644
--- a/drivers/net/dm9000.c
+++ b/drivers/net/dm9000.c
@@ -480,7 +480,6 @@ static int dm9000_probe(struct device_d *dev)
edev = xzalloc(sizeof(struct eth_device) + sizeof(struct dm9000_priv));
dev->type_data = edev;
- edev->dev = dev;
edev->priv = (struct dm9000_priv *)(edev + 1);
if (!dev->platform_data) {
diff --git a/drivers/net/fec_imx.c b/drivers/net/fec_imx.c
index ab405e73ae..ace6d05523 100644
--- a/drivers/net/fec_imx.c
+++ b/drivers/net/fec_imx.c
@@ -538,7 +538,6 @@ static int fec_probe(struct device_d *dev)
dev->type_data = edev;
fec = (struct fec_priv *)malloc(sizeof(*fec));
edev->priv = fec;
- edev->dev = dev;
edev->open = fec_open,
edev->init = fec_init,
edev->send = fec_send,
diff --git a/drivers/net/fec_mpc5200.c b/drivers/net/fec_mpc5200.c
index b37a8576c8..a942631ebe 100644
--- a/drivers/net/fec_mpc5200.c
+++ b/drivers/net/fec_mpc5200.c
@@ -676,7 +676,6 @@ int mpc5xxx_fec_probe(struct device_d *dev)
dev->type_data = edev;
fec = (mpc5xxx_fec_priv *)malloc(sizeof(*fec));
edev->priv = fec;
- edev->dev = dev;
edev->open = mpc5xxx_fec_open,
edev->init = mpc5xxx_fec_init,
edev->send = mpc5xxx_fec_send,
diff --git a/drivers/net/macb.c b/drivers/net/macb.c
index 1ca002089b..499c77e2c0 100644
--- a/drivers/net/macb.c
+++ b/drivers/net/macb.c
@@ -421,7 +421,6 @@ static int macb_probe(struct device_d *dev)
edev = xzalloc(sizeof(struct eth_device) + sizeof(struct macb_device));
dev->type_data = edev;
- edev->dev = dev;
edev->priv = (struct macb_device *)(edev + 1);
macb = edev->priv;
diff --git a/drivers/net/miiphy.c b/drivers/net/miiphy.c
index b4e6756a93..30f235390b 100644
--- a/drivers/net/miiphy.c
+++ b/drivers/net/miiphy.c
@@ -26,6 +26,7 @@
#include <miiphy.h>
#include <clock.h>
#include <net.h>
+#include <malloc.h>
int miiphy_restart_aneg(struct miiphy_device *mdev)
{
@@ -175,10 +176,8 @@ static struct file_operations miiphy_ops = {
static int miiphy_probe(struct device_d *dev)
{
struct miiphy_device *mdev = dev->priv;
- char name[MAX_DRIVER_NAME];
- get_free_deviceid(name, "phy");
- mdev->cdev.name = strdup(name);
+ mdev->cdev.name = asprintf("phy%d", dev->id);
mdev->cdev.size = 32;
mdev->cdev.ops = &miiphy_ops;
mdev->cdev.priv = mdev;
@@ -186,19 +185,33 @@ static int miiphy_probe(struct device_d *dev)
return 0;
}
-int miiphy_register(struct miiphy_device *mdev)
+static void miiphy_remove(struct device_d *dev)
{
- mdev->dev.priv = mdev;
- strcpy(mdev->dev.name, "miiphy");
+ struct miiphy_device *mdev = dev->priv;
- return register_device(&mdev->dev);
+ free(mdev->cdev.name);
+ devfs_remove(&mdev->cdev);
}
static struct driver_d miiphy_drv = {
.name = "miiphy",
.probe = miiphy_probe,
+ .remove = miiphy_remove,
};
+int miiphy_register(struct miiphy_device *mdev)
+{
+ mdev->dev.priv = mdev;
+ strcpy(mdev->dev.name, "miiphy");
+
+ return register_device(&mdev->dev);
+}
+
+void miiphy_unregister(struct miiphy_device *mdev)
+{
+ unregister_device(&mdev->dev);
+}
+
static int miiphy_init(void)
{
register_driver(&miiphy_drv);
diff --git a/drivers/net/netx_eth.c b/drivers/net/netx_eth.c
index 69b05179d3..6c52fb790c 100644
--- a/drivers/net/netx_eth.c
+++ b/drivers/net/netx_eth.c
@@ -246,7 +246,6 @@ static int netx_eth_probe(struct device_d *dev)
edev = xzalloc(sizeof(struct eth_device) + sizeof(struct netx_eth_priv));
dev->type_data = edev;
- edev->dev = dev;
edev->priv = (struct netx_priv *)(edev + 1);
priv = edev->priv;
diff --git a/drivers/net/smc911x.c b/drivers/net/smc911x.c
index 991e231d01..4a5e7b614c 100644
--- a/drivers/net/smc911x.c
+++ b/drivers/net/smc911x.c
@@ -717,7 +717,6 @@ static int smc911x_probe(struct device_d *dev)
edev = xzalloc(sizeof(struct eth_device) +
sizeof(struct smc911x_priv));
dev->type_data = edev;
- edev->dev = dev;
edev->priv = (struct smc911x_priv *)(edev + 1);
priv = edev->priv;
diff --git a/drivers/net/tap.c b/drivers/net/tap.c
index 2bd1643876..74e6ab3844 100644
--- a/drivers/net/tap.c
+++ b/drivers/net/tap.c
@@ -89,7 +89,6 @@ int tap_probe(struct device_d *dev)
edev = malloc(sizeof(struct eth_device));
dev->type_data = edev;
- edev->dev = dev;
edev->priv = priv;
edev->init = tap_eth_open;
diff --git a/drivers/net/usb/asix.c b/drivers/net/usb/asix.c
index b5acb0c2ac..e44ce67b6e 100644
--- a/drivers/net/usb/asix.c
+++ b/drivers/net/usb/asix.c
@@ -154,7 +154,7 @@ static int asix_read_cmd(struct usbnet *dev, u8 cmd, u16 value, u16 index,
void *buf;
int err = -ENOMEM;
- dev_dbg(dev->edev.dev, "asix_read_cmd() cmd=0x%02x value=0x%04x index=0x%04x size=%d",
+ dev_dbg(&dev->edev.dev, "asix_read_cmd() cmd=0x%02x value=0x%04x index=0x%04x size=%d",
cmd, value, index, size);
buf = malloc(size);
@@ -187,7 +187,7 @@ static int asix_write_cmd(struct usbnet *dev, u8 cmd, u16 value, u16 index,
void *buf = NULL;
int err = -ENOMEM;
- dev_dbg(dev->edev.dev, "asix_write_cmd() cmd=0x%02x value=0x%04x index=0x%04x size=%d",
+ dev_dbg(&dev->edev.dev, "asix_write_cmd() cmd=0x%02x value=0x%04x index=0x%04x size=%d",
cmd, value, index, size);
if (data) {
@@ -218,7 +218,7 @@ static inline int asix_set_sw_mii(struct usbnet *dev)
int ret;
ret = asix_write_cmd(dev, AX_CMD_SET_SW_MII, 0x0000, 0, 0, NULL);
if (ret < 0)
- dev_err(dev->edev.dev, "Failed to enable software MII access");
+ dev_err(&dev->edev.dev, "Failed to enable software MII access");
return ret;
}
@@ -227,7 +227,7 @@ static inline int asix_set_hw_mii(struct usbnet *dev)
int ret;
ret = asix_write_cmd(dev, AX_CMD_SET_HW_MII, 0x0000, 0, 0, NULL);
if (ret < 0)
- dev_err(dev->edev.dev, "Failed to enable hardware MII access");
+ dev_err(&dev->edev.dev, "Failed to enable hardware MII access");
return ret;
}
@@ -243,7 +243,7 @@ static int asix_mdio_read(struct miiphy_device *mdev, uint8_t phy_id,
(__u16)loc, 2, &res);
asix_set_hw_mii(dev);
- dev_dbg(dev->edev.dev, "asix_mdio_read() phy_id=0x%02x, loc=0x%02x, returns=0x%04x",
+ dev_dbg(&dev->edev.dev, "asix_mdio_read() phy_id=0x%02x, loc=0x%02x, returns=0x%04x",
phy_id, loc, le16_to_cpu(res));
*val = le16_to_cpu(res);
@@ -258,7 +258,7 @@ static int asix_mdio_write(struct miiphy_device *mdev, uint8_t phy_id,
struct usbnet *dev = eth->priv;
__le16 res = cpu_to_le16(val);
- dev_dbg(dev->edev.dev, "asix_mdio_write() phy_id=0x%02x, loc=0x%02x, val=0x%04x",
+ dev_dbg(&dev->edev.dev, "asix_mdio_write() phy_id=0x%02x, loc=0x%02x, val=0x%04x",
phy_id, loc, val);
asix_set_sw_mii(dev);
@@ -273,13 +273,13 @@ static inline int asix_get_phy_addr(struct usbnet *dev)
u8 buf[2];
int ret = asix_read_cmd(dev, AX_CMD_READ_PHY_ID, 0, 0, 2, buf);
- dev_dbg(dev->edev.dev, "asix_get_phy_addr()");
+ dev_dbg(&dev->edev.dev, "asix_get_phy_addr()");
if (ret < 0) {
- dev_err(dev->edev.dev, "Error reading PHYID register: %02x", ret);
+ dev_err(&dev->edev.dev, "Error reading PHYID register: %02x", ret);
goto out;
}
- dev_dbg(dev->edev.dev, "asix_get_phy_addr() returning 0x%04x", *((__le16 *)buf));
+ dev_dbg(&dev->edev.dev, "asix_get_phy_addr() returning 0x%04x", *((__le16 *)buf));
ret = buf[1];
out:
@@ -292,7 +292,7 @@ static int asix_sw_reset(struct usbnet *dev, u8 flags)
ret = asix_write_cmd(dev, AX_CMD_SW_RESET, flags, 0, 0, NULL);
if (ret < 0)
- dev_err(dev->edev.dev, "Failed to send software reset: %02x", ret);
+ dev_err(&dev->edev.dev, "Failed to send software reset: %02x", ret);
return ret;
}
@@ -303,7 +303,7 @@ static u16 asix_read_rx_ctl(struct usbnet *dev)
int ret = asix_read_cmd(dev, AX_CMD_READ_RX_CTL, 0, 0, 2, &v);
if (ret < 0) {
- dev_err(dev->edev.dev, "Error reading RX_CTL register: %02x", ret);
+ dev_err(&dev->edev.dev, "Error reading RX_CTL register: %02x", ret);
goto out;
}
ret = le16_to_cpu(v);
@@ -315,10 +315,10 @@ static int asix_write_rx_ctl(struct usbnet *dev, u16 mode)
{
int ret;
- dev_dbg(dev->edev.dev, "asix_write_rx_ctl() - mode = 0x%04x", mode);
+ dev_dbg(&dev->edev.dev, "asix_write_rx_ctl() - mode = 0x%04x", mode);
ret = asix_write_cmd(dev, AX_CMD_WRITE_RX_CTL, mode, 0, 0, NULL);
if (ret < 0)
- dev_err(dev->edev.dev, "Failed to write RX_CTL mode to 0x%04x: %02x",
+ dev_err(&dev->edev.dev, "Failed to write RX_CTL mode to 0x%04x: %02x",
mode, ret);
return ret;
@@ -330,7 +330,7 @@ static u16 asix_read_medium_status(struct usbnet *dev)
int ret = asix_read_cmd(dev, AX_CMD_READ_MEDIUM_STATUS, 0, 0, 2, &v);
if (ret < 0) {
- dev_err(dev->edev.dev, "Error reading Medium Status register: %02x", ret);
+ dev_err(&dev->edev.dev, "Error reading Medium Status register: %02x", ret);
goto out;
}
ret = le16_to_cpu(v);
@@ -342,10 +342,10 @@ static int asix_write_medium_mode(struct usbnet *dev, u16 mode)
{
int ret;
- dev_dbg(dev->edev.dev, "asix_write_medium_mode() - mode = 0x%04x", mode);
+ dev_dbg(&dev->edev.dev, "asix_write_medium_mode() - mode = 0x%04x", mode);
ret = asix_write_cmd(dev, AX_CMD_WRITE_MEDIUM_MODE, mode, 0, 0, NULL);
if (ret < 0)
- dev_err(dev->edev.dev, "Failed to write Medium Mode mode to 0x%04x: %02x",
+ dev_err(&dev->edev.dev, "Failed to write Medium Mode mode to 0x%04x: %02x",
mode, ret);
return ret;
@@ -355,10 +355,10 @@ static int asix_write_gpio(struct usbnet *dev, u16 value, int sleep)
{
int ret;
- dev_dbg(dev->edev.dev,"asix_write_gpio() - value = 0x%04x", value);
+ dev_dbg(&dev->edev.dev,"asix_write_gpio() - value = 0x%04x", value);
ret = asix_write_cmd(dev, AX_CMD_WRITE_GPIOS, value, 0, 0, NULL);
if (ret < 0)
- dev_err(dev->edev.dev, "Failed to write GPIO value 0x%04x: %02x",
+ dev_err(&dev->edev.dev, "Failed to write GPIO value 0x%04x: %02x",
value, ret);
if (sleep)
diff --git a/drivers/net/usb/usbnet.c b/drivers/net/usb/usbnet.c
index 903ad4a6c9..123cc3b30c 100644
--- a/drivers/net/usb/usbnet.c
+++ b/drivers/net/usb/usbnet.c
@@ -112,7 +112,7 @@ static int usbnet_send(struct eth_device *edev, void *eth_data, int data_length)
tx_buffer[len++] = 0;
ret = usb_bulk_msg(dev->udev, dev->out, tx_buffer, len, &alen, 1000);
- dev_dbg(edev->dev, "%s: ret: %d len: %d alen: %d\n", __func__, ret, len, alen);
+ dev_dbg(&edev->dev, "%s: ret: %d len: %d alen: %d\n", __func__, ret, len, alen);
return ret;
}
@@ -125,7 +125,7 @@ static int usbnet_recv(struct eth_device *edev)
struct driver_info *info = dev->driver_info;
int len, ret, alen = 0;
- dev_dbg(edev->dev, "%s\n",__func__);
+ dev_dbg(&edev->dev, "%s\n",__func__);
len = dev->rx_urb_size;
@@ -149,14 +149,14 @@ static int usbnet_init(struct eth_device *edev)
struct driver_info *info = dev->driver_info;
int ret = 0;
- dev_dbg(edev->dev, "%s\n",__func__);
+ dev_dbg(&edev->dev, "%s\n",__func__);
/* put into "known safe" state */
if (info->reset)
ret = info->reset(dev);
if (ret) {
- dev_info (edev->dev, "open reset fail (%d)", ret);
+ dev_info(&edev->dev, "open reset fail (%d)", ret);
return ret;
}
@@ -169,7 +169,7 @@ static int usbnet_open(struct eth_device *edev)
{
struct usbnet *dev = (struct usbnet*)edev->priv;
- dev_dbg(edev->dev, "%s\n",__func__);
+ dev_dbg(&edev->dev, "%s\n",__func__);
if (miiphy_wait_aneg(&dev->miiphy))
return -1;
@@ -181,7 +181,7 @@ static int usbnet_open(struct eth_device *edev)
static void usbnet_halt(struct eth_device *edev)
{
- dev_dbg(edev->dev, "%s\n",__func__);
+ dev_dbg(&edev->dev, "%s\n",__func__);
}
int usbnet_probe(struct usb_device *usbdev, const struct usb_device_id *prod)
@@ -191,7 +191,7 @@ int usbnet_probe(struct usb_device *usbdev, const struct usb_device_id *prod)
struct driver_info *info;
int status;
- dev_dbg(edev->dev, "%s\n", __func__);
+ dev_dbg(&edev->dev, "%s\n", __func__);
undev = xzalloc(sizeof (*undev));
@@ -206,10 +206,6 @@ int usbnet_probe(struct usb_device *usbdev, const struct usb_device_id *prod)
edev->recv = usbnet_recv,
edev->halt = usbnet_halt,
edev->priv = undev;
- edev->dev = &undev->dev;
-
- get_free_deviceid(edev->dev->id, "eth");
- sprintf(edev->dev->name, "%s", "usbnet");
info = (struct driver_info *)prod->driver_info;
undev->driver_info = info;
@@ -224,14 +220,11 @@ int usbnet_probe(struct usb_device *usbdev, const struct usb_device_id *prod)
undev->rx_urb_size = 1514; /* FIXME: What to put here? */
undev->maxpacket = usb_maxpacket(undev->udev, undev->out);
- /* FIXME: eth layer should have the device and register it */
- register_device(edev->dev);
-
eth_register(edev);
return 0;
out1:
- dev_dbg(edev->dev, "err: %d\n", status);
+ dev_dbg(&edev->dev, "err: %d\n", status);
return status;
}
@@ -242,7 +235,7 @@ void usbnet_disconnect(struct usb_device *usbdev)
struct driver_info *info;
eth_unregister(edev);
- unregister_device(edev->dev);
+ unregister_device(&edev->dev);
info = undev->driver_info;
if (info->unbind)