Linux Kernel PCMCIA システムは 3 つの部分に分かれています。最下位の インターフェースはソケットドライバです。次はカードサービスモジュール です。特定のカード用のドライバはカードサービスの上位に位置しています。 ある特定のカードサービスクライアントはドライバサービスと呼ばれ、 利用者用 PCMCIA ユーティリティとカーネル PCMCIA 機能との間を結びます。
ソケットドライバ層はソケットサービス API を大体利用しています。
2 つのソケットドライバモジュールがあります。tcic モジュールは PCMCIA
コントローラの TCIC-2 系列のデータブックをサポートしています。i82365
モジュールは Intel i82365sl 系列と Cirrus, VLSI, Ricoh, Vadem チップの
インテル互換のコントローラをサポートしています。
カードサービスは PCMCIA パッケージの最も大きな単独の構成要素です。
このサービスの API は DOS のカードサービスと似ており Unix 環境に
適応しています。Linux への実装は Solaris PCMCIA のインターフェース仕様
に準拠しています。この仕様は pcmcia_core
モジュールに実装しています。
バージョン 2.1 の殆んどといくつかの PC Card 95 の仕様を実装しました。
ドライバサービス層は PCMCIA ユーティリティから呼ばれるいくつかのカード
サービス関数をアクセスする利用者用疑似ドライバとして実装しています。
この実装は全ての PCMCIA クライアントドライバを見失わないようにするのと、
物理ソケットとドライバを引き当てるのを確実にしています。ds
モジュール
内に実装しています。
この文書はカードサービスとドライバサービスモジュールとドライバサービス
へのユーザインターフェースのカーネルインターフェースについて説明してい
ます。PCMCIA デバイスドライバの開発者の為に書いています。
Linux PCMCIA-HOWTO はどのように導入するかと Linux で PCMCIA をどのよう
に使うかについて説明しています。この文書は cb-iris.stanford.edu
の
/pub/pcmcia
にあります。
Copyright (c) 1996, 1997 David A. Hinds
この文書は著者の許可なしに如何なる形で複写または配布してかまいません。 この文書を他の言語に翻訳など変更したものを含んで、変更点を明確に 名乗って、この著作権表示をそのままに添付して自由に配布してください。
私の同意無しに商用配布に利用可能です。必須ではありませんが、商用利用 にあたり、私に通知して下さい。出版物に統合したいと思っている場合、 最新のものを使う必要がありますので私に連絡して下さい。
この文書は明示的または暗黙的保証無しに``ありのまま''提供しています。 この文書にある情報は御自身の責任で利用して下さい。
この PCMCIA ソフトウェアとドライバの開発のテストとデバッグを手伝って くれた Linux ユーザの皆さんに感謝したいと思います。そしてカーネル開発 を助けてくれた Linus Torvalds, Donald Becker, Alan Cox, と Bjorn Ekwall に感謝します。特に Solaris PCMCIA の実装について多くの助言と なった打ち合せを行なった Michael Bender に感謝します。