当前位置:  技术问答>linux和unix

Linux2.6.36,Fec驱动(模型)问题请教

    来源: 互联网  发布时间:2016-11-08

    本文导语:  本帖最后由 suyangwei 于 2011-02-17 10:25:24 编辑 rtl8201网口芯片。将内核从Linux2.6.19.2升级到Linux2.6.36。 我在arch中增加了fec对应的platform_device定义,并注册到了bus(mdio_bus)中。 Linux2.6.36驱动代码fec.c文件中, fec_enet_module_ini...

本帖最后由 suyangwei 于 2011-02-17 10:25:24 编辑
rtl8201网口芯片。将内核从Linux2.6.19.2升级到Linux2.6.36。
我在arch中增加了fec对应的platform_device定义,并注册到了bus(mdio_bus)中。
Linux2.6.36驱动代码fec.c文件中,
fec_enet_module_init(void)函数,经过一些列调用,在phy_connect函数里调用失败。
我目前的理解是:Linux2.6.36中Fec驱动有platform_device 、net_device、device、phy_device这几个概念。
device,我并没有在内核中添加,所以phy_connect函数在调用bus_find_device_by_name就返回失败了。
但我不知道device在该驱动模型中,究竟是个什么逻辑概念,应该怎样添加并将其注册到bus中?

includelinuxplatform_device.h文件platform_device定义中,
struct device dev是做什么用的呢?
struct platform_device {
const char * name;
int id;
struct device dev;

};


struct phy_device * phy_connect(struct net_device *dev, const char *bus_id,
void (*handler)(struct net_device *), u32 flags,
phy_interface_t interface)
{
struct phy_device *phydev;
struct device *d;
int rc;
/* Search the list of PHY devices on the mdio bus for the
 * PHY with the requested name */
d = bus_find_device_by_name(&mdio_bus_type, NULL, bus_id);
if (!d) {
pr_err("PHY %s not foundn", bus_id);
return ERR_PTR(-ENODEV);
}
phydev = to_phy_device(d);
rc = phy_connect_direct(dev, phydev, handler, flags, interface);
if (rc)
return ERR_PTR(rc);
return phydev;
}

|
没弄过网络驱动模型,帮顶

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 从linux2.6.22 到linux2.6.33 s3c2410 驱动的移植,哭了!!!
  • 求一个Linux2.6内核的U盘设备完整驱动!!!!
  • linux2.6.29 usb摄像头驱动的名字是什么
  • 谁做过基于at91rm9200 linux2.4核的 SPI驱动?
  • 求助:如何移植DM9000网卡驱动到linux2.6内核?
  • linux2.6.8下移植SPI驱动都需要修改哪些文件
  • linux2.6 i2c驱动的几个问题
  • linux2.6.12内核 驱动 浮点 请帮忙!! 谢谢!!
  • s3c6410 linux2.6.21内核 USB驱动 OHCI寄存器
  • linux2.6驱动的Makefile中如何链接静态库
  • 求教:linux2.6 启动时驱动加载顺序是如何的?
  • linux2.6.24移植UDA1341音频驱动
  • 移植Linux2.6到S3C2410,关于vivi添加Nand Flash驱动的问题?
  • linux2.6.8内核装intel wifi link 5100无线网卡驱动的问题?
  • linux2.6.21下的I2C驱动问题
  • (由于帖子长,分三个写)写了一个使用PC机并口控制十字路口交通灯的内核级设备驱动程序模块,但不知道在Linux2.6内核下如何写Makefile?
  • 从linux2.4到linux2.6升级出现的问题?
  • linux2.6内核 如何自动加载当前所需要的模块
  • Video4Linux2
  • 在什么地方可以下载到完整的LINUX2.4原代码呢??绝对送分!!
  • 编译linux2.6内核启动报错:
  • 操作系统 iis7站长之家
  • 请问:linux2.4能不能升级到2.6呀
  • 在pxa255建立linux2.4的系统,需要哪些补丁啊?
  • linux2.6(4)的内核
  • 求linux2.6.29系统下载
  • linux2.6.30内核要裁减到130K?
  • linux2.6内核移植问题
  • 关于Linux2.4源代码的问题
  • 我装的是红旗LINUX2.4,声卡和网卡同用一个中断IRQ5,怎么解决?
  • 有人用“蓝点linux2.0”的吗?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3