diff options
author | Anton Vorontsov <avorontsov@ru.mvista.com> | 2008-12-23 06:59:25 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-12-26 01:28:43 -0800 |
commit | fdb614c28487df41f7bf2c98e85f29f31885561e (patch) | |
tree | ce56491da727d14d109f4664d931f39a86a843ba /drivers/net/ucc_geth.c | |
parent | 9c54004ea717116a10886e254e26502ffb1136e9 (diff) | |
download | linux-fdb614c28487df41f7bf2c98e85f29f31885561e.tar.gz linux-fdb614c28487df41f7bf2c98e85f29f31885561e.tar.bz2 linux-fdb614c28487df41f7bf2c98e85f29f31885561e.zip |
ucc_geth: Eliminate the need for forward references
This patch simply reorders some functions to eliminate the need for
forward references. No other changes than that.
Suggested-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ucc_geth.c')
-rw-r--r-- | drivers/net/ucc_geth.c | 81 |
1 files changed, 39 insertions, 42 deletions
diff --git a/drivers/net/ucc_geth.c b/drivers/net/ucc_geth.c index 78a2ede19c5e..7d5a1303e30d 100644 --- a/drivers/net/ucc_geth.c +++ b/drivers/net/ucc_geth.c @@ -3072,48 +3072,6 @@ static int ucc_geth_startup(struct ucc_geth_private *ugeth) return 0; } -static int ucc_geth_close(struct net_device *dev); -static int ucc_geth_open(struct net_device *dev); - -/* Reopen device. This will reset the MAC and PHY. */ -static void ucc_geth_timeout_work(struct work_struct *work) -{ - struct ucc_geth_private *ugeth; - struct net_device *dev; - - ugeth = container_of(work, struct ucc_geth_private, timeout_work); - dev = ugeth->dev; - - ugeth_vdbg("%s: IN", __func__); - - dev->stats.tx_errors++; - - ugeth_dump_regs(ugeth); - - if (dev->flags & IFF_UP) { - /* - * Must reset MAC *and* PHY. This is done by reopening - * the device. - */ - ucc_geth_close(dev); - ucc_geth_open(dev); - } - - netif_tx_schedule_all(dev); -} - -/* - * ucc_geth_timeout gets called when a packet has not been - * transmitted after a set amount of time. - */ -static void ucc_geth_timeout(struct net_device *dev) -{ - struct ucc_geth_private *ugeth = netdev_priv(dev); - - netif_carrier_off(dev); - schedule_work(&ugeth->timeout_work); -} - /* This is called by the kernel when a frame is ready for transmission. */ /* It is pointed to by the dev->hard_start_xmit function pointer */ static int ucc_geth_start_xmit(struct sk_buff *skb, struct net_device *dev) @@ -3524,6 +3482,45 @@ static int ucc_geth_close(struct net_device *dev) return 0; } +/* Reopen device. This will reset the MAC and PHY. */ +static void ucc_geth_timeout_work(struct work_struct *work) +{ + struct ucc_geth_private *ugeth; + struct net_device *dev; + + ugeth = container_of(work, struct ucc_geth_private, timeout_work); + dev = ugeth->dev; + + ugeth_vdbg("%s: IN", __func__); + + dev->stats.tx_errors++; + + ugeth_dump_regs(ugeth); + + if (dev->flags & IFF_UP) { + /* + * Must reset MAC *and* PHY. This is done by reopening + * the device. + */ + ucc_geth_close(dev); + ucc_geth_open(dev); + } + + netif_tx_schedule_all(dev); +} + +/* + * ucc_geth_timeout gets called when a packet has not been + * transmitted after a set amount of time. + */ +static void ucc_geth_timeout(struct net_device *dev) +{ + struct ucc_geth_private *ugeth = netdev_priv(dev); + + netif_carrier_off(dev); + schedule_work(&ugeth->timeout_work); +} + static phy_interface_t to_phy_interface(const char *phy_connection_type) { if (strcasecmp(phy_connection_type, "mii") == 0) |