diff options
Diffstat (limited to 'drivers/net/ethernet/8390/mcf8390.c')
-rw-r--r-- | drivers/net/ethernet/8390/mcf8390.c | 18 |
1 files changed, 7 insertions, 11 deletions
diff --git a/drivers/net/ethernet/8390/mcf8390.c b/drivers/net/ethernet/8390/mcf8390.c index 4ad8031ab669..8a7918d33419 100644 --- a/drivers/net/ethernet/8390/mcf8390.c +++ b/drivers/net/ethernet/8390/mcf8390.c @@ -374,8 +374,7 @@ static int mcf8390_init(struct net_device *dev) if (ret) return ret; - for (i = 0; i < ETH_ALEN; i++) - dev->dev_addr[i] = SA_prom[i]; + eth_hw_addr_set(dev, SA_prom); netdev_dbg(dev, "Found ethernet address: %pM\n", dev->dev_addr); @@ -406,15 +405,13 @@ static int mcf8390_init(struct net_device *dev) static int mcf8390_probe(struct platform_device *pdev) { struct net_device *dev; - struct resource *mem, *irq; + struct resource *mem; resource_size_t msize; - int ret; + int ret, irq; - irq = platform_get_resource(pdev, IORESOURCE_IRQ, 0); - if (irq == NULL) { - dev_err(&pdev->dev, "no IRQ specified?\n"); + irq = platform_get_irq(pdev, 0); + if (irq < 0) return -ENXIO; - } mem = platform_get_resource(pdev, IORESOURCE_MEM, 0); if (mem == NULL) { @@ -434,7 +431,7 @@ static int mcf8390_probe(struct platform_device *pdev) SET_NETDEV_DEV(dev, &pdev->dev); platform_set_drvdata(pdev, dev); - dev->irq = irq->start; + dev->irq = irq; dev->base_addr = mem->start; ret = mcf8390_init(dev); @@ -453,8 +450,7 @@ static int mcf8390_remove(struct platform_device *pdev) unregister_netdev(dev); mem = platform_get_resource(pdev, IORESOURCE_MEM, 0); - if (mem) - release_mem_region(mem->start, resource_size(mem)); + release_mem_region(mem->start, resource_size(mem)); free_netdev(dev); return 0; } |