*参照元 [#b30d2d15] #backlinks *説明 [#q477e5c3] -パス: [[linux-4.4.1/drivers/base/devres.c]] -FIXME: これは何? --説明 **引数 [#j7afaa5f] -dr_release_t release -- --[[linux-4.4.1/dr_release_t]] -size_t size -- -gfp_t gfp -- --[[linux-4.4.1/gfp_t]] -int nid -- **返り値 [#d247aa22] -struct devres * -- --[[linux-4.4.1/devres]] **参考 [#vaf9368d] *実装 [#za39acaa] static __always_inline struct devres * alloc_dr(dr_release_t release, size_t size, gfp_t gfp, int nid) { size_t tot_size = sizeof(struct devres) + size; struct devres *dr; - --[[linux-4.4.1/]] --[[linux-4.4.1/devres]] dr = kmalloc_node_track_caller(tot_size, gfp, nid); if (unlikely(!dr)) return NULL; - --[[linux-4.4.1/kmalloc_node_track_caller()]] --[[linux-4.4.1/unlikely()]] memset(dr, 0, offsetof(struct devres, data)); INIT_LIST_HEAD(&dr->node.entry); dr->node.release = release; - --[[linux-4.4.1/memset()]] --[[linux-4.4.1/INIT_LIST_HEAD()]] return dr; } *コメント [#x38b5b50]