[Subject Prev][Subject Next][Thread Prev][Thread Next][Subject Index][Thread Index]

[linux-users:102054] 組込Linuxドライバの作成方法


こんにちは。えのきだ申します。

  現在、組込Linuxドライバを作成中なのですが困った現象が
でており、知恵を拝借したいと思いメールしました。

o ソフト構造
  - キャラクタ型デバイス(read,open,close)、割込を登録済
  - Aスレッド処理内容
    デバイスの初期化、割込MASK解除を行い、Readメソッド
    をコール(Aスレッドにてデバイスからの割込待ちを行い
    たいと思うため)。
  - Readメソッド処理内容
    "interruptible_sleep_on"をコール
  - 割込ハンドラ処理内容(request_irqにて登録したもの)
    wake_up_interruptible、デバイスの割込マスク

o 現象
  - Aスレッドを生成し、起動すると割込MASKの解除直後に
    割込ハンドラが動いてしまい、ハンドラから処理が戻って
    きた後にスレッドは寝る動きになっている。
    結果、Aスレッドがデバイスの状態を参照する機会を失っ
    てしまう。

o 質問事項
  - 本来、デバイスからの割込を参照し、その状態変化を上位
    に知らせるためにはどのようなソフト構造にすべきなの
    でしょうか。
  - もしステータスレジスタを参照するのはドライバなのなら
    その状態変化をスレッドに知らせるにはどのようにすれば
    よいのでしょうか。

以上基本的な質問かもしれませんがよろしくお願い致します。

-----
 Yuichi Enokida
   mail : enokida@xxxxxxxxxxxxxxxxxx 

この情報があなたの探していたものかどうか選択してください。
yes/まさにこれだ!   no/違うなぁ   part/一部見つかった   try/これで試してみる

あなたが探していた情報はどのようなことか、ご自由に記入下さい。特に「まさにこれだ!」と言う場合は記入をお願いします。
例:「複数のマシンからCATV経由でipmasqueradeを利用してWebを参照したい場合の設定について」
Follow-Ups: