diff options
Diffstat (limited to 'drivers/net/via-velocity.c')
| -rw-r--r-- | drivers/net/via-velocity.c | 102 |
1 files changed, 50 insertions, 52 deletions
diff --git a/drivers/net/via-velocity.c b/drivers/net/via-velocity.c index ba2972ba3757..f5b0078eb4ad 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 |
| @@ -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,14 +2839,14 @@ 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); |
| @@ -2873,7 +2871,7 @@ static int velocity_get_settings(struct net_device *dev, struct ethtool_cmd *cmd | |||
| 2873 | 2871 | ||
| 2874 | static int velocity_set_settings(struct net_device *dev, struct ethtool_cmd *cmd) | 2872 | static int velocity_set_settings(struct net_device *dev, struct ethtool_cmd *cmd) |
| 2875 | { | 2873 | { |
| 2876 | struct velocity_info *vptr = dev->priv; | 2874 | struct velocity_info *vptr = netdev_priv(dev); |
| 2877 | u32 curr_status; | 2875 | u32 curr_status; |
| 2878 | u32 new_status = 0; | 2876 | u32 new_status = 0; |
| 2879 | int ret = 0; | 2877 | int ret = 0; |
| @@ -2896,14 +2894,14 @@ static int velocity_set_settings(struct net_device *dev, struct ethtool_cmd *cmd | |||
| 2896 | 2894 | ||
| 2897 | static u32 velocity_get_link(struct net_device *dev) | 2895 | static u32 velocity_get_link(struct net_device *dev) |
| 2898 | { | 2896 | { |
| 2899 | struct velocity_info *vptr = dev->priv; | 2897 | struct velocity_info *vptr = netdev_priv(dev); |
| 2900 | struct mac_regs __iomem * regs = vptr->mac_regs; | 2898 | struct mac_regs __iomem * regs = vptr->mac_regs; |
| 2901 | return BYTE_REG_BITS_IS_ON(PHYSR0_LINKGD, ®s->PHYSR0) ? 0 : 1; | 2899 | return BYTE_REG_BITS_IS_ON(PHYSR0_LINKGD, ®s->PHYSR0) ? 0 : 1; |
| 2902 | } | 2900 | } |
| 2903 | 2901 | ||
| 2904 | static void velocity_get_drvinfo(struct net_device *dev, struct ethtool_drvinfo *info) | 2902 | static void velocity_get_drvinfo(struct net_device *dev, struct ethtool_drvinfo *info) |
| 2905 | { | 2903 | { |
| 2906 | struct velocity_info *vptr = dev->priv; | 2904 | struct velocity_info *vptr = netdev_priv(dev); |
| 2907 | strcpy(info->driver, VELOCITY_NAME); | 2905 | strcpy(info->driver, VELOCITY_NAME); |
| 2908 | strcpy(info->version, VELOCITY_VERSION); | 2906 | strcpy(info->version, VELOCITY_VERSION); |
| 2909 | strcpy(info->bus_info, pci_name(vptr->pdev)); | 2907 | strcpy(info->bus_info, pci_name(vptr->pdev)); |
| @@ -2911,7 +2909,7 @@ static void velocity_get_drvinfo(struct net_device *dev, struct ethtool_drvinfo | |||
| 2911 | 2909 | ||
| 2912 | static void velocity_ethtool_get_wol(struct net_device *dev, struct ethtool_wolinfo *wol) | 2910 | static void velocity_ethtool_get_wol(struct net_device *dev, struct ethtool_wolinfo *wol) |
| 2913 | { | 2911 | { |
| 2914 | struct velocity_info *vptr = dev->priv; | 2912 | struct velocity_info *vptr = netdev_priv(dev); |
| 2915 | wol->supported = WAKE_PHY | WAKE_MAGIC | WAKE_UCAST | WAKE_ARP; | 2913 | wol->supported = WAKE_PHY | WAKE_MAGIC | WAKE_UCAST | WAKE_ARP; |
| 2916 | wol->wolopts |= WAKE_MAGIC; | 2914 | wol->wolopts |= WAKE_MAGIC; |
| 2917 | /* | 2915 | /* |
| @@ -2927,7 +2925,7 @@ static void velocity_ethtool_get_wol(struct net_device *dev, struct ethtool_woli | |||
| 2927 | 2925 | ||
| 2928 | static int velocity_ethtool_set_wol(struct net_device *dev, struct ethtool_wolinfo *wol) | 2926 | static int velocity_ethtool_set_wol(struct net_device *dev, struct ethtool_wolinfo *wol) |
| 2929 | { | 2927 | { |
| 2930 | struct velocity_info *vptr = dev->priv; | 2928 | struct velocity_info *vptr = netdev_priv(dev); |
| 2931 | 2929 | ||
| 2932 | if (!(wol->wolopts & (WAKE_PHY | WAKE_MAGIC | WAKE_UCAST | WAKE_ARP))) | 2930 | if (!(wol->wolopts & (WAKE_PHY | WAKE_MAGIC | WAKE_UCAST | WAKE_ARP))) |
| 2933 | return -EFAULT; | 2931 | return -EFAULT; |
| @@ -2992,7 +2990,7 @@ static struct ethtool_ops velocity_ethtool_ops = { | |||
| 2992 | 2990 | ||
| 2993 | static int velocity_mii_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd) | 2991 | static int velocity_mii_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd) |
| 2994 | { | 2992 | { |
| 2995 | struct velocity_info *vptr = dev->priv; | 2993 | struct velocity_info *vptr = netdev_priv(dev); |
| 2996 | struct mac_regs __iomem * regs = vptr->mac_regs; | 2994 | struct mac_regs __iomem * regs = vptr->mac_regs; |
| 2997 | unsigned long flags; | 2995 | unsigned long flags; |
| 2998 | struct mii_ioctl_data *miidata = if_mii(ifr); | 2996 | struct mii_ioctl_data *miidata = if_mii(ifr); |
