aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/smsc911x.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/smsc911x.c')
-rw-r--r--drivers/net/smsc911x.c292
1 files changed, 146 insertions, 146 deletions
diff --git a/drivers/net/smsc911x.c b/drivers/net/smsc911x.c
index 4b42ecc63dcf..b8faab7780da 100644
--- a/drivers/net/smsc911x.c
+++ b/drivers/net/smsc911x.c
@@ -29,6 +29,8 @@
29 * 29 *
30 */ 30 */
31 31
32#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
33
32#include <linux/crc32.h> 34#include <linux/crc32.h>
33#include <linux/delay.h> 35#include <linux/delay.h>
34#include <linux/errno.h> 36#include <linux/errno.h>
@@ -248,8 +250,8 @@ static int smsc911x_mac_complete(struct smsc911x_data *pdata)
248 if (!(val & MAC_CSR_CMD_CSR_BUSY_)) 250 if (!(val & MAC_CSR_CMD_CSR_BUSY_))
249 return 0; 251 return 0;
250 } 252 }
251 SMSC_WARNING(HW, "Timed out waiting for MAC not BUSY. " 253 SMSC_WARN(pdata, hw, "Timed out waiting for MAC not BUSY. "
252 "MAC_CSR_CMD: 0x%08X", val); 254 "MAC_CSR_CMD: 0x%08X", val);
253 return -EIO; 255 return -EIO;
254} 256}
255 257
@@ -262,7 +264,7 @@ static u32 smsc911x_mac_read(struct smsc911x_data *pdata, unsigned int offset)
262 264
263 temp = smsc911x_reg_read(pdata, MAC_CSR_CMD); 265 temp = smsc911x_reg_read(pdata, MAC_CSR_CMD);
264 if (unlikely(temp & MAC_CSR_CMD_CSR_BUSY_)) { 266 if (unlikely(temp & MAC_CSR_CMD_CSR_BUSY_)) {
265 SMSC_WARNING(HW, "MAC busy at entry"); 267 SMSC_WARN(pdata, hw, "MAC busy at entry");
266 return 0xFFFFFFFF; 268 return 0xFFFFFFFF;
267 } 269 }
268 270
@@ -277,7 +279,7 @@ static u32 smsc911x_mac_read(struct smsc911x_data *pdata, unsigned int offset)
277 if (likely(smsc911x_mac_complete(pdata) == 0)) 279 if (likely(smsc911x_mac_complete(pdata) == 0))
278 return smsc911x_reg_read(pdata, MAC_CSR_DATA); 280 return smsc911x_reg_read(pdata, MAC_CSR_DATA);
279 281
280 SMSC_WARNING(HW, "MAC busy after read"); 282 SMSC_WARN(pdata, hw, "MAC busy after read");
281 return 0xFFFFFFFF; 283 return 0xFFFFFFFF;
282} 284}
283 285
@@ -291,8 +293,8 @@ static void smsc911x_mac_write(struct smsc911x_data *pdata,
291 293
292 temp = smsc911x_reg_read(pdata, MAC_CSR_CMD); 294 temp = smsc911x_reg_read(pdata, MAC_CSR_CMD);
293 if (unlikely(temp & MAC_CSR_CMD_CSR_BUSY_)) { 295 if (unlikely(temp & MAC_CSR_CMD_CSR_BUSY_)) {
294 SMSC_WARNING(HW, 296 SMSC_WARN(pdata, hw,
295 "smsc911x_mac_write failed, MAC busy at entry"); 297 "smsc911x_mac_write failed, MAC busy at entry");
296 return; 298 return;
297 } 299 }
298 300
@@ -310,8 +312,7 @@ static void smsc911x_mac_write(struct smsc911x_data *pdata,
310 if (likely(smsc911x_mac_complete(pdata) == 0)) 312 if (likely(smsc911x_mac_complete(pdata) == 0))
311 return; 313 return;
312 314
313 SMSC_WARNING(HW, 315 SMSC_WARN(pdata, hw, "smsc911x_mac_write failed, MAC busy after write");
314 "smsc911x_mac_write failed, MAC busy after write");
315} 316}
316 317
317/* Get a phy register */ 318/* Get a phy register */
@@ -326,8 +327,7 @@ static int smsc911x_mii_read(struct mii_bus *bus, int phyaddr, int regidx)
326 327
327 /* Confirm MII not busy */ 328 /* Confirm MII not busy */
328 if (unlikely(smsc911x_mac_read(pdata, MII_ACC) & MII_ACC_MII_BUSY_)) { 329 if (unlikely(smsc911x_mac_read(pdata, MII_ACC) & MII_ACC_MII_BUSY_)) {
329 SMSC_WARNING(HW, 330 SMSC_WARN(pdata, hw, "MII is busy in smsc911x_mii_read???");
330 "MII is busy in smsc911x_mii_read???");
331 reg = -EIO; 331 reg = -EIO;
332 goto out; 332 goto out;
333 } 333 }
@@ -343,7 +343,7 @@ static int smsc911x_mii_read(struct mii_bus *bus, int phyaddr, int regidx)
343 goto out; 343 goto out;
344 } 344 }
345 345
346 SMSC_WARNING(HW, "Timed out waiting for MII read to finish"); 346 SMSC_WARN(pdata, hw, "Timed out waiting for MII read to finish");
347 reg = -EIO; 347 reg = -EIO;
348 348
349out: 349out:
@@ -364,8 +364,7 @@ static int smsc911x_mii_write(struct mii_bus *bus, int phyaddr, int regidx,
364 364
365 /* Confirm MII not busy */ 365 /* Confirm MII not busy */
366 if (unlikely(smsc911x_mac_read(pdata, MII_ACC) & MII_ACC_MII_BUSY_)) { 366 if (unlikely(smsc911x_mac_read(pdata, MII_ACC) & MII_ACC_MII_BUSY_)) {
367 SMSC_WARNING(HW, 367 SMSC_WARN(pdata, hw, "MII is busy in smsc911x_mii_write???");
368 "MII is busy in smsc911x_mii_write???");
369 reg = -EIO; 368 reg = -EIO;
370 goto out; 369 goto out;
371 } 370 }
@@ -385,7 +384,7 @@ static int smsc911x_mii_write(struct mii_bus *bus, int phyaddr, int regidx,
385 goto out; 384 goto out;
386 } 385 }
387 386
388 SMSC_WARNING(HW, "Timed out waiting for MII write to finish"); 387 SMSC_WARN(pdata, hw, "Timed out waiting for MII write to finish");
389 reg = -EIO; 388 reg = -EIO;
390 389
391out: 390out:
@@ -426,18 +425,20 @@ static void smsc911x_phy_initialise_external(struct smsc911x_data *pdata)
426 unsigned int hwcfg = smsc911x_reg_read(pdata, HW_CFG); 425 unsigned int hwcfg = smsc911x_reg_read(pdata, HW_CFG);
427 426
428 if (pdata->config.flags & SMSC911X_FORCE_INTERNAL_PHY) { 427 if (pdata->config.flags & SMSC911X_FORCE_INTERNAL_PHY) {
429 SMSC_TRACE(HW, "Forcing internal PHY"); 428 SMSC_TRACE(pdata, hw, "Forcing internal PHY");
430 pdata->using_extphy = 0; 429 pdata->using_extphy = 0;
431 } else if (pdata->config.flags & SMSC911X_FORCE_EXTERNAL_PHY) { 430 } else if (pdata->config.flags & SMSC911X_FORCE_EXTERNAL_PHY) {
432 SMSC_TRACE(HW, "Forcing external PHY"); 431 SMSC_TRACE(pdata, hw, "Forcing external PHY");
433 smsc911x_phy_enable_external(pdata); 432 smsc911x_phy_enable_external(pdata);
434 pdata->using_extphy = 1; 433 pdata->using_extphy = 1;
435 } else if (hwcfg & HW_CFG_EXT_PHY_DET_) { 434 } else if (hwcfg & HW_CFG_EXT_PHY_DET_) {
436 SMSC_TRACE(HW, "HW_CFG EXT_PHY_DET set, using external PHY"); 435 SMSC_TRACE(pdata, hw,
436 "HW_CFG EXT_PHY_DET set, using external PHY");
437 smsc911x_phy_enable_external(pdata); 437 smsc911x_phy_enable_external(pdata);
438 pdata->using_extphy = 1; 438 pdata->using_extphy = 1;
439 } else { 439 } else {
440 SMSC_TRACE(HW, "HW_CFG EXT_PHY_DET clear, using internal PHY"); 440 SMSC_TRACE(pdata, hw,
441 "HW_CFG EXT_PHY_DET clear, using internal PHY");
441 pdata->using_extphy = 0; 442 pdata->using_extphy = 0;
442 } 443 }
443} 444}
@@ -509,13 +510,13 @@ static int smsc911x_phy_check_loopbackpkt(struct smsc911x_data *pdata)
509 } while ((i--) && (!status)); 510 } while ((i--) && (!status));
510 511
511 if (!status) { 512 if (!status) {
512 SMSC_WARNING(HW, "Failed to transmit " 513 SMSC_WARN(pdata, hw,
513 "during loopback test"); 514 "Failed to transmit during loopback test");
514 continue; 515 continue;
515 } 516 }
516 if (status & TX_STS_ES_) { 517 if (status & TX_STS_ES_) {
517 SMSC_WARNING(HW, "Transmit encountered " 518 SMSC_WARN(pdata, hw,
518 "errors during loopback test"); 519 "Transmit encountered errors during loopback test");
519 continue; 520 continue;
520 } 521 }
521 522
@@ -527,13 +528,13 @@ static int smsc911x_phy_check_loopbackpkt(struct smsc911x_data *pdata)
527 } while ((i--) && (!status)); 528 } while ((i--) && (!status));
528 529
529 if (!status) { 530 if (!status) {
530 SMSC_WARNING(HW, 531 SMSC_WARN(pdata, hw,
531 "Failed to receive during loopback test"); 532 "Failed to receive during loopback test");
532 continue; 533 continue;
533 } 534 }
534 if (status & RX_STS_ES_) { 535 if (status & RX_STS_ES_) {
535 SMSC_WARNING(HW, "Receive encountered " 536 SMSC_WARN(pdata, hw,
536 "errors during loopback test"); 537 "Receive encountered errors during loopback test");
537 continue; 538 continue;
538 } 539 }
539 540
@@ -546,9 +547,9 @@ static int smsc911x_phy_check_loopbackpkt(struct smsc911x_data *pdata)
546 smsc911x_rx_readfifo(pdata, (unsigned int *)bufp, rdsz); 547 smsc911x_rx_readfifo(pdata, (unsigned int *)bufp, rdsz);
547 548
548 if (pktlength != (MIN_PACKET_SIZE + 4)) { 549 if (pktlength != (MIN_PACKET_SIZE + 4)) {
549 SMSC_WARNING(HW, "Unexpected packet size " 550 SMSC_WARN(pdata, hw, "Unexpected packet size "
550 "during loop back test, size=%d, will retry", 551 "during loop back test, size=%d, will retry",
551 pktlength); 552 pktlength);
552 } else { 553 } else {
553 unsigned int j; 554 unsigned int j;
554 int mismatch = 0; 555 int mismatch = 0;
@@ -560,12 +561,12 @@ static int smsc911x_phy_check_loopbackpkt(struct smsc911x_data *pdata)
560 } 561 }
561 } 562 }
562 if (!mismatch) { 563 if (!mismatch) {
563 SMSC_TRACE(HW, "Successfully verified " 564 SMSC_TRACE(pdata, hw, "Successfully verified "
564 "loopback packet"); 565 "loopback packet");
565 return 0; 566 return 0;
566 } else { 567 } else {
567 SMSC_WARNING(HW, "Data mismatch " 568 SMSC_WARN(pdata, hw, "Data mismatch "
568 "during loop back test, will retry"); 569 "during loop back test, will retry");
569 } 570 }
570 } 571 }
571 } 572 }
@@ -582,7 +583,7 @@ static int smsc911x_phy_reset(struct smsc911x_data *pdata)
582 BUG_ON(!phy_dev); 583 BUG_ON(!phy_dev);
583 BUG_ON(!phy_dev->bus); 584 BUG_ON(!phy_dev->bus);
584 585
585 SMSC_TRACE(HW, "Performing PHY BCR Reset"); 586 SMSC_TRACE(pdata, hw, "Performing PHY BCR Reset");
586 smsc911x_mii_write(phy_dev->bus, phy_dev->addr, MII_BMCR, BMCR_RESET); 587 smsc911x_mii_write(phy_dev->bus, phy_dev->addr, MII_BMCR, BMCR_RESET);
587 do { 588 do {
588 msleep(1); 589 msleep(1);
@@ -591,7 +592,7 @@ static int smsc911x_phy_reset(struct smsc911x_data *pdata)
591 } while ((i--) && (temp & BMCR_RESET)); 592 } while ((i--) && (temp & BMCR_RESET));
592 593
593 if (temp & BMCR_RESET) { 594 if (temp & BMCR_RESET) {
594 SMSC_WARNING(HW, "PHY reset failed to complete."); 595 SMSC_WARN(pdata, hw, "PHY reset failed to complete");
595 return -EIO; 596 return -EIO;
596 } 597 }
597 /* Extra delay required because the phy may not be completed with 598 /* Extra delay required because the phy may not be completed with
@@ -695,11 +696,11 @@ static void smsc911x_phy_update_flowcontrol(struct smsc911x_data *pdata)
695 else 696 else
696 afc &= ~0xF; 697 afc &= ~0xF;
697 698
698 SMSC_TRACE(HW, "rx pause %s, tx pause %s", 699 SMSC_TRACE(pdata, hw, "rx pause %s, tx pause %s",
699 (cap & FLOW_CTRL_RX ? "enabled" : "disabled"), 700 (cap & FLOW_CTRL_RX ? "enabled" : "disabled"),
700 (cap & FLOW_CTRL_TX ? "enabled" : "disabled")); 701 (cap & FLOW_CTRL_TX ? "enabled" : "disabled"));
701 } else { 702 } else {
702 SMSC_TRACE(HW, "half duplex"); 703 SMSC_TRACE(pdata, hw, "half duplex");
703 flow = 0; 704 flow = 0;
704 afc |= 0xF; 705 afc |= 0xF;
705 } 706 }
@@ -722,17 +723,17 @@ static void smsc911x_phy_adjust_link(struct net_device *dev)
722 723
723 if (phy_dev->duplex != pdata->last_duplex) { 724 if (phy_dev->duplex != pdata->last_duplex) {
724 unsigned int mac_cr; 725 unsigned int mac_cr;
725 SMSC_TRACE(HW, "duplex state has changed"); 726 SMSC_TRACE(pdata, hw, "duplex state has changed");
726 727
727 spin_lock_irqsave(&pdata->mac_lock, flags); 728 spin_lock_irqsave(&pdata->mac_lock, flags);
728 mac_cr = smsc911x_mac_read(pdata, MAC_CR); 729 mac_cr = smsc911x_mac_read(pdata, MAC_CR);
729 if (phy_dev->duplex) { 730 if (phy_dev->duplex) {
730 SMSC_TRACE(HW, 731 SMSC_TRACE(pdata, hw,
731 "configuring for full duplex mode"); 732 "configuring for full duplex mode");
732 mac_cr |= MAC_CR_FDPX_; 733 mac_cr |= MAC_CR_FDPX_;
733 } else { 734 } else {
734 SMSC_TRACE(HW, 735 SMSC_TRACE(pdata, hw,
735 "configuring for half duplex mode"); 736 "configuring for half duplex mode");
736 mac_cr &= ~MAC_CR_FDPX_; 737 mac_cr &= ~MAC_CR_FDPX_;
737 } 738 }
738 smsc911x_mac_write(pdata, MAC_CR, mac_cr); 739 smsc911x_mac_write(pdata, MAC_CR, mac_cr);
@@ -744,9 +745,9 @@ static void smsc911x_phy_adjust_link(struct net_device *dev)
744 745
745 carrier = netif_carrier_ok(dev); 746 carrier = netif_carrier_ok(dev);
746 if (carrier != pdata->last_carrier) { 747 if (carrier != pdata->last_carrier) {
747 SMSC_TRACE(HW, "carrier state has changed"); 748 SMSC_TRACE(pdata, hw, "carrier state has changed");
748 if (carrier) { 749 if (carrier) {
749 SMSC_TRACE(HW, "configuring for carrier OK"); 750 SMSC_TRACE(pdata, hw, "configuring for carrier OK");
750 if ((pdata->gpio_orig_setting & GPIO_CFG_LED1_EN_) && 751 if ((pdata->gpio_orig_setting & GPIO_CFG_LED1_EN_) &&
751 (!pdata->using_extphy)) { 752 (!pdata->using_extphy)) {
752 /* Restore original GPIO configuration */ 753 /* Restore original GPIO configuration */
@@ -755,7 +756,7 @@ static void smsc911x_phy_adjust_link(struct net_device *dev)
755 pdata->gpio_setting); 756 pdata->gpio_setting);
756 } 757 }
757 } else { 758 } else {
758 SMSC_TRACE(HW, "configuring for no carrier"); 759 SMSC_TRACE(pdata, hw, "configuring for no carrier");
759 /* Check global setting that LED1 760 /* Check global setting that LED1
760 * usage is 10/100 indicator */ 761 * usage is 10/100 indicator */
761 pdata->gpio_setting = smsc911x_reg_read(pdata, 762 pdata->gpio_setting = smsc911x_reg_read(pdata,
@@ -787,25 +788,25 @@ static int smsc911x_mii_probe(struct net_device *dev)
787 /* find the first phy */ 788 /* find the first phy */
788 phydev = phy_find_first(pdata->mii_bus); 789 phydev = phy_find_first(pdata->mii_bus);
789 if (!phydev) { 790 if (!phydev) {
790 pr_err("%s: no PHY found\n", dev->name); 791 netdev_err(dev, "no PHY found\n");
791 return -ENODEV; 792 return -ENODEV;
792 } 793 }
793 794
794 SMSC_TRACE(PROBE, "PHY: addr %d, phy_id 0x%08X", 795 SMSC_TRACE(pdata, probe, "PHY: addr %d, phy_id 0x%08X",
795 phydev->addr, phydev->phy_id); 796 phydev->addr, phydev->phy_id);
796 797
797 ret = phy_connect_direct(dev, phydev, 798 ret = phy_connect_direct(dev, phydev,
798 &smsc911x_phy_adjust_link, 0, 799 &smsc911x_phy_adjust_link, 0,
799 pdata->config.phy_interface); 800 pdata->config.phy_interface);
800 801
801 if (ret) { 802 if (ret) {
802 pr_err("%s: Could not attach to PHY\n", dev->name); 803 netdev_err(dev, "Could not attach to PHY\n");
803 return ret; 804 return ret;
804 } 805 }
805 806
806 pr_info("%s: attached PHY driver [%s] (mii_bus:phy_addr=%s, irq=%d)\n", 807 netdev_info(dev,
807 dev->name, phydev->drv->name, 808 "attached PHY driver [%s] (mii_bus:phy_addr=%s, irq=%d)\n",
808 dev_name(&phydev->dev), phydev->irq); 809 phydev->drv->name, dev_name(&phydev->dev), phydev->irq);
809 810
810 /* mask with MAC supported features */ 811 /* mask with MAC supported features */
811 phydev->supported &= (PHY_BASIC_FEATURES | SUPPORTED_Pause | 812 phydev->supported &= (PHY_BASIC_FEATURES | SUPPORTED_Pause |
@@ -818,13 +819,13 @@ static int smsc911x_mii_probe(struct net_device *dev)
818 819
819#ifdef USE_PHY_WORK_AROUND 820#ifdef USE_PHY_WORK_AROUND
820 if (smsc911x_phy_loopbacktest(dev) < 0) { 821 if (smsc911x_phy_loopbacktest(dev) < 0) {
821 SMSC_WARNING(HW, "Failed Loop Back Test"); 822 SMSC_WARN(pdata, hw, "Failed Loop Back Test");
822 return -ENODEV; 823 return -ENODEV;
823 } 824 }
824 SMSC_TRACE(HW, "Passed Loop Back Test"); 825 SMSC_TRACE(pdata, hw, "Passed Loop Back Test");
825#endif /* USE_PHY_WORK_AROUND */ 826#endif /* USE_PHY_WORK_AROUND */
826 827
827 SMSC_TRACE(HW, "phy initialised successfully"); 828 SMSC_TRACE(pdata, hw, "phy initialised successfully");
828 return 0; 829 return 0;
829} 830}
830 831
@@ -860,8 +861,8 @@ static int __devinit smsc911x_mii_init(struct platform_device *pdev,
860 smsc911x_phy_initialise_external(pdata); 861 smsc911x_phy_initialise_external(pdata);
861 break; 862 break;
862 default: 863 default:
863 SMSC_TRACE(HW, "External PHY is not supported, " 864 SMSC_TRACE(pdata, hw, "External PHY is not supported, "
864 "using internal PHY"); 865 "using internal PHY");
865 pdata->using_extphy = 0; 866 pdata->using_extphy = 0;
866 break; 867 break;
867 } 868 }
@@ -872,12 +873,12 @@ static int __devinit smsc911x_mii_init(struct platform_device *pdev,
872 } 873 }
873 874
874 if (mdiobus_register(pdata->mii_bus)) { 875 if (mdiobus_register(pdata->mii_bus)) {
875 SMSC_WARNING(PROBE, "Error registering mii bus"); 876 SMSC_WARN(pdata, probe, "Error registering mii bus");
876 goto err_out_free_bus_2; 877 goto err_out_free_bus_2;
877 } 878 }
878 879
879 if (smsc911x_mii_probe(dev) < 0) { 880 if (smsc911x_mii_probe(dev) < 0) {
880 SMSC_WARNING(PROBE, "Error registering mii bus"); 881 SMSC_WARN(pdata, probe, "Error registering mii bus");
881 goto err_out_unregister_bus_3; 882 goto err_out_unregister_bus_3;
882 } 883 }
883 884
@@ -913,8 +914,7 @@ static void smsc911x_tx_update_txcounters(struct net_device *dev)
913 * does not reference a hardware defined reserved bit 914 * does not reference a hardware defined reserved bit
914 * but rather a driver defined one. 915 * but rather a driver defined one.
915 */ 916 */
916 SMSC_WARNING(HW, 917 SMSC_WARN(pdata, hw, "Packet tag reserved bit is high");
917 "Packet tag reserved bit is high");
918 } else { 918 } else {
919 if (unlikely(tx_stat & TX_STS_ES_)) { 919 if (unlikely(tx_stat & TX_STS_ES_)) {
920 dev->stats.tx_errors++; 920 dev->stats.tx_errors++;
@@ -977,8 +977,8 @@ smsc911x_rx_fastforward(struct smsc911x_data *pdata, unsigned int pktbytes)
977 } while ((val & RX_DP_CTRL_RX_FFWD_) && --timeout); 977 } while ((val & RX_DP_CTRL_RX_FFWD_) && --timeout);
978 978
979 if (unlikely(timeout == 0)) 979 if (unlikely(timeout == 0))
980 SMSC_WARNING(HW, "Timed out waiting for " 980 SMSC_WARN(pdata, hw, "Timed out waiting for "
981 "RX FFWD to finish, RX_DP_CTRL: 0x%08X", val); 981 "RX FFWD to finish, RX_DP_CTRL: 0x%08X", val);
982 } else { 982 } else {
983 unsigned int temp; 983 unsigned int temp;
984 while (pktwords--) 984 while (pktwords--)
@@ -1021,8 +1021,8 @@ static int smsc911x_poll(struct napi_struct *napi, int budget)
1021 smsc911x_rx_counterrors(dev, rxstat); 1021 smsc911x_rx_counterrors(dev, rxstat);
1022 1022
1023 if (unlikely(rxstat & RX_STS_ES_)) { 1023 if (unlikely(rxstat & RX_STS_ES_)) {
1024 SMSC_WARNING(RX_ERR, 1024 SMSC_WARN(pdata, rx_err,
1025 "Discarding packet with error bit set"); 1025 "Discarding packet with error bit set");
1026 /* Packet has an error, discard it and continue with 1026 /* Packet has an error, discard it and continue with
1027 * the next */ 1027 * the next */
1028 smsc911x_rx_fastforward(pdata, pktwords); 1028 smsc911x_rx_fastforward(pdata, pktwords);
@@ -1032,8 +1032,8 @@ static int smsc911x_poll(struct napi_struct *napi, int budget)
1032 1032
1033 skb = netdev_alloc_skb(dev, pktlength + NET_IP_ALIGN); 1033 skb = netdev_alloc_skb(dev, pktlength + NET_IP_ALIGN);
1034 if (unlikely(!skb)) { 1034 if (unlikely(!skb)) {
1035 SMSC_WARNING(RX_ERR, 1035 SMSC_WARN(pdata, rx_err,
1036 "Unable to allocate skb for rx packet"); 1036 "Unable to allocate skb for rx packet");
1037 /* Drop the packet and stop this polling iteration */ 1037 /* Drop the packet and stop this polling iteration */
1038 smsc911x_rx_fastforward(pdata, pktwords); 1038 smsc911x_rx_fastforward(pdata, pktwords);
1039 dev->stats.rx_dropped++; 1039 dev->stats.rx_dropped++;
@@ -1083,8 +1083,8 @@ static void smsc911x_rx_multicast_update(struct smsc911x_data *pdata)
1083 smsc911x_mac_write(pdata, MAC_CR, mac_cr); 1083 smsc911x_mac_write(pdata, MAC_CR, mac_cr);
1084 smsc911x_mac_write(pdata, HASHH, pdata->hashhi); 1084 smsc911x_mac_write(pdata, HASHH, pdata->hashhi);
1085 smsc911x_mac_write(pdata, HASHL, pdata->hashlo); 1085 smsc911x_mac_write(pdata, HASHL, pdata->hashlo);
1086 SMSC_TRACE(HW, "maccr 0x%08X, HASHH 0x%08X, HASHL 0x%08X", 1086 SMSC_TRACE(pdata, hw, "maccr 0x%08X, HASHH 0x%08X, HASHL 0x%08X",
1087 mac_cr, pdata->hashhi, pdata->hashlo); 1087 mac_cr, pdata->hashhi, pdata->hashlo);
1088} 1088}
1089 1089
1090static void smsc911x_rx_multicast_update_workaround(struct smsc911x_data *pdata) 1090static void smsc911x_rx_multicast_update_workaround(struct smsc911x_data *pdata)
@@ -1102,7 +1102,7 @@ static void smsc911x_rx_multicast_update_workaround(struct smsc911x_data *pdata)
1102 1102
1103 /* Check Rx has stopped */ 1103 /* Check Rx has stopped */
1104 if (smsc911x_mac_read(pdata, MAC_CR) & MAC_CR_RXEN_) 1104 if (smsc911x_mac_read(pdata, MAC_CR) & MAC_CR_RXEN_)
1105 SMSC_WARNING(DRV, "Rx not stopped"); 1105 SMSC_WARN(pdata, drv, "Rx not stopped");
1106 1106
1107 /* Perform the update - safe to do now Rx has stopped */ 1107 /* Perform the update - safe to do now Rx has stopped */
1108 smsc911x_rx_multicast_update(pdata); 1108 smsc911x_rx_multicast_update(pdata);
@@ -1131,7 +1131,7 @@ static int smsc911x_soft_reset(struct smsc911x_data *pdata)
1131 } while ((--timeout) && (temp & HW_CFG_SRST_)); 1131 } while ((--timeout) && (temp & HW_CFG_SRST_));
1132 1132
1133 if (unlikely(temp & HW_CFG_SRST_)) { 1133 if (unlikely(temp & HW_CFG_SRST_)) {
1134 SMSC_WARNING(DRV, "Failed to complete reset"); 1134 SMSC_WARN(pdata, drv, "Failed to complete reset");
1135 return -EIO; 1135 return -EIO;
1136 } 1136 }
1137 return 0; 1137 return 0;
@@ -1160,18 +1160,18 @@ static int smsc911x_open(struct net_device *dev)
1160 1160
1161 /* if the phy is not yet registered, retry later*/ 1161 /* if the phy is not yet registered, retry later*/
1162 if (!pdata->phy_dev) { 1162 if (!pdata->phy_dev) {
1163 SMSC_WARNING(HW, "phy_dev is NULL"); 1163 SMSC_WARN(pdata, hw, "phy_dev is NULL");
1164 return -EAGAIN; 1164 return -EAGAIN;
1165 } 1165 }
1166 1166
1167 if (!is_valid_ether_addr(dev->dev_addr)) { 1167 if (!is_valid_ether_addr(dev->dev_addr)) {
1168 SMSC_WARNING(HW, "dev_addr is not a valid MAC address"); 1168 SMSC_WARN(pdata, hw, "dev_addr is not a valid MAC address");
1169 return -EADDRNOTAVAIL; 1169 return -EADDRNOTAVAIL;
1170 } 1170 }
1171 1171
1172 /* Reset the LAN911x */ 1172 /* Reset the LAN911x */
1173 if (smsc911x_soft_reset(pdata)) { 1173 if (smsc911x_soft_reset(pdata)) {
1174 SMSC_WARNING(HW, "soft reset failed"); 1174 SMSC_WARN(pdata, hw, "soft reset failed");
1175 return -EIO; 1175 return -EIO;
1176 } 1176 }
1177 1177
@@ -1191,8 +1191,8 @@ static int smsc911x_open(struct net_device *dev)
1191 } 1191 }
1192 1192
1193 if (unlikely(timeout == 0)) 1193 if (unlikely(timeout == 0))
1194 SMSC_WARNING(IFUP, 1194 SMSC_WARN(pdata, ifup,
1195 "Timed out waiting for EEPROM busy bit to clear"); 1195 "Timed out waiting for EEPROM busy bit to clear");
1196 1196
1197 smsc911x_reg_write(pdata, GPIO_CFG, 0x70070000); 1197 smsc911x_reg_write(pdata, GPIO_CFG, 0x70070000);
1198 1198
@@ -1210,22 +1210,22 @@ static int smsc911x_open(struct net_device *dev)
1210 intcfg = ((10 << 24) | INT_CFG_IRQ_EN_); 1210 intcfg = ((10 << 24) | INT_CFG_IRQ_EN_);
1211 1211
1212 if (pdata->config.irq_polarity) { 1212 if (pdata->config.irq_polarity) {
1213 SMSC_TRACE(IFUP, "irq polarity: active high"); 1213 SMSC_TRACE(pdata, ifup, "irq polarity: active high");
1214 intcfg |= INT_CFG_IRQ_POL_; 1214 intcfg |= INT_CFG_IRQ_POL_;
1215 } else { 1215 } else {
1216 SMSC_TRACE(IFUP, "irq polarity: active low"); 1216 SMSC_TRACE(pdata, ifup, "irq polarity: active low");
1217 } 1217 }
1218 1218
1219 if (pdata->config.irq_type) { 1219 if (pdata->config.irq_type) {
1220 SMSC_TRACE(IFUP, "irq type: push-pull"); 1220 SMSC_TRACE(pdata, ifup, "irq type: push-pull");
1221 intcfg |= INT_CFG_IRQ_TYPE_; 1221 intcfg |= INT_CFG_IRQ_TYPE_;
1222 } else { 1222 } else {
1223 SMSC_TRACE(IFUP, "irq type: open drain"); 1223 SMSC_TRACE(pdata, ifup, "irq type: open drain");
1224 } 1224 }
1225 1225
1226 smsc911x_reg_write(pdata, INT_CFG, intcfg); 1226 smsc911x_reg_write(pdata, INT_CFG, intcfg);
1227 1227
1228 SMSC_TRACE(IFUP, "Testing irq handler using IRQ %d", dev->irq); 1228 SMSC_TRACE(pdata, ifup, "Testing irq handler using IRQ %d", dev->irq);
1229 pdata->software_irq_signal = 0; 1229 pdata->software_irq_signal = 0;
1230 smp_wmb(); 1230 smp_wmb();
1231 1231
@@ -1241,14 +1241,15 @@ static int smsc911x_open(struct net_device *dev)
1241 } 1241 }
1242 1242
1243 if (!pdata->software_irq_signal) { 1243 if (!pdata->software_irq_signal) {
1244 dev_warn(&dev->dev, "ISR failed signaling test (IRQ %d)\n", 1244 netdev_warn(dev, "ISR failed signaling test (IRQ %d)\n",
1245 dev->irq); 1245 dev->irq);
1246 return -ENODEV; 1246 return -ENODEV;
1247 } 1247 }
1248 SMSC_TRACE(IFUP, "IRQ handler passed test using IRQ %d", dev->irq); 1248 SMSC_TRACE(pdata, ifup, "IRQ handler passed test using IRQ %d",
1249 dev->irq);
1249 1250
1250 dev_info(&dev->dev, "SMSC911x/921x identified at %#08lx, IRQ: %d\n", 1251 netdev_info(dev, "SMSC911x/921x identified at %#08lx, IRQ: %d\n",
1251 (unsigned long)pdata->ioaddr, dev->irq); 1252 (unsigned long)pdata->ioaddr, dev->irq);
1252 1253
1253 /* Reset the last known duplex and carrier */ 1254 /* Reset the last known duplex and carrier */
1254 pdata->last_duplex = -1; 1255 pdata->last_duplex = -1;
@@ -1313,7 +1314,7 @@ static int smsc911x_stop(struct net_device *dev)
1313 if (pdata->phy_dev) 1314 if (pdata->phy_dev)
1314 phy_stop(pdata->phy_dev); 1315 phy_stop(pdata->phy_dev);
1315 1316
1316 SMSC_TRACE(IFDOWN, "Interface stopped"); 1317 SMSC_TRACE(pdata, ifdown, "Interface stopped");
1317 return 0; 1318 return 0;
1318} 1319}
1319 1320
@@ -1331,8 +1332,8 @@ static int smsc911x_hard_start_xmit(struct sk_buff *skb, struct net_device *dev)
1331 freespace = smsc911x_reg_read(pdata, TX_FIFO_INF) & TX_FIFO_INF_TDFREE_; 1332 freespace = smsc911x_reg_read(pdata, TX_FIFO_INF) & TX_FIFO_INF_TDFREE_;
1332 1333
1333 if (unlikely(freespace < TX_FIFO_LOW_THRESHOLD)) 1334 if (unlikely(freespace < TX_FIFO_LOW_THRESHOLD))
1334 SMSC_WARNING(TX_ERR, 1335 SMSC_WARN(pdata, tx_err,
1335 "Tx data fifo low, space available: %d", freespace); 1336 "Tx data fifo low, space available: %d", freespace);
1336 1337
1337 /* Word alignment adjustment */ 1338 /* Word alignment adjustment */
1338 tx_cmd_a = (u32)((ulong)skb->data & 0x03) << 16; 1339 tx_cmd_a = (u32)((ulong)skb->data & 0x03) << 16;
@@ -1432,7 +1433,7 @@ static void smsc911x_set_multicast_list(struct net_device *dev)
1432 * receiving data */ 1433 * receiving data */
1433 if (!pdata->multicast_update_pending) { 1434 if (!pdata->multicast_update_pending) {
1434 unsigned int temp; 1435 unsigned int temp;
1435 SMSC_TRACE(HW, "scheduling mcast update"); 1436 SMSC_TRACE(pdata, hw, "scheduling mcast update");
1436 pdata->multicast_update_pending = 1; 1437 pdata->multicast_update_pending = 1;
1437 1438
1438 /* Request the hardware to stop, then perform the 1439 /* Request the hardware to stop, then perform the
@@ -1474,7 +1475,7 @@ static irqreturn_t smsc911x_irqhandler(int irq, void *dev_id)
1474 if (unlikely(intsts & inten & INT_STS_RXSTOP_INT_)) { 1475 if (unlikely(intsts & inten & INT_STS_RXSTOP_INT_)) {
1475 /* Called when there is a multicast update scheduled and 1476 /* Called when there is a multicast update scheduled and
1476 * it is now safe to complete the update */ 1477 * it is now safe to complete the update */
1477 SMSC_TRACE(INTR, "RX Stop interrupt"); 1478 SMSC_TRACE(pdata, intr, "RX Stop interrupt");
1478 smsc911x_reg_write(pdata, INT_STS, INT_STS_RXSTOP_INT_); 1479 smsc911x_reg_write(pdata, INT_STS, INT_STS_RXSTOP_INT_);
1479 if (pdata->multicast_update_pending) 1480 if (pdata->multicast_update_pending)
1480 smsc911x_rx_multicast_update_workaround(pdata); 1481 smsc911x_rx_multicast_update_workaround(pdata);
@@ -1491,7 +1492,7 @@ static irqreturn_t smsc911x_irqhandler(int irq, void *dev_id)
1491 } 1492 }
1492 1493
1493 if (unlikely(intsts & inten & INT_STS_RXE_)) { 1494 if (unlikely(intsts & inten & INT_STS_RXE_)) {
1494 SMSC_TRACE(INTR, "RX Error interrupt"); 1495 SMSC_TRACE(pdata, intr, "RX Error interrupt");
1495 smsc911x_reg_write(pdata, INT_STS, INT_STS_RXE_); 1496 smsc911x_reg_write(pdata, INT_STS, INT_STS_RXE_);
1496 serviced = IRQ_HANDLED; 1497 serviced = IRQ_HANDLED;
1497 } 1498 }
@@ -1505,8 +1506,7 @@ static irqreturn_t smsc911x_irqhandler(int irq, void *dev_id)
1505 /* Schedule a NAPI poll */ 1506 /* Schedule a NAPI poll */
1506 __napi_schedule(&pdata->napi); 1507 __napi_schedule(&pdata->napi);
1507 } else { 1508 } else {
1508 SMSC_WARNING(RX_ERR, 1509 SMSC_WARN(pdata, rx_err, "napi_schedule_prep failed");
1509 "napi_schedule_prep failed");
1510 } 1510 }
1511 serviced = IRQ_HANDLED; 1511 serviced = IRQ_HANDLED;
1512 } 1512 }
@@ -1543,7 +1543,7 @@ static int smsc911x_set_mac_address(struct net_device *dev, void *p)
1543 smsc911x_set_hw_mac_address(pdata, dev->dev_addr); 1543 smsc911x_set_hw_mac_address(pdata, dev->dev_addr);
1544 spin_unlock_irq(&pdata->mac_lock); 1544 spin_unlock_irq(&pdata->mac_lock);
1545 1545
1546 dev_info(&dev->dev, "MAC Address: %pM\n", dev->dev_addr); 1546 netdev_info(dev, "MAC Address: %pM\n", dev->dev_addr);
1547 1547
1548 return 0; 1548 return 0;
1549} 1549}
@@ -1649,9 +1649,9 @@ static int smsc911x_eeprom_send_cmd(struct smsc911x_data *pdata, u32 op)
1649 int timeout = 100; 1649 int timeout = 100;
1650 u32 e2cmd; 1650 u32 e2cmd;
1651 1651
1652 SMSC_TRACE(DRV, "op 0x%08x", op); 1652 SMSC_TRACE(pdata, drv, "op 0x%08x", op);
1653 if (smsc911x_reg_read(pdata, E2P_CMD) & E2P_CMD_EPC_BUSY_) { 1653 if (smsc911x_reg_read(pdata, E2P_CMD) & E2P_CMD_EPC_BUSY_) {
1654 SMSC_WARNING(DRV, "Busy at start"); 1654 SMSC_WARN(pdata, drv, "Busy at start");
1655 return -EBUSY; 1655 return -EBUSY;
1656 } 1656 }
1657 1657
@@ -1664,12 +1664,12 @@ static int smsc911x_eeprom_send_cmd(struct smsc911x_data *pdata, u32 op)
1664 } while ((e2cmd & E2P_CMD_EPC_BUSY_) && (--timeout)); 1664 } while ((e2cmd & E2P_CMD_EPC_BUSY_) && (--timeout));
1665 1665
1666 if (!timeout) { 1666 if (!timeout) {
1667 SMSC_TRACE(DRV, "TIMED OUT"); 1667 SMSC_TRACE(pdata, drv, "TIMED OUT");
1668 return -EAGAIN; 1668 return -EAGAIN;
1669 } 1669 }
1670 1670
1671 if (e2cmd & E2P_CMD_EPC_TIMEOUT_) { 1671 if (e2cmd & E2P_CMD_EPC_TIMEOUT_) {
1672 SMSC_TRACE(DRV, "Error occurred during eeprom operation"); 1672 SMSC_TRACE(pdata, drv, "Error occurred during eeprom operation");
1673 return -EINVAL; 1673 return -EINVAL;
1674 } 1674 }
1675 1675
@@ -1682,7 +1682,7 @@ static int smsc911x_eeprom_read_location(struct smsc911x_data *pdata,
1682 u32 op = E2P_CMD_EPC_CMD_READ_ | address; 1682 u32 op = E2P_CMD_EPC_CMD_READ_ | address;
1683 int ret; 1683 int ret;
1684 1684
1685 SMSC_TRACE(DRV, "address 0x%x", address); 1685 SMSC_TRACE(pdata, drv, "address 0x%x", address);
1686 ret = smsc911x_eeprom_send_cmd(pdata, op); 1686 ret = smsc911x_eeprom_send_cmd(pdata, op);
1687 1687
1688 if (!ret) 1688 if (!ret)
@@ -1698,7 +1698,7 @@ static int smsc911x_eeprom_write_location(struct smsc911x_data *pdata,
1698 u32 temp; 1698 u32 temp;
1699 int ret; 1699 int ret;
1700 1700
1701 SMSC_TRACE(DRV, "address 0x%x, data 0x%x", address, data); 1701 SMSC_TRACE(pdata, drv, "address 0x%x, data 0x%x", address, data);
1702 ret = smsc911x_eeprom_send_cmd(pdata, op); 1702 ret = smsc911x_eeprom_send_cmd(pdata, op);
1703 1703
1704 if (!ret) { 1704 if (!ret) {
@@ -1811,26 +1811,26 @@ static int __devinit smsc911x_init(struct net_device *dev)
1811 struct smsc911x_data *pdata = netdev_priv(dev); 1811 struct smsc911x_data *pdata = netdev_priv(dev);
1812 unsigned int byte_test; 1812 unsigned int byte_test;
1813 1813
1814 SMSC_TRACE(PROBE, "Driver Parameters:"); 1814 SMSC_TRACE(pdata, probe, "Driver Parameters:");
1815 SMSC_TRACE(PROBE, "LAN base: 0x%08lX", 1815 SMSC_TRACE(pdata, probe, "LAN base: 0x%08lX",
1816 (unsigned long)pdata->ioaddr); 1816 (unsigned long)pdata->ioaddr);
1817 SMSC_TRACE(PROBE, "IRQ: %d", dev->irq); 1817 SMSC_TRACE(pdata, probe, "IRQ: %d", dev->irq);
1818 SMSC_TRACE(PROBE, "PHY will be autodetected."); 1818 SMSC_TRACE(pdata, probe, "PHY will be autodetected.");
1819 1819
1820 spin_lock_init(&pdata->dev_lock); 1820 spin_lock_init(&pdata->dev_lock);
1821 spin_lock_init(&pdata->mac_lock); 1821 spin_lock_init(&pdata->mac_lock);
1822 1822
1823 if (pdata->ioaddr == 0) { 1823 if (pdata->ioaddr == 0) {
1824 SMSC_WARNING(PROBE, "pdata->ioaddr: 0x00000000"); 1824 SMSC_WARN(pdata, probe, "pdata->ioaddr: 0x00000000");
1825 return -ENODEV; 1825 return -ENODEV;
1826 } 1826 }
1827 1827
1828 /* Check byte ordering */ 1828 /* Check byte ordering */
1829 byte_test = smsc911x_reg_read(pdata, BYTE_TEST); 1829 byte_test = smsc911x_reg_read(pdata, BYTE_TEST);
1830 SMSC_TRACE(PROBE, "BYTE_TEST: 0x%08X", byte_test); 1830 SMSC_TRACE(pdata, probe, "BYTE_TEST: 0x%08X", byte_test);
1831 if (byte_test == 0x43218765) { 1831 if (byte_test == 0x43218765) {
1832 SMSC_TRACE(PROBE, "BYTE_TEST looks swapped, " 1832 SMSC_TRACE(pdata, probe, "BYTE_TEST looks swapped, "
1833 "applying WORD_SWAP"); 1833 "applying WORD_SWAP");
1834 smsc911x_reg_write(pdata, WORD_SWAP, 0xffffffff); 1834 smsc911x_reg_write(pdata, WORD_SWAP, 0xffffffff);
1835 1835
1836 /* 1 dummy read of BYTE_TEST is needed after a write to 1836 /* 1 dummy read of BYTE_TEST is needed after a write to
@@ -1841,12 +1841,13 @@ static int __devinit smsc911x_init(struct net_device *dev)
1841 } 1841 }
1842 1842
1843 if (byte_test != 0x87654321) { 1843 if (byte_test != 0x87654321) {
1844 SMSC_WARNING(DRV, "BYTE_TEST: 0x%08X", byte_test); 1844 SMSC_WARN(pdata, drv, "BYTE_TEST: 0x%08X", byte_test);
1845 if (((byte_test >> 16) & 0xFFFF) == (byte_test & 0xFFFF)) { 1845 if (((byte_test >> 16) & 0xFFFF) == (byte_test & 0xFFFF)) {
1846 SMSC_WARNING(PROBE, 1846 SMSC_WARN(pdata, probe,
1847 "top 16 bits equal to bottom 16 bits"); 1847 "top 16 bits equal to bottom 16 bits");
1848 SMSC_TRACE(PROBE, "This may mean the chip is set " 1848 SMSC_TRACE(pdata, probe,
1849 "for 32 bit while the bus is reading 16 bit"); 1849 "This may mean the chip is set "
1850 "for 32 bit while the bus is reading 16 bit");
1850 } 1851 }
1851 return -ENODEV; 1852 return -ENODEV;
1852 } 1853 }
@@ -1881,17 +1882,18 @@ static int __devinit smsc911x_init(struct net_device *dev)
1881 break; 1882 break;
1882 1883
1883 default: 1884 default:
1884 SMSC_WARNING(PROBE, "LAN911x not identified, idrev: 0x%08X", 1885 SMSC_WARN(pdata, probe, "LAN911x not identified, idrev: 0x%08X",
1885 pdata->idrev); 1886 pdata->idrev);
1886 return -ENODEV; 1887 return -ENODEV;
1887 } 1888 }
1888 1889
1889 SMSC_TRACE(PROBE, "LAN911x identified, idrev: 0x%08X, generation: %d", 1890 SMSC_TRACE(pdata, probe,
1890 pdata->idrev, pdata->generation); 1891 "LAN911x identified, idrev: 0x%08X, generation: %d",
1892 pdata->idrev, pdata->generation);
1891 1893
1892 if (pdata->generation == 0) 1894 if (pdata->generation == 0)
1893 SMSC_WARNING(PROBE, 1895 SMSC_WARN(pdata, probe,
1894 "This driver is not intended for this chip revision"); 1896 "This driver is not intended for this chip revision");
1895 1897
1896 /* workaround for platforms without an eeprom, where the mac address 1898 /* workaround for platforms without an eeprom, where the mac address
1897 * is stored elsewhere and set by the bootloader. This saves the 1899 * is stored elsewhere and set by the bootloader. This saves the
@@ -1931,7 +1933,7 @@ static int __devexit smsc911x_drv_remove(struct platform_device *pdev)
1931 BUG_ON(!pdata->ioaddr); 1933 BUG_ON(!pdata->ioaddr);
1932 BUG_ON(!pdata->phy_dev); 1934 BUG_ON(!pdata->phy_dev);
1933 1935
1934 SMSC_TRACE(IFDOWN, "Stopping driver."); 1936 SMSC_TRACE(pdata, ifdown, "Stopping driver");
1935 1937
1936 phy_disconnect(pdata->phy_dev); 1938 phy_disconnect(pdata->phy_dev);
1937 pdata->phy_dev = NULL; 1939 pdata->phy_dev = NULL;
@@ -1965,11 +1967,11 @@ static int __devinit smsc911x_drv_probe(struct platform_device *pdev)
1965 int res_size, irq_flags; 1967 int res_size, irq_flags;
1966 int retval; 1968 int retval;
1967 1969
1968 pr_info("%s: Driver version %s.\n", SMSC_CHIPNAME, SMSC_DRV_VERSION); 1970 pr_info("Driver version %s\n", SMSC_DRV_VERSION);
1969 1971
1970 /* platform data specifies irq & dynamic bus configuration */ 1972 /* platform data specifies irq & dynamic bus configuration */
1971 if (!pdev->dev.platform_data) { 1973 if (!pdev->dev.platform_data) {
1972 pr_warning("%s: platform_data not provided\n", SMSC_CHIPNAME); 1974 pr_warn("platform_data not provided\n");
1973 retval = -ENODEV; 1975 retval = -ENODEV;
1974 goto out_0; 1976 goto out_0;
1975 } 1977 }
@@ -1979,8 +1981,7 @@ static int __devinit smsc911x_drv_probe(struct platform_device *pdev)
1979 if (!res) 1981 if (!res)
1980 res = platform_get_resource(pdev, IORESOURCE_MEM, 0); 1982 res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
1981 if (!res) { 1983 if (!res) {
1982 pr_warning("%s: Could not allocate resource.\n", 1984 pr_warn("Could not allocate resource\n");
1983 SMSC_CHIPNAME);
1984 retval = -ENODEV; 1985 retval = -ENODEV;
1985 goto out_0; 1986 goto out_0;
1986 } 1987 }
@@ -1988,8 +1989,7 @@ static int __devinit smsc911x_drv_probe(struct platform_device *pdev)
1988 1989
1989 irq_res = platform_get_resource(pdev, IORESOURCE_IRQ, 0); 1990 irq_res = platform_get_resource(pdev, IORESOURCE_IRQ, 0);
1990 if (!irq_res) { 1991 if (!irq_res) {
1991 pr_warning("%s: Could not allocate irq resource.\n", 1992 pr_warn("Could not allocate irq resource\n");
1992 SMSC_CHIPNAME);
1993 retval = -ENODEV; 1993 retval = -ENODEV;
1994 goto out_0; 1994 goto out_0;
1995 } 1995 }
@@ -2001,7 +2001,7 @@ static int __devinit smsc911x_drv_probe(struct platform_device *pdev)
2001 2001
2002 dev = alloc_etherdev(sizeof(struct smsc911x_data)); 2002 dev = alloc_etherdev(sizeof(struct smsc911x_data));
2003 if (!dev) { 2003 if (!dev) {
2004 pr_warning("%s: Could not allocate device.\n", SMSC_CHIPNAME); 2004 pr_warn("Could not allocate device\n");
2005 retval = -ENOMEM; 2005 retval = -ENOMEM;
2006 goto out_release_io_1; 2006 goto out_release_io_1;
2007 } 2007 }
@@ -2021,8 +2021,7 @@ static int __devinit smsc911x_drv_probe(struct platform_device *pdev)
2021 pdata->msg_enable = ((1 << debug) - 1); 2021 pdata->msg_enable = ((1 << debug) - 1);
2022 2022
2023 if (pdata->ioaddr == NULL) { 2023 if (pdata->ioaddr == NULL) {
2024 SMSC_WARNING(PROBE, 2024 SMSC_WARN(pdata, probe, "Error smsc911x base address invalid");
2025 "Error smsc911x base address invalid");
2026 retval = -ENOMEM; 2025 retval = -ENOMEM;
2027 goto out_free_netdev_2; 2026 goto out_free_netdev_2;
2028 } 2027 }
@@ -2047,8 +2046,8 @@ static int __devinit smsc911x_drv_probe(struct platform_device *pdev)
2047 retval = request_irq(dev->irq, smsc911x_irqhandler, 2046 retval = request_irq(dev->irq, smsc911x_irqhandler,
2048 irq_flags | IRQF_SHARED, dev->name, dev); 2047 irq_flags | IRQF_SHARED, dev->name, dev);
2049 if (retval) { 2048 if (retval) {
2050 SMSC_WARNING(PROBE, 2049 SMSC_WARN(pdata, probe,
2051 "Unable to claim requested irq: %d", dev->irq); 2050 "Unable to claim requested irq: %d", dev->irq);
2052 goto out_unmap_io_3; 2051 goto out_unmap_io_3;
2053 } 2052 }
2054 2053
@@ -2056,17 +2055,16 @@ static int __devinit smsc911x_drv_probe(struct platform_device *pdev)
2056 2055
2057 retval = register_netdev(dev); 2056 retval = register_netdev(dev);
2058 if (retval) { 2057 if (retval) {
2059 SMSC_WARNING(PROBE, 2058 SMSC_WARN(pdata, probe, "Error %i registering device", retval);
2060 "Error %i registering device", retval);
2061 goto out_unset_drvdata_4; 2059 goto out_unset_drvdata_4;
2062 } else { 2060 } else {
2063 SMSC_TRACE(PROBE, "Network interface: \"%s\"", dev->name); 2061 SMSC_TRACE(pdata, probe,
2062 "Network interface: \"%s\"", dev->name);
2064 } 2063 }
2065 2064
2066 retval = smsc911x_mii_init(pdev, dev); 2065 retval = smsc911x_mii_init(pdev, dev);
2067 if (retval) { 2066 if (retval) {
2068 SMSC_WARNING(PROBE, 2067 SMSC_WARN(pdata, probe, "Error %i initialising mii", retval);
2069 "Error %i initialising mii", retval);
2070 goto out_unregister_netdev_5; 2068 goto out_unregister_netdev_5;
2071 } 2069 }
2072 2070
@@ -2075,10 +2073,12 @@ static int __devinit smsc911x_drv_probe(struct platform_device *pdev)
2075 /* Check if mac address has been specified when bringing interface up */ 2073 /* Check if mac address has been specified when bringing interface up */
2076 if (is_valid_ether_addr(dev->dev_addr)) { 2074 if (is_valid_ether_addr(dev->dev_addr)) {
2077 smsc911x_set_hw_mac_address(pdata, dev->dev_addr); 2075 smsc911x_set_hw_mac_address(pdata, dev->dev_addr);
2078 SMSC_TRACE(PROBE, "MAC Address is specified by configuration"); 2076 SMSC_TRACE(pdata, probe,
2077 "MAC Address is specified by configuration");
2079 } else if (is_valid_ether_addr(pdata->config.mac)) { 2078 } else if (is_valid_ether_addr(pdata->config.mac)) {
2080 memcpy(dev->dev_addr, pdata->config.mac, 6); 2079 memcpy(dev->dev_addr, pdata->config.mac, 6);
2081 SMSC_TRACE(PROBE, "MAC Address specified by platform data"); 2080 SMSC_TRACE(pdata, probe,
2081 "MAC Address specified by platform data");
2082 } else { 2082 } else {
2083 /* Try reading mac address from device. if EEPROM is present 2083 /* Try reading mac address from device. if EEPROM is present
2084 * it will already have been set */ 2084 * it will already have been set */
@@ -2086,20 +2086,20 @@ static int __devinit smsc911x_drv_probe(struct platform_device *pdev)
2086 2086
2087 if (is_valid_ether_addr(dev->dev_addr)) { 2087 if (is_valid_ether_addr(dev->dev_addr)) {
2088 /* eeprom values are valid so use them */ 2088 /* eeprom values are valid so use them */
2089 SMSC_TRACE(PROBE, 2089 SMSC_TRACE(pdata, probe,
2090 "Mac Address is read from LAN911x EEPROM"); 2090 "Mac Address is read from LAN911x EEPROM");
2091 } else { 2091 } else {
2092 /* eeprom values are invalid, generate random MAC */ 2092 /* eeprom values are invalid, generate random MAC */
2093 random_ether_addr(dev->dev_addr); 2093 random_ether_addr(dev->dev_addr);
2094 smsc911x_set_hw_mac_address(pdata, dev->dev_addr); 2094 smsc911x_set_hw_mac_address(pdata, dev->dev_addr);
2095 SMSC_TRACE(PROBE, 2095 SMSC_TRACE(pdata, probe,
2096 "MAC Address is set to random_ether_addr"); 2096 "MAC Address is set to random_ether_addr");
2097 } 2097 }
2098 } 2098 }
2099 2099
2100 spin_unlock_irq(&pdata->mac_lock); 2100 spin_unlock_irq(&pdata->mac_lock);
2101 2101
2102 dev_info(&dev->dev, "MAC Address: %pM\n", dev->dev_addr); 2102 netdev_info(dev, "MAC Address: %pM\n", dev->dev_addr);
2103 2103
2104 return 0; 2104 return 0;
2105 2105