diff options
Diffstat (limited to 'drivers/net/via-velocity.c')
-rw-r--r-- | drivers/net/via-velocity.c | 119 |
1 files changed, 63 insertions, 56 deletions
diff --git a/drivers/net/via-velocity.c b/drivers/net/via-velocity.c index ba2972ba3757..aa9cd92f46b2 100644 --- a/drivers/net/via-velocity.c +++ b/drivers/net/via-velocity.c | |||
@@ -229,7 +229,8 @@ static int rx_copybreak = 200; | |||
229 | module_param(rx_copybreak, int, 0644); | 229 | module_param(rx_copybreak, int, 0644); |
230 | MODULE_PARM_DESC(rx_copybreak, "Copy breakpoint for copy-only-tiny-frames"); | 230 | MODULE_PARM_DESC(rx_copybreak, "Copy breakpoint for copy-only-tiny-frames"); |
231 | 231 | ||
232 | static void velocity_init_info(struct pci_dev *pdev, struct velocity_info *vptr, struct velocity_info_tbl *info); | 232 | static void velocity_init_info(struct pci_dev *pdev, struct velocity_info *vptr, |
233 | const struct velocity_info_tbl *info); | ||
233 | static int velocity_get_pci_info(struct velocity_info *, struct pci_dev *pdev); | 234 | static int velocity_get_pci_info(struct velocity_info *, struct pci_dev *pdev); |
234 | static void velocity_print_info(struct velocity_info *vptr); | 235 | static void velocity_print_info(struct velocity_info *vptr); |
235 | static int velocity_open(struct net_device *dev); | 236 | static int velocity_open(struct net_device *dev); |
@@ -294,9 +295,9 @@ static void velocity_unregister_notifier(void) | |||
294 | * Internal board variants. At the moment we have only one | 295 | * Internal board variants. At the moment we have only one |
295 | */ | 296 | */ |
296 | 297 | ||
297 | static struct velocity_info_tbl chip_info_table[] = { | 298 | static const struct velocity_info_tbl chip_info_table[] __devinitdata = { |
298 | {CHIP_TYPE_VT6110, "VIA Networking Velocity Family Gigabit Ethernet Adapter", 256, 1, 0x00FFFFFFUL}, | 299 | {CHIP_TYPE_VT6110, "VIA Networking Velocity Family Gigabit Ethernet Adapter", 1, 0x00FFFFFFUL}, |
299 | {0, NULL} | 300 | { } |
300 | }; | 301 | }; |
301 | 302 | ||
302 | /* | 303 | /* |
@@ -304,10 +305,9 @@ static struct velocity_info_tbl chip_info_table[] = { | |||
304 | * device driver. Used for hotplug autoloading. | 305 | * device driver. Used for hotplug autoloading. |
305 | */ | 306 | */ |
306 | 307 | ||
307 | static struct pci_device_id velocity_id_table[] __devinitdata = { | 308 | static const struct pci_device_id velocity_id_table[] __devinitdata = { |
308 | {PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_612X, | 309 | { PCI_DEVICE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_612X) }, |
309 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, (unsigned long) chip_info_table}, | 310 | { } |
310 | {0, } | ||
311 | }; | 311 | }; |
312 | 312 | ||
313 | MODULE_DEVICE_TABLE(pci, velocity_id_table); | 313 | MODULE_DEVICE_TABLE(pci, velocity_id_table); |
@@ -341,7 +341,7 @@ static char __devinit *get_chip_name(enum chip_type chip_id) | |||
341 | static void __devexit velocity_remove1(struct pci_dev *pdev) | 341 | static void __devexit velocity_remove1(struct pci_dev *pdev) |
342 | { | 342 | { |
343 | struct net_device *dev = pci_get_drvdata(pdev); | 343 | struct net_device *dev = pci_get_drvdata(pdev); |
344 | struct velocity_info *vptr = dev->priv; | 344 | struct velocity_info *vptr = netdev_priv(dev); |
345 | 345 | ||
346 | #ifdef CONFIG_PM | 346 | #ifdef CONFIG_PM |
347 | unsigned long flags; | 347 | unsigned long flags; |
@@ -686,21 +686,23 @@ static int __devinit velocity_found1(struct pci_dev *pdev, const struct pci_devi | |||
686 | static int first = 1; | 686 | static int first = 1; |
687 | struct net_device *dev; | 687 | struct net_device *dev; |
688 | int i; | 688 | int i; |
689 | struct velocity_info_tbl *info = (struct velocity_info_tbl *) ent->driver_data; | 689 | const struct velocity_info_tbl *info = &chip_info_table[ent->driver_data]; |
690 | struct velocity_info *vptr; | 690 | struct velocity_info *vptr; |
691 | struct mac_regs __iomem * regs; | 691 | struct mac_regs __iomem * regs; |
692 | int ret = -ENOMEM; | 692 | int ret = -ENOMEM; |
693 | 693 | ||
694 | /* FIXME: this driver, like almost all other ethernet drivers, | ||
695 | * can support more than MAX_UNITS. | ||
696 | */ | ||
694 | if (velocity_nics >= MAX_UNITS) { | 697 | if (velocity_nics >= MAX_UNITS) { |
695 | printk(KERN_NOTICE VELOCITY_NAME ": already found %d NICs.\n", | 698 | dev_notice(&pdev->dev, "already found %d NICs.\n", |
696 | velocity_nics); | 699 | velocity_nics); |
697 | return -ENODEV; | 700 | return -ENODEV; |
698 | } | 701 | } |
699 | 702 | ||
700 | dev = alloc_etherdev(sizeof(struct velocity_info)); | 703 | dev = alloc_etherdev(sizeof(struct velocity_info)); |
701 | 704 | if (!dev) { | |
702 | if (dev == NULL) { | 705 | dev_err(&pdev->dev, "allocate net device failed.\n"); |
703 | printk(KERN_ERR VELOCITY_NAME ": allocate net device failed.\n"); | ||
704 | goto out; | 706 | goto out; |
705 | } | 707 | } |
706 | 708 | ||
@@ -708,7 +710,7 @@ static int __devinit velocity_found1(struct pci_dev *pdev, const struct pci_devi | |||
708 | 710 | ||
709 | SET_MODULE_OWNER(dev); | 711 | SET_MODULE_OWNER(dev); |
710 | SET_NETDEV_DEV(dev, &pdev->dev); | 712 | SET_NETDEV_DEV(dev, &pdev->dev); |
711 | vptr = dev->priv; | 713 | vptr = netdev_priv(dev); |
712 | 714 | ||
713 | 715 | ||
714 | if (first) { | 716 | if (first) { |
@@ -731,17 +733,17 @@ static int __devinit velocity_found1(struct pci_dev *pdev, const struct pci_devi | |||
731 | 733 | ||
732 | ret = velocity_get_pci_info(vptr, pdev); | 734 | ret = velocity_get_pci_info(vptr, pdev); |
733 | if (ret < 0) { | 735 | if (ret < 0) { |
734 | printk(KERN_ERR VELOCITY_NAME ": Failed to find PCI device.\n"); | 736 | /* error message already printed */ |
735 | goto err_disable; | 737 | goto err_disable; |
736 | } | 738 | } |
737 | 739 | ||
738 | ret = pci_request_regions(pdev, VELOCITY_NAME); | 740 | ret = pci_request_regions(pdev, VELOCITY_NAME); |
739 | if (ret < 0) { | 741 | if (ret < 0) { |
740 | printk(KERN_ERR VELOCITY_NAME ": Failed to find PCI device.\n"); | 742 | dev_err(&pdev->dev, "No PCI resources.\n"); |
741 | goto err_disable; | 743 | goto err_disable; |
742 | } | 744 | } |
743 | 745 | ||
744 | regs = ioremap(vptr->memaddr, vptr->io_size); | 746 | regs = ioremap(vptr->memaddr, VELOCITY_IO_SIZE); |
745 | if (regs == NULL) { | 747 | if (regs == NULL) { |
746 | ret = -EIO; | 748 | ret = -EIO; |
747 | goto err_release_res; | 749 | goto err_release_res; |
@@ -859,13 +861,14 @@ static void __devinit velocity_print_info(struct velocity_info *vptr) | |||
859 | * discovered. | 861 | * discovered. |
860 | */ | 862 | */ |
861 | 863 | ||
862 | static void __devinit velocity_init_info(struct pci_dev *pdev, struct velocity_info *vptr, struct velocity_info_tbl *info) | 864 | static void __devinit velocity_init_info(struct pci_dev *pdev, |
865 | struct velocity_info *vptr, | ||
866 | const struct velocity_info_tbl *info) | ||
863 | { | 867 | { |
864 | memset(vptr, 0, sizeof(struct velocity_info)); | 868 | memset(vptr, 0, sizeof(struct velocity_info)); |
865 | 869 | ||
866 | vptr->pdev = pdev; | 870 | vptr->pdev = pdev; |
867 | vptr->chip_id = info->chip_id; | 871 | vptr->chip_id = info->chip_id; |
868 | vptr->io_size = info->io_size; | ||
869 | vptr->num_txq = info->txqueue; | 872 | vptr->num_txq = info->txqueue; |
870 | vptr->multicast_limit = MCAM_SIZE; | 873 | vptr->multicast_limit = MCAM_SIZE; |
871 | spin_lock_init(&vptr->lock); | 874 | spin_lock_init(&vptr->lock); |
@@ -883,8 +886,7 @@ static void __devinit velocity_init_info(struct pci_dev *pdev, struct velocity_i | |||
883 | 886 | ||
884 | static int __devinit velocity_get_pci_info(struct velocity_info *vptr, struct pci_dev *pdev) | 887 | static int __devinit velocity_get_pci_info(struct velocity_info *vptr, struct pci_dev *pdev) |
885 | { | 888 | { |
886 | 889 | if (pci_read_config_byte(pdev, PCI_REVISION_ID, &vptr->rev_id) < 0) | |
887 | if(pci_read_config_byte(pdev, PCI_REVISION_ID, &vptr->rev_id) < 0) | ||
888 | return -EIO; | 890 | return -EIO; |
889 | 891 | ||
890 | pci_set_master(pdev); | 892 | pci_set_master(pdev); |
@@ -892,24 +894,20 @@ static int __devinit velocity_get_pci_info(struct velocity_info *vptr, struct pc | |||
892 | vptr->ioaddr = pci_resource_start(pdev, 0); | 894 | vptr->ioaddr = pci_resource_start(pdev, 0); |
893 | vptr->memaddr = pci_resource_start(pdev, 1); | 895 | vptr->memaddr = pci_resource_start(pdev, 1); |
894 | 896 | ||
895 | if(!(pci_resource_flags(pdev, 0) & IORESOURCE_IO)) | 897 | if (!(pci_resource_flags(pdev, 0) & IORESOURCE_IO)) { |
896 | { | 898 | dev_err(&pdev->dev, |
897 | printk(KERN_ERR "%s: region #0 is not an I/O resource, aborting.\n", | 899 | "region #0 is not an I/O resource, aborting.\n"); |
898 | pci_name(pdev)); | ||
899 | return -EINVAL; | 900 | return -EINVAL; |
900 | } | 901 | } |
901 | 902 | ||
902 | if((pci_resource_flags(pdev, 1) & IORESOURCE_IO)) | 903 | if ((pci_resource_flags(pdev, 1) & IORESOURCE_IO)) { |
903 | { | 904 | dev_err(&pdev->dev, |
904 | printk(KERN_ERR "%s: region #1 is an I/O resource, aborting.\n", | 905 | "region #1 is an I/O resource, aborting.\n"); |
905 | pci_name(pdev)); | ||
906 | return -EINVAL; | 906 | return -EINVAL; |
907 | } | 907 | } |
908 | 908 | ||
909 | if(pci_resource_len(pdev, 1) < 256) | 909 | if (pci_resource_len(pdev, 1) < VELOCITY_IO_SIZE) { |
910 | { | 910 | dev_err(&pdev->dev, "region #1 is too small.\n"); |
911 | printk(KERN_ERR "%s: region #1 is too small.\n", | ||
912 | pci_name(pdev)); | ||
913 | return -EINVAL; | 911 | return -EINVAL; |
914 | } | 912 | } |
915 | vptr->pdev = pdev; | 913 | vptr->pdev = pdev; |
@@ -1728,7 +1726,7 @@ static void velocity_free_tx_buf(struct velocity_info *vptr, struct velocity_td_ | |||
1728 | 1726 | ||
1729 | static int velocity_open(struct net_device *dev) | 1727 | static int velocity_open(struct net_device *dev) |
1730 | { | 1728 | { |
1731 | struct velocity_info *vptr = dev->priv; | 1729 | struct velocity_info *vptr = netdev_priv(dev); |
1732 | int ret; | 1730 | int ret; |
1733 | 1731 | ||
1734 | vptr->rx_buf_sz = (dev->mtu <= 1504 ? PKT_BUF_SZ : dev->mtu + 32); | 1732 | vptr->rx_buf_sz = (dev->mtu <= 1504 ? PKT_BUF_SZ : dev->mtu + 32); |
@@ -1785,7 +1783,7 @@ err_free_desc_rings: | |||
1785 | 1783 | ||
1786 | static int velocity_change_mtu(struct net_device *dev, int new_mtu) | 1784 | static int velocity_change_mtu(struct net_device *dev, int new_mtu) |
1787 | { | 1785 | { |
1788 | struct velocity_info *vptr = dev->priv; | 1786 | struct velocity_info *vptr = netdev_priv(dev); |
1789 | unsigned long flags; | 1787 | unsigned long flags; |
1790 | int oldmtu = dev->mtu; | 1788 | int oldmtu = dev->mtu; |
1791 | int ret = 0; | 1789 | int ret = 0; |
@@ -1861,7 +1859,7 @@ static void velocity_shutdown(struct velocity_info *vptr) | |||
1861 | 1859 | ||
1862 | static int velocity_close(struct net_device *dev) | 1860 | static int velocity_close(struct net_device *dev) |
1863 | { | 1861 | { |
1864 | struct velocity_info *vptr = dev->priv; | 1862 | struct velocity_info *vptr = netdev_priv(dev); |
1865 | 1863 | ||
1866 | netif_stop_queue(dev); | 1864 | netif_stop_queue(dev); |
1867 | velocity_shutdown(vptr); | 1865 | velocity_shutdown(vptr); |
@@ -1894,7 +1892,7 @@ static int velocity_close(struct net_device *dev) | |||
1894 | 1892 | ||
1895 | static int velocity_xmit(struct sk_buff *skb, struct net_device *dev) | 1893 | static int velocity_xmit(struct sk_buff *skb, struct net_device *dev) |
1896 | { | 1894 | { |
1897 | struct velocity_info *vptr = dev->priv; | 1895 | struct velocity_info *vptr = netdev_priv(dev); |
1898 | int qnum = 0; | 1896 | int qnum = 0; |
1899 | struct tx_desc *td_ptr; | 1897 | struct tx_desc *td_ptr; |
1900 | struct velocity_td_info *tdinfo; | 1898 | struct velocity_td_info *tdinfo; |
@@ -2049,7 +2047,7 @@ static int velocity_xmit(struct sk_buff *skb, struct net_device *dev) | |||
2049 | static int velocity_intr(int irq, void *dev_instance, struct pt_regs *regs) | 2047 | static int velocity_intr(int irq, void *dev_instance, struct pt_regs *regs) |
2050 | { | 2048 | { |
2051 | struct net_device *dev = dev_instance; | 2049 | struct net_device *dev = dev_instance; |
2052 | struct velocity_info *vptr = dev->priv; | 2050 | struct velocity_info *vptr = netdev_priv(dev); |
2053 | u32 isr_status; | 2051 | u32 isr_status; |
2054 | int max_count = 0; | 2052 | int max_count = 0; |
2055 | 2053 | ||
@@ -2104,7 +2102,7 @@ static int velocity_intr(int irq, void *dev_instance, struct pt_regs *regs) | |||
2104 | 2102 | ||
2105 | static void velocity_set_multi(struct net_device *dev) | 2103 | static void velocity_set_multi(struct net_device *dev) |
2106 | { | 2104 | { |
2107 | struct velocity_info *vptr = dev->priv; | 2105 | struct velocity_info *vptr = netdev_priv(dev); |
2108 | struct mac_regs __iomem * regs = vptr->mac_regs; | 2106 | struct mac_regs __iomem * regs = vptr->mac_regs; |
2109 | u8 rx_mode; | 2107 | u8 rx_mode; |
2110 | int i; | 2108 | int i; |
@@ -2153,7 +2151,7 @@ static void velocity_set_multi(struct net_device *dev) | |||
2153 | 2151 | ||
2154 | static struct net_device_stats *velocity_get_stats(struct net_device *dev) | 2152 | static struct net_device_stats *velocity_get_stats(struct net_device *dev) |
2155 | { | 2153 | { |
2156 | struct velocity_info *vptr = dev->priv; | 2154 | struct velocity_info *vptr = netdev_priv(dev); |
2157 | 2155 | ||
2158 | /* If the hardware is down, don't touch MII */ | 2156 | /* If the hardware is down, don't touch MII */ |
2159 | if(!netif_running(dev)) | 2157 | if(!netif_running(dev)) |
@@ -2196,7 +2194,7 @@ static struct net_device_stats *velocity_get_stats(struct net_device *dev) | |||
2196 | 2194 | ||
2197 | static int velocity_ioctl(struct net_device *dev, struct ifreq *rq, int cmd) | 2195 | static int velocity_ioctl(struct net_device *dev, struct ifreq *rq, int cmd) |
2198 | { | 2196 | { |
2199 | struct velocity_info *vptr = dev->priv; | 2197 | struct velocity_info *vptr = netdev_priv(dev); |
2200 | int ret; | 2198 | int ret; |
2201 | 2199 | ||
2202 | /* If we are asked for information and the device is power | 2200 | /* If we are asked for information and the device is power |
@@ -2744,7 +2742,7 @@ static u32 check_connection_type(struct mac_regs __iomem * regs) | |||
2744 | 2742 | ||
2745 | if (PHYSR0 & PHYSR0_SPDG) | 2743 | if (PHYSR0 & PHYSR0_SPDG) |
2746 | status |= VELOCITY_SPEED_1000; | 2744 | status |= VELOCITY_SPEED_1000; |
2747 | if (PHYSR0 & PHYSR0_SPD10) | 2745 | else if (PHYSR0 & PHYSR0_SPD10) |
2748 | status |= VELOCITY_SPEED_10; | 2746 | status |= VELOCITY_SPEED_10; |
2749 | else | 2747 | else |
2750 | status |= VELOCITY_SPEED_100; | 2748 | status |= VELOCITY_SPEED_100; |
@@ -2825,7 +2823,7 @@ static void enable_flow_control_ability(struct velocity_info *vptr) | |||
2825 | 2823 | ||
2826 | static int velocity_ethtool_up(struct net_device *dev) | 2824 | static int velocity_ethtool_up(struct net_device *dev) |
2827 | { | 2825 | { |
2828 | struct velocity_info *vptr = dev->priv; | 2826 | struct velocity_info *vptr = netdev_priv(dev); |
2829 | if (!netif_running(dev)) | 2827 | if (!netif_running(dev)) |
2830 | pci_set_power_state(vptr->pdev, PCI_D0); | 2828 | pci_set_power_state(vptr->pdev, PCI_D0); |
2831 | return 0; | 2829 | return 0; |
@@ -2841,20 +2839,29 @@ static int velocity_ethtool_up(struct net_device *dev) | |||
2841 | 2839 | ||
2842 | static void velocity_ethtool_down(struct net_device *dev) | 2840 | static void velocity_ethtool_down(struct net_device *dev) |
2843 | { | 2841 | { |
2844 | struct velocity_info *vptr = dev->priv; | 2842 | struct velocity_info *vptr = netdev_priv(dev); |
2845 | if (!netif_running(dev)) | 2843 | if (!netif_running(dev)) |
2846 | pci_set_power_state(vptr->pdev, PCI_D3hot); | 2844 | pci_set_power_state(vptr->pdev, PCI_D3hot); |
2847 | } | 2845 | } |
2848 | 2846 | ||
2849 | static int velocity_get_settings(struct net_device *dev, struct ethtool_cmd *cmd) | 2847 | static int velocity_get_settings(struct net_device *dev, struct ethtool_cmd *cmd) |
2850 | { | 2848 | { |
2851 | struct velocity_info *vptr = dev->priv; | 2849 | struct velocity_info *vptr = netdev_priv(dev); |
2852 | struct mac_regs __iomem * regs = vptr->mac_regs; | 2850 | struct mac_regs __iomem * regs = vptr->mac_regs; |
2853 | u32 status; | 2851 | u32 status; |
2854 | status = check_connection_type(vptr->mac_regs); | 2852 | status = check_connection_type(vptr->mac_regs); |
2855 | 2853 | ||
2856 | cmd->supported = SUPPORTED_TP | SUPPORTED_Autoneg | SUPPORTED_10baseT_Half | SUPPORTED_10baseT_Full | SUPPORTED_100baseT_Half | SUPPORTED_100baseT_Full | SUPPORTED_1000baseT_Half | SUPPORTED_1000baseT_Full; | 2854 | cmd->supported = SUPPORTED_TP | |
2857 | if (status & VELOCITY_SPEED_100) | 2855 | SUPPORTED_Autoneg | |
2856 | SUPPORTED_10baseT_Half | | ||
2857 | SUPPORTED_10baseT_Full | | ||
2858 | SUPPORTED_100baseT_Half | | ||
2859 | SUPPORTED_100baseT_Full | | ||
2860 | SUPPORTED_1000baseT_Half | | ||
2861 | SUPPORTED_1000baseT_Full; | ||
2862 | if (status & VELOCITY_SPEED_1000) | ||
2863 | cmd->speed = SPEED_1000; | ||
2864 | else if (status & VELOCITY_SPEED_100) | ||
2858 | cmd->speed = SPEED_100; | 2865 | cmd->speed = SPEED_100; |
2859 | else | 2866 | else |
2860 | cmd->speed = SPEED_10; | 2867 | cmd->speed = SPEED_10; |
@@ -2873,7 +2880,7 @@ static int velocity_get_settings(struct net_device *dev, struct ethtool_cmd *cmd | |||
2873 | 2880 | ||
2874 | static int velocity_set_settings(struct net_device *dev, struct ethtool_cmd *cmd) | 2881 | static int velocity_set_settings(struct net_device *dev, struct ethtool_cmd *cmd) |
2875 | { | 2882 | { |
2876 | struct velocity_info *vptr = dev->priv; | 2883 | struct velocity_info *vptr = netdev_priv(dev); |
2877 | u32 curr_status; | 2884 | u32 curr_status; |
2878 | u32 new_status = 0; | 2885 | u32 new_status = 0; |
2879 | int ret = 0; | 2886 | int ret = 0; |
@@ -2896,14 +2903,14 @@ static int velocity_set_settings(struct net_device *dev, struct ethtool_cmd *cmd | |||
2896 | 2903 | ||
2897 | static u32 velocity_get_link(struct net_device *dev) | 2904 | static u32 velocity_get_link(struct net_device *dev) |
2898 | { | 2905 | { |
2899 | struct velocity_info *vptr = dev->priv; | 2906 | struct velocity_info *vptr = netdev_priv(dev); |
2900 | struct mac_regs __iomem * regs = vptr->mac_regs; | 2907 | struct mac_regs __iomem * regs = vptr->mac_regs; |
2901 | return BYTE_REG_BITS_IS_ON(PHYSR0_LINKGD, ®s->PHYSR0) ? 0 : 1; | 2908 | return BYTE_REG_BITS_IS_ON(PHYSR0_LINKGD, ®s->PHYSR0) ? 1 : 0; |
2902 | } | 2909 | } |
2903 | 2910 | ||
2904 | static void velocity_get_drvinfo(struct net_device *dev, struct ethtool_drvinfo *info) | 2911 | static void velocity_get_drvinfo(struct net_device *dev, struct ethtool_drvinfo *info) |
2905 | { | 2912 | { |
2906 | struct velocity_info *vptr = dev->priv; | 2913 | struct velocity_info *vptr = netdev_priv(dev); |
2907 | strcpy(info->driver, VELOCITY_NAME); | 2914 | strcpy(info->driver, VELOCITY_NAME); |
2908 | strcpy(info->version, VELOCITY_VERSION); | 2915 | strcpy(info->version, VELOCITY_VERSION); |
2909 | strcpy(info->bus_info, pci_name(vptr->pdev)); | 2916 | strcpy(info->bus_info, pci_name(vptr->pdev)); |
@@ -2911,7 +2918,7 @@ static void velocity_get_drvinfo(struct net_device *dev, struct ethtool_drvinfo | |||
2911 | 2918 | ||
2912 | static void velocity_ethtool_get_wol(struct net_device *dev, struct ethtool_wolinfo *wol) | 2919 | static void velocity_ethtool_get_wol(struct net_device *dev, struct ethtool_wolinfo *wol) |
2913 | { | 2920 | { |
2914 | struct velocity_info *vptr = dev->priv; | 2921 | struct velocity_info *vptr = netdev_priv(dev); |
2915 | wol->supported = WAKE_PHY | WAKE_MAGIC | WAKE_UCAST | WAKE_ARP; | 2922 | wol->supported = WAKE_PHY | WAKE_MAGIC | WAKE_UCAST | WAKE_ARP; |
2916 | wol->wolopts |= WAKE_MAGIC; | 2923 | wol->wolopts |= WAKE_MAGIC; |
2917 | /* | 2924 | /* |
@@ -2927,7 +2934,7 @@ static void velocity_ethtool_get_wol(struct net_device *dev, struct ethtool_woli | |||
2927 | 2934 | ||
2928 | static int velocity_ethtool_set_wol(struct net_device *dev, struct ethtool_wolinfo *wol) | 2935 | static int velocity_ethtool_set_wol(struct net_device *dev, struct ethtool_wolinfo *wol) |
2929 | { | 2936 | { |
2930 | struct velocity_info *vptr = dev->priv; | 2937 | struct velocity_info *vptr = netdev_priv(dev); |
2931 | 2938 | ||
2932 | if (!(wol->wolopts & (WAKE_PHY | WAKE_MAGIC | WAKE_UCAST | WAKE_ARP))) | 2939 | if (!(wol->wolopts & (WAKE_PHY | WAKE_MAGIC | WAKE_UCAST | WAKE_ARP))) |
2933 | return -EFAULT; | 2940 | return -EFAULT; |
@@ -2992,7 +2999,7 @@ static struct ethtool_ops velocity_ethtool_ops = { | |||
2992 | 2999 | ||
2993 | static int velocity_mii_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd) | 3000 | static int velocity_mii_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd) |
2994 | { | 3001 | { |
2995 | struct velocity_info *vptr = dev->priv; | 3002 | struct velocity_info *vptr = netdev_priv(dev); |
2996 | struct mac_regs __iomem * regs = vptr->mac_regs; | 3003 | struct mac_regs __iomem * regs = vptr->mac_regs; |
2997 | unsigned long flags; | 3004 | unsigned long flags; |
2998 | struct mii_ioctl_data *miidata = if_mii(ifr); | 3005 | struct mii_ioctl_data *miidata = if_mii(ifr); |