かずブログ

Orange Tiny Terror
ひたすら弾くだけ! ギター・トレーニング
地獄のメカニカル・トレーニング・フレーズ 暴走するクラシック名曲編
HERCULES GS432B
冒険野郎マクガイバー シーズン1〈日本語完全版〉
冒険野郎マクガイバー シーズン2〈日本語完全版〉
冒険野郎マクガイバー シーズン3〈日本語完全版〉
Destination (通常盤)
circus (DVD付)
SanDisk UltraII メモリースティックPRO Duo 4GB 転送速度15MB/Sec SDMSPDH-004G-J61
SanDisk microSD Memory Kit 2GB SDSDQ-2048-J3K

request_irq

ちょっと仕事で悩んだのでメモ。

int request_irq( unsigned int irq, void ( *handler )( int, void * ), unsigned long irqflags, const char *devname, void *dev_id );

request_irqのdevnameは、自動変数を指定してはならない。
static変数化、文字列リテラルを指定すること。

kernelを追ったわけではないが、以下想像。
devnameで自動変数を指定できるようにすると、kernelはその値をコピーして内部で保持しなくてはならない。
その際の領域確保処理が無駄だし、文字列長を無制限にするわけにもいかないので、文字列リテラルのポインタだけ保持したほうがシンプルになる。

でも、それならそうと、どこかに書いておいてほしかったな〜。
もしかして、constがそれを示しているのか?
でも、constはそういう意味ではなかったような…。

2010/11/20(Sat) 22:49:01 [2613] かず

投稿パス:

名前:  題名:


パスワード: 

Next >> [しばらく東京]
Back >> [スピーカー比較]