write and submit your first linux kernel patch
1. 建立自己的branch
Git branch test
2. 切換到branch
Git checkout test
3. 檢查編碼的風格
cjok@ubuntu:~/git-work/linux$./scripts/checkpatch.pl --file --terse drivers/staging/media/go7007/s2250-board.c
drivers/staging/media/go7007/s2250-board.c:107:ERROR: that open brace { should be on the previous line
total: 1 errors,0 warnings, 698 lines checked
4. 修改bug
cjok@ubuntu:~/git-work/linux$ vi drivers/staging/media/go7007/s2250-board.c +107
5. 查看修改過的地方
cjok@ubuntu:~/git-work/linux$git diff
diff --gita/drivers/staging/media/go7007/s2250-board.c b/drivers/staging/media/
index e7736a9..385d391 100644
---a/drivers/staging/media/go7007/s2250-board.c
+++ b/drivers/staging/media/go7007/s2250-board.c
@@ -103,8 +103,7 @@ static u16vid_regs_fp[] = {
};
/* PAL specific values */
-static u16 vid_regs_fp_pal[] =
-{
+static u16 vid_regs_fp_pal[] ={
0x120, 0x017,
0x121, 0xd22,
0x122, 0x122,
6. 編譯修改過的目錄,防止修改時帶入新的錯誤
Make M=drivers/staging/media/go7007/
7. 提交patch
cjok@ubuntu:~/git-work/linux$git commit -a
[test-cjok a041001] staging:media: go7007: fixed coding style issue
1 files changed, 1 insertions(+), 2deletions(-)
8. 查看patch信息
cjok@ubuntu:~/git-work/linux$git show --pretty=full
commita04100141fc3708ce19cb4a3228506d675fd3776
Author: CJOK<[email protected]>
Commit: CJOK<[email protected]>
staging: media: go7007: fixed coding style issue
Fixed a coding style issue
diff --gita/drivers/staging/media/go7007/s2250-board.c b/drivers/staging/media/
index e7736a9..385d391 100644
---a/drivers/staging/media/go7007/s2250-board.c
+++b/drivers/staging/media/go7007/s2250-board.c
@@ -103,8 +103,7 @@ static u16vid_regs_fp[] = {
};
/* PAL specific values */
-static u16 vid_regs_fp_pal[] =
-{
+static u16 vid_regs_fp_pal[] ={
0x120, 0x017,
0x121, 0xd22,
0x122, 0x122,
9. 格式化patch
cjok@ubuntu:~/git-work/linux$git format-patch master..test-cjok
0001-staging-media-go7007-fixed-coding-style-issue.patch
10. 檢查patch的編碼,防止引入新的錯誤
cjok@ubuntu:~/git-work/linux$./scripts/checkpatch.pl0001-staging-media-go7007-fixed-coding-style-issue.patch
total: 0 errors, 0 warnings, 9lines checked
0001-staging-media-go7007-fixed-coding-style-issue.patchhas no obvious style problems and is ready for submission.
11. 獲取maintainer和相關人員的email
cjok@ubuntu:~/git-work/linux$./scripts/get_maintainer.pl0001-staging-media-go7007-fixed-coding-style-issue.patch
Mauro Carvalho Chehab<[email protected]> (maintainer:MEDIA INPUTINFRA...,commit_signer:1/2=50%)
Greg Kroah-Hartman<[email protected]> (maintainer:STAGING SUBSYSTEM,commit_signer:1/2=50%)
[email protected](open list:MEDIA INPUT INFRA...)
[email protected] (openlist:STAGING SUBSYSTEM)
[email protected](open list)
12. 發送email
cjok@ubuntu:~/git-work/linux$git send-email --to [email protected] --cc cjok.liao@gmail.com0001-staging-media-go7007-fixed-coding-style-issue.patch
如果gitsend-email工具沒有安裝,會出錯。apt-get install git-email msmtp下載安裝就行了。
參考
http://blog.csdn.net/cjok376240497/article/details/7173772
http://www.cnblogs.com/refrag/archive/2012/11/29/2794739.html