【8】如何使用git 命令把一个patch 推送到我们自己的remote 仓

参考文档

https://www.jianshu.com/p/1848fabc9360

https://blog.csdn.net/mliubing2532/article/details/7577905

1、从内核patchwrok下载.patch问

https://lore.kernel.org/patchwork/patch/824257/
【8】如何使用git 命令把一个patch 推送到我们自己的remote 仓
2、把patch文件放到内核对应目录,这里选择和driver同级目录下,是因为patch文件中diff的目录,这样放置是最简单的
【8】如何使用git 命令把一个patch 推送到我们自己的remote 仓
【8】如何使用git 命令把一个patch 推送到我们自己的remote 仓
3、使用checkpatch.pl检查patch

./scripts/checkpatch.pl --no-signoff -q --max-line-length=120 -ignore BAD_SIGN_OFF,GERRIT_CHANGE_ID,FILE_PATH_CHANGES,REDUNDANT_CODE,GIT_COMMIT_ID net-next-net-phy-Deal-with-unbound-PHY-driver-in-phy_attached_print.patch
【8】如何使用git 命令把一个patch 推送到我们自己的remote 仓
可以发现有一样超过了75个字符导致检查不过,我们jenkins的检查patch的配置就是怎么检查的。(这个patch比较特殊,由于log里面含有call trace,内核mainline在merge的时候,也没有检查是否超过75个字符)
4、git am --abort

把之前am的patch都abort掉(重要)

5、git apply 统计一下patch修改了多少(非必要步骤,就看看,不干啥)
【8】如何使用git 命令把一个patch 推送到我们自己的remote 仓
6、git am 把patch打上去
【8】如何使用git 命令把一个patch 推送到我们自己的remote 仓
7、git push到gerrit库上

可以看到此时会有问题,原因是缺失Change-ID
【8】如何使用git 命令把一个patch 推送到我们自己的remote 仓
8、执行gitdir →git commit --amend→git push

https://www.jianshu.com/p/1848fabc9360

9、修改代码,手动构造两个phyid不匹配的情况

我们把broadcom BCM50612E phy_driver的phyid改成一个不合法的值,人为制造reg获取的phy_id和调用 phy_drivers_register 注册的driver中的phy_id不匹配的场景
【8】如何使用git 命令把一个patch 推送到我们自己的remote 仓
发现没有Oops,打印出mdio_bus stmmac-0:01: attached PHY driver [unbound] (mii_bus:phy_addr=stmmac-0:01, irq=-1)
【8】如何使用git 命令把一个patch 推送到我们自己的remote 仓
【8】如何使用git 命令把一个patch 推送到我们自己的remote 仓