OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5047|回复: 1

手册中smsc.c文件的smsc_phy_reset代码与视频教材不一致呢?

[复制链接]

2

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
90
金钱
90
注册时间
2013-8-8
在线时间
10 小时
发表于 2020-4-15 22:52:12 | 显示全部楼层 |阅读模式
1金钱
本帖最后由 上来下去 于 2020-4-15 22:59 编辑

手册中smsc.c文件的smsc_phy_reset代码与视频教材不一致呢?
视频中没有
  1.         int err,phy_reset;
  2.         int msec = 1;
  3.         struct device_node *np;
  4.         int timeout = 50000;
  5.         if(phydev->addr == 0) /* FEC1 */
  6.         {
  7.                 np = of_find_node_by_path("/soc/aips-bus@02100000/ethernet@02188000");
  8.                 if(np == NULL)
  9.                 {
  10.                         return -EINVAL;
  11.                 }
  12.         }

  13.         if(phydev->addr == 1) /* FEC2 */
  14.         {
  15.                 np = of_find_node_by_path("/soc/aips-bus@02000000/ethernet@020b4000");
  16.                 if(np == NULL)
  17.                 {
  18.                          return -EINVAL;
  19.                 }
  20.         }

  21.         err = of_property_read_u32(np, "phy-reset-duration", &msec);
  22.         /* A sane reset duration should not be longer than 1s */
  23.         if (!err && msec > 1000)
  24.                 msec = 1;
  25.         phy_reset = of_get_named_gpio(np, "phy-reset-gpios", 0);
  26.         if (!gpio_is_valid(phy_reset))
  27.                 return;

  28.         gpio_direction_output(phy_reset, 0);
  29.         gpio_set_value(phy_reset, 0);
  30.         msleep(msec);
  31.         gpio_set_value(phy_reset, 1);
复制代码
另外在编译过程中,出现警告:
  1. drivers/net/phy/smsc.c: 在函数‘smsc_phy_reset’中:
  2. drivers/net/phy/smsc.c:92:3: 警告: 在有返回值的的函数中,‘return’不带返回值 [-Wreturn-type]
  3.    return;
  4.    ^
  5. drivers/net/phy/smsc.c:99:2: 警告: ISO C90 不允许混合使用声明和代码 [-Wdeclaration-after-statement]
  6.   int rc = phy_read(phydev, MII_LAN83C185_SPECIAL_MODES);
  7.   ^
  8. In file included from drivers/net/phy/smsc.c:26:0:
  9. include/linux/of_gpio.h:138:2: 警告: 此函数中的‘np’在使用前可能未初始化 [-Wmaybe-uninitialized]
  10.   return of_get_named_gpio_flags(np, propname, index, NULL);
  11.   ^
  12. drivers/net/phy/smsc.c:66:22: 附注: ‘np’在此声明
  13.   struct device_node *np;
复制代码




最佳答案

查看完整内容[请看2#楼]

因为视频录的早,这个bug没有发现。教程后面发现了这个bug就改了
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

88

主题

7377

帖子

5

精华

资深版主

Rank: 8Rank: 8

积分
14980
金钱
14980
注册时间
2013-11-13
在线时间
1823 小时
发表于 2020-4-15 22:52:13 | 显示全部楼层
因为视频录的早,这个bug没有发现。教程后面发现了这个bug就改了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-25 10:13

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表