参照元†
- table
- セクション名。__##table##_of_table という名前のセクションに変数が置かれる。
- 例えば hoge というトークンを渡すと __hoge_of_table というセクションに変数が置かれる。
- name
- テーブル名。_OF_DECLARE() マクロにて __of_table_ というトークンと連結され、グローバル変数が定義される。
- 例えば hoge というトークンを渡すと __of_table_hoge という変数が定義される。
- compat
- fn
- 初期化関数へのポインタ。下記の返り値、引数を取る関数でなければならない。
- fn_type
返り値†
#ifdef CONFIG_OF
#define _OF_DECLARE(table, name, compat, fn, fn_type) \
static const struct of_device_id __of_table_##name \
__used __section(__##table##_of_table) \
= { .compatible = compat, \
.data = (fn == (fn_type)NULL) ? fn : fn }
#else
#define _OF_DECLARE(table, name, compat, fn, fn_type) \
static const struct of_device_id __of_table_##name \
__attribute__((unused)) \
= { .compatible = compat, \
.data = (fn == (fn_type)NULL) ? fn : fn }
#endif
コメント†