On 07/27/2017 08:37 AM, Andrew Lunn wrote: > On Thu, Jul 27, 2017 at 12:40:01AM +0000, Brown, Aaron F wrote: >>> From: Intel-wired-lan [mailto:intel-wired-lan-boun...@osuosl.org] On Behalf >>> Of John W. Linville >>> Sent: Friday, July 21, 2017 11:12 AM >>> To: netdev@vger.kernel.org >>> Cc: intel-wired-...@lists.osuosl.org; John W. Linville >>> <linvi...@tuxdriver.com> >>> Subject: [Intel-wired-lan] [PATCH] igb: support BCM54616 PHY >>> >>> The management port on an Edgecore AS7712-32 switch uses an igb MAC, >>> but >>> it uses a BCM54616 PHY. Without a patch like this, loading the igb >>> module produces dmesg output like this: >>> >>> [ 3.439125] igb: Copyright (c) 2007-2014 Intel Corporation. >>> [ 3.439866] igb: probe of 0000:00:14.0 failed with error -2 >>> >>> Signed-off-by: John W. Linville <linvi...@tuxdriver.com> >>> Cc: Jeff Kirsher <jeffrey.t.kirs...@intel.com> >>> --- >>> drivers/net/ethernet/intel/igb/e1000_82575.c | 6 ++++++ >>> drivers/net/ethernet/intel/igb/e1000_defines.h | 1 + >>> drivers/net/ethernet/intel/igb/e1000_hw.h | 1 + >>> 3 files changed, 8 insertions(+) >> >> I do not have the specific hardware (Edgecore switch) but as far as >> regression tests go this works fine. >> Tested-by: Aaron Brown <aaron.f.br...@intel.com> > > Sorry, missed the initial post, so replying to a reply. > > Linux has supported the BCM54616 PHY since April 2015. If the Intel > drivers used the Linux PHY drivers, you would not of had this problem. > > It would be good if somebody spent the time to migrate these MAC > drivers to use the common Linux PHY infrastructure.
I suspect there is a design pattern within the Intel drivers to share as much low-level code as possible between OSes and only have some Linux-ism where necessary (e.g: net_device, ethtool etc.). PHY code is a pain in general, especially if you are serious about testing interoperability (which is where you can spend tons of $$$ with little reward but just say: yes it works), so it may make sense to share it across different OSes. I too, wish there was more sharing, but considering that this works for the Intel driver, there is little incentive in doing this I suppose... -- Florian