*参照元 [#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]

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS