diff options
Diffstat (limited to 'drivers/net/ethernet/microchip')
| -rw-r--r-- | drivers/net/ethernet/microchip/Kconfig | 4 | ||||
| -rw-r--r-- | drivers/net/ethernet/microchip/enc28j60.c | 13 |
2 files changed, 8 insertions, 9 deletions
diff --git a/drivers/net/ethernet/microchip/Kconfig b/drivers/net/ethernet/microchip/Kconfig index 8163fd0f453..afaf0c07f37 100644 --- a/drivers/net/ethernet/microchip/Kconfig +++ b/drivers/net/ethernet/microchip/Kconfig @@ -5,7 +5,7 @@ config NET_VENDOR_MICROCHIP bool "Microchip devices" default y - depends on SPI && EXPERIMENTAL + depends on SPI ---help--- If you have a network (Ethernet) card belonging to this class, say Y and read the Ethernet-HOWTO, available from @@ -20,7 +20,7 @@ if NET_VENDOR_MICROCHIP config ENC28J60 tristate "ENC28J60 support" - depends on SPI && EXPERIMENTAL + depends on SPI select CRC32 ---help--- Support for the Microchip EN28J60 ethernet chip. diff --git a/drivers/net/ethernet/microchip/enc28j60.c b/drivers/net/ethernet/microchip/enc28j60.c index 6118bdad244..b1b5f66b8b6 100644 --- a/drivers/net/ethernet/microchip/enc28j60.c +++ b/drivers/net/ethernet/microchip/enc28j60.c @@ -527,7 +527,6 @@ static int enc28j60_set_mac_address(struct net_device *dev, void *addr) if (!is_valid_ether_addr(address->sa_data)) return -EADDRNOTAVAIL; - dev->addr_assign_type &= ~NET_ADDR_RANDOM; memcpy(dev->dev_addr, address->sa_data, dev->addr_len); return enc28j60_set_hw_macaddr(dev); } @@ -1541,7 +1540,7 @@ static const struct net_device_ops enc28j60_netdev_ops = { .ndo_validate_addr = eth_validate_addr, }; -static int __devinit enc28j60_probe(struct spi_device *spi) +static int enc28j60_probe(struct spi_device *spi) { struct net_device *dev; struct enc28j60_net *priv; @@ -1567,7 +1566,7 @@ static int __devinit enc28j60_probe(struct spi_device *spi) INIT_WORK(&priv->setrx_work, enc28j60_setrx_work_handler); INIT_WORK(&priv->irq_work, enc28j60_irq_work_handler); INIT_WORK(&priv->restart_work, enc28j60_restart_work_handler); - dev_set_drvdata(&spi->dev, priv); /* spi to priv reference */ + spi_set_drvdata(spi, priv); /* spi to priv reference */ SET_NETDEV_DEV(dev, &spi->dev); if (!enc28j60_chipset_init(dev)) { @@ -1594,7 +1593,7 @@ static int __devinit enc28j60_probe(struct spi_device *spi) dev->irq = spi->irq; dev->netdev_ops = &enc28j60_netdev_ops; dev->watchdog_timeo = TX_TIMEOUT; - SET_ETHTOOL_OPS(dev, &enc28j60_ethtool_ops); + dev->ethtool_ops = &enc28j60_ethtool_ops; enc28j60_lowpower(priv, true); @@ -1617,9 +1616,9 @@ error_alloc: return ret; } -static int __devexit enc28j60_remove(struct spi_device *spi) +static int enc28j60_remove(struct spi_device *spi) { - struct enc28j60_net *priv = dev_get_drvdata(&spi->dev); + struct enc28j60_net *priv = spi_get_drvdata(spi); if (netif_msg_drv(priv)) printk(KERN_DEBUG DRV_NAME ": remove\n"); @@ -1637,7 +1636,7 @@ static struct spi_driver enc28j60_driver = { .owner = THIS_MODULE, }, .probe = enc28j60_probe, - .remove = __devexit_p(enc28j60_remove), + .remove = enc28j60_remove, }; static int __init enc28j60_init(void) |
