[Armadillo:03030] Re: Armadillo-500 sysfs経由のa500用のデバイスドライバ制御について

g-kihara email@hidden
2008年 6月 19日 (木) 16:47:37 JST


>
> 「sysfs store() が led_set_brightness() を呼ぶための登録
> はどこで行われているのか」を調べているのですが
>
> led_brightness_store( )が呼ばれたときにこの関数内で,
> led_set_brightness(led_cdev, state);のような形でよばれていました。
> さらに、led_brightness_store( )は、
> static DEVICE_ATTR(brightness,
> 0644,led_brightness_show,led_brightness_store);
> により、sysfs経由で書き込み要求があった場合、
> led_brightness_store( )が呼ばれるという具合に理解すればよろしいのでしょうか?

さきほどSHOJIさんから頂いた回答により、
sysfs経由によるデバイスドライバ制御の流れが理解できました。
ご多忙の中、ご教示頂きどうもありがとうございました。

-----------------------------------------

 echo $2 > /sys/calss/leds/$1/$3
 -> sysfs経由でwrite要求が行われる
 -> sysfs_write_file
 -> flush_write_buffer()
 -> sysfs store()

ここで、

static DEVICE_ATTR(brightness,
                             0644,
                            led_brightness_show,
                            led_brightness_store);
と定義されているので、

store要求(書き込み要求)があった場合、
led_brightness_store( )が呼ばれる。

 -> led_set_brightness()
 -> armadillo5x0_led_set()

-----------------------------------------

以上 




armadillo メーリングリストの案内