[Armadillo:03005] Re: Armadillo-500 ledctrlスクリプトについて
Yasushi SHOJI
email@hidden
2008年 6月 17日 (火) 11:27:24 JST
At Tue, 17 Jun 2008 11:01:34 +0900,
g-kihara wrote:
>
> /home/atmark/atmark-dist-20071018/vendors/AtmarkTechno/Armadillo-500/usr/bin
>
> にある、ledctrlスクリプトですが、
> led_set_status()
> の
> echo $2 > /sys/class/leds/$1/$3
> ですが、
> このとき、どのデバイスドライバのwrite関数が呼ばれるのでしょうか?
sysfsの writeが呼ばれます。fs/sysfs/file.c::sysfs_write_file()です。
> ledctrlスクリプトが操作しているデバイスドライバ
> は複数あるのですか?そのデバイスドライバ名を教えていただけませんか?
ないです。leds-armadillo5x0.cですよ。
ただし、char devが行なうような処理は、sysfsが処理してくれます。たとえ
ば、file_operations構造体を初期化するような処理が char devでは必要です
が、sysfsの場合は、sysfsが処理してくれます。前処理をしてから、a500用の
ドライバに制御が渡ると考えれば良いと思います。
write(2) -> sysfs store() -> led_set_brightness() -> armadillo5x0_led_set()
と流れていくはずです。
Documentation/filesystems/sysfs.txt が詳しいです。
--
yashi
armadillo メーリングリストの案内