我有一个运行Linux内核版本2.6.30的armv9 SOC,我需要处理一个可以连接到多个PHY设备的MAC层。我可以通过设置一些GPIO来启用一个GPIO,从而选择实际连接的设备。因此,任何时候,只有一个PHY与以太网层实质连接(在此期间,所有其他PHY对MDIO和MII / GMII总线都具有高阻抗,因此对两者都没有影响)。
我的问题是如何在linux内核层中正确处理这个问题。我已经找到了很多不同的方法来做这个技巧,但它很脏而且没有处理好的方式,因此我陷入了PHY / MAC驱动程序中的丑陋的变通方法。
我认为我应该重新启动MAC层PHY的“重新检测”,就像插入MAC模块时那样。当我插入MAC层模块时,它会导致实际的有线PHY探测器,并且正确的驱动程序由上层MAC层驱动程序加载。
你能否就如何处理内核层的思考方式向我提出建议,在我的特定情况下,我应该如何调用检测例程以及在MAC层中找到她的位置。
由于