【发布时间】:2021-11-06 14:02:09
【问题描述】:
在U-boot 源代码中,miiphy_init() 和phy_init() 函数正在初始化 mii_dev 和 phy_driver 结构的全局变量。
我正在寻找将创建/初始化全局 structure eth_device 变量并在运行时维护/使用它的来源。
基本上我想了解谁将创建eth_device 结构以及在运行时如何处理它。
【问题讨论】:
标签: u-boot
在U-boot 源代码中,miiphy_init() 和phy_init() 函数正在初始化 mii_dev 和 phy_driver 结构的全局变量。
我正在寻找将创建/初始化全局 structure eth_device 变量并在运行时维护/使用它的来源。
基本上我想了解谁将创建eth_device 结构以及在运行时如何处理它。
【问题讨论】:
标签: u-boot
struct eth_device 仅由不遵循驱动程序模型的已弃用驱动程序使用。这些应该已在 v2020.07 版本中删除。
结构体填充在驱动程序初始化例程中,例如lan91c96_initialize()。只需 grep for 'eth_register(' 即可找到所有这些函数。
结构检索如下:
struct eth_device *dev = eth_get_dev_by_name(bus->name);
【讨论】:
struct eth_device *eth_devices 中的eth_legacy.c 维护,并在此文件中定义函数以浏览eth_devices 列表。使用驱动程序模型如何维护 MAC 设备?能不能指导理解一下。