Linux Kernel 2.2 Documentation:
/usr/src/linux/Documentation/SubmittingDrivers
SubmittingDrivers
Linux カーネル用ドライバの提出方法
[プレインテキスト版]
- 原著作者: unknown
- 翻訳者: 野本浩一 <hng@ps.ksky.ne.jp>
- バージョン: 2.2.20
- 翻訳日時: 2001/11/06
Linux カーネル用ドライバの提出方法
----------------------------------
この資料は、Linux 2.2 および 2.4test カーネルツリーへデバイスドライバ
を提出する方法を説明します。注意として、ビデオカードドライバに興味をお
持ちなら、この方法より XFree86 (http://wwww.xfree86.org) に相談するほ
うがよいでしょう。
デバイス番号の割当て
--------------------
デバイス用のメジャーおよびマイナー番号は "Linux assigned name and
number authority" (現在、H Peter Anvin さんと言った方が通るでしょう)
によって割当てられます。そのサイトは http://www.lanana.org/ です。これ
はメインストリームカーネルへ提出されないデバイス用の番号の割当ても処理
します。
割当てを受けていない番号を使用した場合、あなたのデバイスが出荷された時
に (あらためて) 割当てられた番号が与えられるかもしれませんが、これは既
にあなたが顧客に出荷してしまっている番号とは異なるものになるかもしれま
せん。
ドライバの提出先
----------------
Linux 2.0:
このカーネルツリー用の新しいドライバは受け付けられません。
Linux 2.2:
そのコードの範囲の一般的な管理者がいる場合、カーネルファイルの
MAINTAINERS に記載された管理者に提出してください。管理者が応答
しないか、適切な管理者が見つけられない場合、Alan Cox
<alan@lxorguk.ukuu.org.uk> に連絡してください。
Linux 2.4test:
このカーネルツリーは活発に開発が行われています。2.2 と同じ決ま
りが適用されますが、linux-kernel (下記の情報源を参照してくださ
い) を経てドライバを提出し、API の変化を追跡するために
linux-kernel を追っても構いません。このツリーは、コードフリー
ズした場合、存在しなくなるはずです。Linux 2.4 の提出に関する最
終連絡先は <torvalds@transmeta.com> です。
[訳注;2001年10月現在、2.4 はりリースされていますので、このツ
リーは存在しません。]
受理決定に関する基準
--------------------
ライセンス: コードは GNU General Public License 下で我々にリリース
しなければなりません。GPL ライセンスのみにこだわるわけ
ではなく、BSD のような他のコミュニティのドライバを役立
たせたいなら、複数のライセンス下でリリースを望んでも構
いません。
[訳注;例示された BSD ライセンスに関わるものは現在、ほ
とんど併記されるようになりました。]
インターフェース:あなたのドライバが既存のインターフェースを使用し、同
じクラスの別のドライバのように振舞うなら、よけいな新し
いドライバを作るよりも受理されやすいでしょう。Linux と
NT で共通の API を実装する必要があれば、API はユーザ空
間で実装してください。
コード: Documentation/CodingStyle の中で述べられたコードの
Linux style な形式を使用してください。
他の形式にする必要のあるコードの部分がある場合、例えば
windows ドライバキットとコードを共有しそれらを一元管理
したいなどの場合には、そこだけうまく分離し、その件につ
いて注意を加えてください。
移植性: ポインタはいつも 32 ビットであるとは限らず、すべての人
が浮動小数点ユニットを持っているわけではないので、不用
意にドライバの中でインライン x86 アセンブラを使うべき
ではありません。純粋な x86 ドライバは一般的ではありま
せん。x86 ハードウェアしか持っていない場合、移植性を試
すことは困難ですが、簡単に移植できるコードを作るのは簡
単です。
判り易さ: ドライバを修正する方法が誰にもわかるようになっていると
良いでしょう。バグ報告ではなく、パッチを受け取ることが
できますから助けになります。故意にハードウェア動作を隠
蔽するようなドライバを提出すれば、それはゴミ箱行きにな
るでしょう。
コントロール: 一般に、著者による活発な保守が続いている場合、パッチが
明解でチェックが不要なものではない場合、著者に転送され
ます。ドライバに関する連絡先および更新元となりたい場合、
このことをコメントにはっきり書いておくとよいでしょう。
受理決定に関しない基準
----------------------
ベンダー: ハードウェアベンダーがドライバを管理することは多くの場
合よいことです。既にツリーに他の方々からの安定して動作
するドライバがある場合、「私たちはベンダーです」という
ことによってドライバが採択されることを期待しないでくだ
さい。単一の完全なドライバを構築するために、既存のドラ
イバの著者と作業をするのが理想です。
著者: Linux 関連の大きな会社がドライバを書いても、あなたが書
いても、そのことは重要ではありません。誰もカーネルツリー
への特別なアクセスはできません。何か違ったことを言う人
は、筋道を立てた話をしていないのでしょう。
情報源
------
Linux カーネルのマスターツリー:
ftp.kernel.org:/pub/linux/kernel/...
Linux カーネルのメーリングリスト:
linux-kernel@vger.kernel.org
[購読のために majordomo@vger.kernel.org へメールしてください]
カーネルトラフィック:
カーネルリスト活動の週単位の要約 (とても簡単に読めます)
[http://kt.zork.net/kernel-traffic]
Linux USB プロジェクト:
http://sourceforge.net/projects/linux-usb/
======================================================================
日本語訳:野本浩一 <hng@ps.ksky.ne.jp>
校正:Seiji Kaneko さん <skaneko@a2.mbn.or.jp>
中谷千絵さん <jeanne@mbox.kyoto-inet.or.jp>
Linux カーネル 2.2 付属文書一覧へ戻る