diff options
Diffstat (limited to 'drivers/net/dnet.c')
-rw-r--r-- | drivers/net/dnet.c | 31 |
1 files changed, 16 insertions, 15 deletions
diff --git a/drivers/net/dnet.c b/drivers/net/dnet.c index 234685213f1a..9d8a20b72fa9 100644 --- a/drivers/net/dnet.c +++ b/drivers/net/dnet.c | |||
@@ -27,7 +27,7 @@ | |||
27 | #undef DEBUG | 27 | #undef DEBUG |
28 | 28 | ||
29 | /* function for reading internal MAC register */ | 29 | /* function for reading internal MAC register */ |
30 | u16 dnet_readw_mac(struct dnet *bp, u16 reg) | 30 | static u16 dnet_readw_mac(struct dnet *bp, u16 reg) |
31 | { | 31 | { |
32 | u16 data_read; | 32 | u16 data_read; |
33 | 33 | ||
@@ -46,7 +46,7 @@ u16 dnet_readw_mac(struct dnet *bp, u16 reg) | |||
46 | } | 46 | } |
47 | 47 | ||
48 | /* function for writing internal MAC register */ | 48 | /* function for writing internal MAC register */ |
49 | void dnet_writew_mac(struct dnet *bp, u16 reg, u16 val) | 49 | static void dnet_writew_mac(struct dnet *bp, u16 reg, u16 val) |
50 | { | 50 | { |
51 | /* load data to write */ | 51 | /* load data to write */ |
52 | dnet_writel(bp, val, MACREG_DATA); | 52 | dnet_writel(bp, val, MACREG_DATA); |
@@ -63,11 +63,11 @@ static void __dnet_set_hwaddr(struct dnet *bp) | |||
63 | { | 63 | { |
64 | u16 tmp; | 64 | u16 tmp; |
65 | 65 | ||
66 | tmp = cpu_to_be16(*((u16 *) bp->dev->dev_addr)); | 66 | tmp = be16_to_cpup((__be16 *)bp->dev->dev_addr); |
67 | dnet_writew_mac(bp, DNET_INTERNAL_MAC_ADDR_0_REG, tmp); | 67 | dnet_writew_mac(bp, DNET_INTERNAL_MAC_ADDR_0_REG, tmp); |
68 | tmp = cpu_to_be16(*((u16 *) (bp->dev->dev_addr + 2))); | 68 | tmp = be16_to_cpup((__be16 *)(bp->dev->dev_addr + 2)); |
69 | dnet_writew_mac(bp, DNET_INTERNAL_MAC_ADDR_1_REG, tmp); | 69 | dnet_writew_mac(bp, DNET_INTERNAL_MAC_ADDR_1_REG, tmp); |
70 | tmp = cpu_to_be16(*((u16 *) (bp->dev->dev_addr + 4))); | 70 | tmp = be16_to_cpup((__be16 *)(bp->dev->dev_addr + 4)); |
71 | dnet_writew_mac(bp, DNET_INTERNAL_MAC_ADDR_2_REG, tmp); | 71 | dnet_writew_mac(bp, DNET_INTERNAL_MAC_ADDR_2_REG, tmp); |
72 | } | 72 | } |
73 | 73 | ||
@@ -89,11 +89,11 @@ static void __devinit dnet_get_hwaddr(struct dnet *bp) | |||
89 | * Mac_addr[15:0]). | 89 | * Mac_addr[15:0]). |
90 | */ | 90 | */ |
91 | tmp = dnet_readw_mac(bp, DNET_INTERNAL_MAC_ADDR_0_REG); | 91 | tmp = dnet_readw_mac(bp, DNET_INTERNAL_MAC_ADDR_0_REG); |
92 | *((u16 *) addr) = be16_to_cpu(tmp); | 92 | *((__be16 *)addr) = cpu_to_be16(tmp); |
93 | tmp = dnet_readw_mac(bp, DNET_INTERNAL_MAC_ADDR_1_REG); | 93 | tmp = dnet_readw_mac(bp, DNET_INTERNAL_MAC_ADDR_1_REG); |
94 | *((u16 *) (addr + 2)) = be16_to_cpu(tmp); | 94 | *((__be16 *)(addr + 2)) = cpu_to_be16(tmp); |
95 | tmp = dnet_readw_mac(bp, DNET_INTERNAL_MAC_ADDR_2_REG); | 95 | tmp = dnet_readw_mac(bp, DNET_INTERNAL_MAC_ADDR_2_REG); |
96 | *((u16 *) (addr + 4)) = be16_to_cpu(tmp); | 96 | *((__be16 *)(addr + 4)) = cpu_to_be16(tmp); |
97 | 97 | ||
98 | if (is_valid_ether_addr(addr)) | 98 | if (is_valid_ether_addr(addr)) |
99 | memcpy(bp->dev->dev_addr, addr, sizeof(addr)); | 99 | memcpy(bp->dev->dev_addr, addr, sizeof(addr)); |
@@ -361,7 +361,7 @@ err_out: | |||
361 | } | 361 | } |
362 | 362 | ||
363 | /* For Neptune board: LINK1000 as Link LED and TX as activity LED */ | 363 | /* For Neptune board: LINK1000 as Link LED and TX as activity LED */ |
364 | int dnet_phy_marvell_fixup(struct phy_device *phydev) | 364 | static int dnet_phy_marvell_fixup(struct phy_device *phydev) |
365 | { | 365 | { |
366 | return phy_write(phydev, 0x18, 0x4148); | 366 | return phy_write(phydev, 0x18, 0x4148); |
367 | } | 367 | } |
@@ -594,8 +594,6 @@ static netdev_tx_t dnet_start_xmit(struct sk_buff *skb, struct net_device *dev) | |||
594 | 594 | ||
595 | spin_unlock_irqrestore(&bp->lock, flags); | 595 | spin_unlock_irqrestore(&bp->lock, flags); |
596 | 596 | ||
597 | dev->trans_start = jiffies; | ||
598 | |||
599 | return NETDEV_TX_OK; | 597 | return NETDEV_TX_OK; |
600 | } | 598 | } |
601 | 599 | ||
@@ -799,7 +797,7 @@ static int dnet_ioctl(struct net_device *dev, struct ifreq *rq, int cmd) | |||
799 | if (!phydev) | 797 | if (!phydev) |
800 | return -ENODEV; | 798 | return -ENODEV; |
801 | 799 | ||
802 | return phy_mii_ioctl(phydev, if_mii(rq), cmd); | 800 | return phy_mii_ioctl(phydev, rq, cmd); |
803 | } | 801 | } |
804 | 802 | ||
805 | static void dnet_get_drvinfo(struct net_device *dev, | 803 | static void dnet_get_drvinfo(struct net_device *dev, |
@@ -856,7 +854,7 @@ static int __devinit dnet_probe(struct platform_device *pdev) | |||
856 | dev = alloc_etherdev(sizeof(*bp)); | 854 | dev = alloc_etherdev(sizeof(*bp)); |
857 | if (!dev) { | 855 | if (!dev) { |
858 | dev_err(&pdev->dev, "etherdev alloc failed, aborting.\n"); | 856 | dev_err(&pdev->dev, "etherdev alloc failed, aborting.\n"); |
859 | goto err_out; | 857 | goto err_out_release_mem; |
860 | } | 858 | } |
861 | 859 | ||
862 | /* TODO: Actually, we have some interesting features... */ | 860 | /* TODO: Actually, we have some interesting features... */ |
@@ -913,12 +911,13 @@ static int __devinit dnet_probe(struct platform_device *pdev) | |||
913 | if (err) | 911 | if (err) |
914 | dev_warn(&pdev->dev, "Cannot register PHY board fixup.\n"); | 912 | dev_warn(&pdev->dev, "Cannot register PHY board fixup.\n"); |
915 | 913 | ||
916 | if (dnet_mii_init(bp) != 0) | 914 | err = dnet_mii_init(bp); |
915 | if (err) | ||
917 | goto err_out_unregister_netdev; | 916 | goto err_out_unregister_netdev; |
918 | 917 | ||
919 | dev_info(&pdev->dev, "Dave DNET at 0x%p (0x%08x) irq %d %pM\n", | 918 | dev_info(&pdev->dev, "Dave DNET at 0x%p (0x%08x) irq %d %pM\n", |
920 | bp->regs, mem_base, dev->irq, dev->dev_addr); | 919 | bp->regs, mem_base, dev->irq, dev->dev_addr); |
921 | dev_info(&pdev->dev, "has %smdio, %sirq, %sgigabit, %sdma \n", | 920 | dev_info(&pdev->dev, "has %smdio, %sirq, %sgigabit, %sdma\n", |
922 | (bp->capabilities & DNET_HAS_MDIO) ? "" : "no ", | 921 | (bp->capabilities & DNET_HAS_MDIO) ? "" : "no ", |
923 | (bp->capabilities & DNET_HAS_IRQ) ? "" : "no ", | 922 | (bp->capabilities & DNET_HAS_IRQ) ? "" : "no ", |
924 | (bp->capabilities & DNET_HAS_GIGABIT) ? "" : "no ", | 923 | (bp->capabilities & DNET_HAS_GIGABIT) ? "" : "no ", |
@@ -938,6 +937,8 @@ err_out_iounmap: | |||
938 | iounmap(bp->regs); | 937 | iounmap(bp->regs); |
939 | err_out_free_dev: | 938 | err_out_free_dev: |
940 | free_netdev(dev); | 939 | free_netdev(dev); |
940 | err_out_release_mem: | ||
941 | release_mem_region(mem_base, mem_size); | ||
941 | err_out: | 942 | err_out: |
942 | return err; | 943 | return err; |
943 | } | 944 | } |