summaryrefslogtreecommitdiffstats
path: root/drivers/net
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2009-02-21 01:26:16 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2009-03-19 12:21:35 +0100
commit8e7f17e658616cd83d5bddb1f59f10d9d889b094 (patch)
treea3273d97450266904c7e06aa503e4f0768eab941 /drivers/net
parent3fdcf5b6c855bbd870e60ac4ba7551650f87baf3 (diff)
downloadbarebox-8e7f17e658616cd83d5bddb1f59f10d9d889b094.tar.gz
barebox-8e7f17e658616cd83d5bddb1f59f10d9d889b094.tar.xz
fec imx27: add remove function
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'drivers/net')
-rw-r--r--drivers/net/fec_imx27.c16
1 files changed, 12 insertions, 4 deletions
diff --git a/drivers/net/fec_imx27.c b/drivers/net/fec_imx27.c
index b845bfdd41..22a93c980d 100644
--- a/drivers/net/fec_imx27.c
+++ b/drivers/net/fec_imx27.c
@@ -516,7 +516,7 @@ static int fec_recv(struct eth_device *dev)
return len;
}
-int fec_probe(struct device_d *dev)
+static int fec_probe(struct device_d *dev)
{
struct fec_platform_data *pdata = (struct fec_platform_data *)dev->platform_data;
struct eth_device *edev;
@@ -592,13 +592,21 @@ int fec_probe(struct device_d *dev)
return 0;
}
+static void fec_remove(struct device_d *dev)
+{
+ struct eth_device *edev = dev->type_data;
+
+ fec_halt(edev);
+}
+
/**
* Driver description for registering
*/
static struct driver_d imx27_driver = {
- .name = "fec_imx27",
- .probe = fec_probe,
- .type = DEVICE_TYPE_ETHER,
+ .name = "fec_imx27",
+ .probe = fec_probe,
+ .remove = fec_remove,
+ .type = DEVICE_TYPE_ETHER,
};
static int fec_register(void)