diff options
author | PJ Waskiewicz <peter.p.waskiewicz.jr@intel.com> | 2009-04-09 18:27:57 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-04-11 05:48:00 -0400 |
commit | 04f165ef4f18444854865d44a3359618480060af (patch) | |
tree | 6ca2e02ba2cb4b2998440496b6d3ad9b6a9e09a2 /drivers/net/ixgbe/ixgbe_main.c | |
parent | d3e9c56cafb98040c8601dcc784a773ac86da18b (diff) |
ixgbe: Move PHY ops initialization to centralize bus accesses
When PHY operations are determined, the PHY must be identified. This
identification causes bus access, and should be contained within its own
routines. This also helps the 82599 PHY init paths for both SFP+ and
KX/KX4 devices to be easier to maintain.
Signed-off-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ixgbe/ixgbe_main.c')
-rw-r--r-- | drivers/net/ixgbe/ixgbe_main.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/net/ixgbe/ixgbe_main.c b/drivers/net/ixgbe/ixgbe_main.c index 9ef128ae6458..936a3efb3621 100644 --- a/drivers/net/ixgbe/ixgbe_main.c +++ b/drivers/net/ixgbe/ixgbe_main.c | |||
@@ -4630,7 +4630,11 @@ static int __devinit ixgbe_probe(struct pci_dev *pdev, | |||
4630 | 4630 | ||
4631 | /* reset_hw fills in the perm_addr as well */ | 4631 | /* reset_hw fills in the perm_addr as well */ |
4632 | err = hw->mac.ops.reset_hw(hw); | 4632 | err = hw->mac.ops.reset_hw(hw); |
4633 | if (err) { | 4633 | if (err == IXGBE_ERR_SFP_NOT_SUPPORTED) { |
4634 | dev_err(&adapter->pdev->dev, "failed to load because an " | ||
4635 | "unsupported SFP+ module type was detected.\n"); | ||
4636 | goto err_sw_init; | ||
4637 | } else if (err) { | ||
4634 | dev_err(&adapter->pdev->dev, "HW Init failed: %d\n", err); | 4638 | dev_err(&adapter->pdev->dev, "HW Init failed: %d\n", err); |
4635 | goto err_sw_init; | 4639 | goto err_sw_init; |
4636 | } | 4640 | } |
@@ -4703,6 +4707,9 @@ static int __devinit ixgbe_probe(struct pci_dev *pdev, | |||
4703 | device_init_wakeup(&adapter->pdev->dev, true); | 4707 | device_init_wakeup(&adapter->pdev->dev, true); |
4704 | device_set_wakeup_enable(&adapter->pdev->dev, adapter->wol); | 4708 | device_set_wakeup_enable(&adapter->pdev->dev, adapter->wol); |
4705 | 4709 | ||
4710 | /* pick up the PCI bus settings for reporting later */ | ||
4711 | hw->mac.ops.get_bus_info(hw); | ||
4712 | |||
4706 | /* print bus type/speed/width info */ | 4713 | /* print bus type/speed/width info */ |
4707 | dev_info(&pdev->dev, "(PCI Express:%s:%s) %pM\n", | 4714 | dev_info(&pdev->dev, "(PCI Express:%s:%s) %pM\n", |
4708 | ((hw->bus.speed == ixgbe_bus_speed_5000) ? "5.0Gb/s": | 4715 | ((hw->bus.speed == ixgbe_bus_speed_5000) ? "5.0Gb/s": |