1バイトから4バイトまでのデータをwriteできる関数を考える。
このdio_write
関数の各機能を次のように作成していく。
dio_read
関数の時と同じように、まずリソース情報をfile構造体からとりだ
す。
次に、書き込みデータサイズの確認と設定を行なう。
dio_read
関数の時とは逆に、ユーザ空間内のデータをカーネル空間にコ
ピーする必要があるので、copy_from_user
関数を使う。
最後に、先ほど取り出したI/Oポートアドレスを介して、outb
関数を使っ
てデータの書き込みを行ない、書き込み完了後、書き込んだデータサイズを戻り
値としてdio_write
関数を終了する。
以上の処理を全て使えば、1バイトから4バイトまでを出力できる
dio_write
関数が作成できる。