技术专栏
rockchip-gmac驱动根据设备树bus-id指定网卡名
概述
多网卡情况下,系统上映射的网卡和物理网卡有时无法一一对应,要达到一一对应,可以参考以下方式。
涉及gamc驱动代码部分
代码主要位于:driver/net/ethernet/stmicro/stmmac/目录下
当dts中gmac和dwmac-rk.c::rk_gmac_dwmac_driver匹配后将进入rk_gmac_proc
rk_gmac_proc:
//填充plat_stmmacenet_data,即gmac和device之上总线层结构体
struct plat_stmmacenet_data *plat_dat;
//从设备树中获取gmac设备resources
struct stmmac_resources stmmac_res;
stmmac_probe_config_dt(pdev, &stmmac_res.mac);
//如果设备树(包括kernel中原本的设备树,或uboot对kernel设备树修改后的设备树)中相关参数异常,则使用如下接口获取
plat_dat->fix_mac_speed = rk_fix_speed;
plat_dat->get_eth_addr = rk_get_eth_addr;
//对网卡属性的一些配置
stmmac_dvr_probe(&pdev->dev, plat_dat, &stmmac_res);
根据bus-id指定网卡名
目的:按照plat_stmmacenet_data的bus_id来指定网卡序号,例如busid=0对应eth0,busid=1对应eth1
首先看下驱动中网卡命名过程:
stmmac_dvr_probe
//修改名字在注册网卡设备接口中进行
register_netdev
register_netdevice
dev_get_valid_name
dev_alloc_name_ns
__dev_alloc_name:
将通过设备树中的,例如gmac0: ethernet@fe2a0000,gmac1: ethernet@fe010000
以地址的大小排序,对eth%d赋值,按例这里得到gmac0对应eth1,gmac1对应eth0
按照bus_id来指定网卡序号:
--- a/kernel/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
+++ b/kernel/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
@@ -4444,14 +4444,14 @@ int stmmac_dvr_probe(struct device *device,
goto error_mdio_register;
}
}
-
+ snprintf(ndev->name, IFNAMSIZ, ndev->name, plat_dat->bus_id);
+ printk("ssdbg >>> fixup ndev->name=%s\n", ndev->name);
ret = register_netdev(ndev);
if (ret) {
dev_err(priv->device, "%s: ERROR %i registering the device\n",
__func__, ret);
goto error_netdev_register;
}
声明:本文内容由易百纳平台入驻作者撰写,文章观点仅代表作者本人,不代表易百纳立场。如有内容侵权或者其他问题,请联系本站进行删除。
红包
2
1
评论
打赏
- 分享
- 举报
评论
0个
手气红包
暂无数据
相关专栏
-
浏览量:612次2023-08-14 17:53:58
-
浏览量:790次2023-11-15 11:24:03
-
浏览量:479次2024-02-21 17:08:25
-
浏览量:1312次2024-01-09 17:43:28
-
浏览量:1030次2024-02-04 17:43:11
-
浏览量:1072次2024-02-05 11:02:54
-
浏览量:942次2023-11-29 12:31:57
-
浏览量:1570次2023-11-23 14:03:06
-
浏览量:598次2023-11-15 17:25:34
-
浏览量:904次2024-01-24 18:28:37
-
浏览量:3408次2022-05-27 10:41:52
-
2020-11-09 12:31:13
-
浏览量:2365次2023-06-12 14:34:18
-
浏览量:2627次2020-03-12 13:43:17
-
浏览量:3318次2023-03-24 16:30:17
-
浏览量:1889次2024-01-15 16:17:45
-
浏览量:1013次2023-08-10 11:15:37
-
浏览量:10192次2022-10-09 15:56:41
-
浏览量:1348次2023-05-16 14:10:29
切换马甲
上一页
下一页
打赏用户
共 1 位
我要创作
分享技术经验,可获取创作收益
分类专栏
-
21篇
热门专栏
- 一个貌似你已经知道的真相!从Mali产品序列看平板硬件变革
- 智慧大屏升级,瑞芯微RK3399芯MAXHUB旋转会议平板提升移动办公体验
- RK3568开发板-安卓系统之pmu_io_domains配置(五)
- 请叫我雷锋!史上最薄平板的赠品展示 【芯推荐】
- 苹果发布重点段子,没时间又想了解重点的人进来
- 【合作伙伴推荐】天启推出RK3288高性能 开发板Firefly
- 2-易百纳A201 rv1126开发板rknn Python搭建(rknn python 环境搭建)
- RK3568 开发板-安卓系统之PCIE(M.2接口硬盘)调试(十)
- RK3568 android11.0 LCD多屏配置
- 瑞芯微电子与英特尔达成战略协议
置顶时间设置
结束时间
删除原因
-
广告/SPAM
-
恶意灌水
-
违规内容
-
文不对题
-
重复发帖
打赏作者
阿帅
您的支持将鼓励我继续创作!
打赏金额:
¥1
¥5
¥10
¥50
¥100
支付方式:
微信支付
打赏成功!
感谢您的打赏,如若您也想被打赏,可前往 发表专栏 哦~
举报反馈
举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明
审核成功
发布时间设置
发布时间:
请选择发布时间设置
是否关联周任务-专栏模块
审核失败
失败原因
请选择失败原因
备注
请输入备注