dev_warn() とか、どこで定義されてるのか?
Linux のカーネルで dev_warn() とか dev_notice() とかありますけど、これがソースのどこで実装されているのか非常に分かり難いです。プロトタイプ宣言は、include/linux/device.h とかにありますけど。
実は、これは drivers/base/core.c というファイルで、マクロを使って定義されているんですね。ま、マクロで関数定義したくなるのは分かりますけど、せめて Documentation/ に書いておいて欲しい! プンプン。有名な Free Electrons の Linux Cross Reference とか見ても分からないから!
という訳で、繰り返しになりますが、答は drivers/base/core.c です。
検索している人もあるかもなので、リストしておきます。(^^)
- dev_emerg()
- dev_alert()
- dev_crit()
- dev_err()
- dev_warn()
- dev_notice()
- dev_info()
- dev_dbg()
ちなみにどうやって調べたかというと、Eclipse でソースコードレベルデバッグして、System.map と逆アセンブルリストで見つけたorz