2017-05-18 36 views
0


Linux Mintと4.4.0-78ジェネリックカーネルのラップトップを持っています。
また、/ sys/class/ledsディレクトリにいくつかのledがあり、bashで "echo 255> brightness"を実行することで、ユーザー空間でオンとオフを切り替えることができます。

しかし私はそれらを私のカーネルモジュールに入れ替えたいと思います。
このモジュールはUDPパケットを受信し、着信パケットデータに基づいてスイッチを切り替えます。
私はグーグルで "leds-base.c"、 "leds-class.c"というカーネルソースファイルを見つけました。これにはledを制御する機能が含まれています。しかし、この関数は "struct led_classdev"を渡す必要があり、どこで取得するべきか分かりません。

これは、カーネルモジュールの/ sys/class/ledsディレクトリの名前を使ってLEDの明るさを設定する方法ですか?

PS。私は同様の質問を見たことがありますが、これはKEYBOARDのLEDに関するものです。私がコントロールしたいのはキーボードのものではなく、前述の問題のコードでは制御できません。Linuxカーネルモジュールでledを点滅させるには?

+0

MMCホストの実装方法を確認してください。 – 0andriy

答えて

0

led_triggerクラスを実装し、あなたのドライバで

led_trigger_event(led, LED_FULL); 

や友人を呼び出します。どのトリックにもあなたのトリガーをバインドすることができます

echo my-trigger-name > /sys/class/leds/.../trigger 
関連する問題