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 確立