Linux Kernel: AI活用による初回Patch投稿ログ(axis-fifo checkpatch cleanup)
# Linux Kernel: AI活用による初回Patch投稿ログ(axis-fifo checkpatch cleanup)
## 目的
Linux Kernel の staging driver に対して、
AI を活用しながら upstream 向け patch 投稿フローを実践する。
対象:
```text
drivers/staging/axis-fifo/axis-fifo.c
修正内容:
CHECK: Alignment should match open parenthesis
の checkpatch warning cleanup。
開発環境
OS / IDE
- Windows 10
- VSCode
- Ubuntu / WSL2
AI / Tool
- Claude Code (Pro)
- OpenClaw + openai-codex/gpt-5.5
- Codex CLI (gpt-5.5)
- Gemini CLI
- GitHub Copilot
VSCode Workspace構成
推奨
code ~/linux-rust-experiment/linux
Kernel repository 単位で VSCode を開く。
理由
- compile_commands.json が kernel tree に存在
- clangd が正しく動作
- AI agent のスコープが適切
- ノイズ削減
NG
code ~/linux-rust-experiment
理由:
- Rustプロジェクト等をAIが誤参照
- コンテキストがノイズ化
AI役割分担
OpenClaw
用途:
- 構造把握
- 呼び出し関係確認
- 修正候補調査
実施:
axis_fifo_write() 周辺の checkpatch warning 調査
Claude Code
用途:
- 最小修正 patch 作成
- checkpatch clean 化
- commit message 補助
Codex CLI
用途:
- 第三者レビュー
- no functional change 確認
- standalone patch 妥当性確認
Gemini CLI
今回は未使用。
将来的には追加 reviewer として使用予定。
Git準備
staging 最新化
git remote prune staging
rm -rf .git/refs/remotes/staging
git fetch staging
作業branch作成
git switch -c work-axis-fifo-checkpatch staging/staging-next
checkpatch実行
scripts/checkpatch.pl --strict --file drivers/staging/axis-fifo/axis-fifo.c
結果:
CHECK: Alignment should match open parenthesis
その他:
WARNING: DT compatible string appears undocumented
DT binding warning は scope 外として今回は対象外。
OpenClaw調査
確認内容:
- line 249 の alignment CHECK
- 関数シグネチャ変更不要
- 挙動変更なし
- standalone patch として妥当
結論:
最小差分で alignment 修正のみ行う
Claude Code 修正
初回
alignment 修正により:
line-length CHECK
が新規発生。
修正版
Linux kernel style に従い:
ret = wait_event_interruptible(
fifo->write_queue,
ioread32(fifo->base_addr + XLLF_TDFV_OFFSET)
>= words_to_write);
へ修正。
修正後チェック
checkpatch
scripts/checkpatch.pl --strict --file drivers/staging/axis-fifo/axis-fifo.c
結果:
0 errors
0 warnings
0 checks
(DT warningsのみ残存)
git diff –check
clean
Codex CLIレビュー
プロンプト:
- No behavior change
- Minimal diff
- Kernel coding style
- Standalone patch 妥当性
結果:
No blocking findings.
確認内容:
- whitespace-only change
- no functional impact
- standalone staging cleanup patch acceptable
Commit作成
commit message
staging: axis-fifo: fix alignment in wait_event_interruptible()
Fix a checkpatch warning for alignment in the
wait_event_interruptible() call in axis_fifo_write().
Adjust the indentation of the condition argument to align with
the opening parenthesis and wrap lines to satisfy line length
constraints.
This is a whitespace-only change with no functional impact.
Signed-off-by: your name <your mail address>
学んだ点
Subjectは72文字未満推奨
vim操作
入力:
i
保存終了:
Esc
:wq
patch生成
git format-patch -1
生成:
0001-staging-axis-fifo-fix-alignment-in-wait_event_interr.patch
maintainer確認
scripts/get_maintainer.pl -f drivers/staging/axis-fifo/axis-fifo.c
取得:
- Greg Kroah-Hartman
- Ovidiu Panait
- Dan Carpenter
- linux-staging ML
- linux-kernel ML
過去patch衝突確認
確認:
git log --grep='axis-fifo'
および lore / spinics 調査。
結論:
現在 staging-next に warning が存在するため送信価値あり
git send-email
送信コマンド
git send-email \
--to="Greg Kroah-Hartman <gregkh@linuxfoundation.org>" \
--cc="Ovidiu Panait <ovidiu.panait.oss@gmail.com>" \
--cc="Dan Carpenter <dan.carpenter@linaro.org>" \
--cc="linux-staging@lists.linux.dev" \
--cc="linux-kernel@vger.kernel.org" \
0001-staging-axis-fifo-fix-alignment-in-wait_event_interr.patch
Gmail設定
問題
Application-specific password required
解決
Google App Password 使用。
学んだ点
通常パスワードでは送信不可。
送信成功
結果:
Result: 250
意味:
SMTPサーバ受理成功
lore掲載確認
掲載成功:
[PATCH] staging: axis-fifo: fix alignment in wait_event_interruptible()
確認:
- plain text OK
- diff 表示 OK
- threading OK
Dan Carpenter 自動返信
内容:
Dan Carpenter no longer works for Linaro.
意味:
Linaro社を退職
であり、
patch失敗ではない
今回のAI活用フロー(完成版)
OpenClaw
↓
調査・構造理解
Claude Code
↓
最小修正
Codex CLI
↓
第三者レビュー
人間
↓
最終判断
git send-email
得られた知見
AI活用
重要:
AIに全部やらせない
ではなく:
AI = 調査・補助・レビュー
最終判断 = 人
が upstream 向き。
今後改善点
send-email
自分をCc除外:
git send-email --suppress-cc=self
Reviewer管理
bounce mail が来たアドレスは次回除外。
成果
Linux kernel upstream 向け patch 投稿完了。
達成:
- checkpatch cleanup
- proper commit message
- proper send-email
- lore.kernel.org 掲載
- AI併用レビュー workflow 確立