linux-4.4.1/ion_handle_destroy()
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
*参照元 [#uc616b60]
#backlinks
*説明 [#wd74b82f]
-パス: [[linux-4.4.1/drivers/staging/android/ion/ion.c]]
-FIXME: これは何?
--説明
**引数 [#e1935930]
-struct kref *kref
--
--[[linux-4.4.1/kref]]
**返り値 [#v1a4ce4e]
-なし
**参考 [#jfe1a4d1]
*実装 [#g52131c2]
static void ion_handle_destroy(struct kref *kref)
{
struct ion_handle *handle = container_of(kref, struct i...
struct ion_client *client = handle->client;
struct ion_buffer *buffer = handle->buffer;
-
--[[linux-4.4.1/ion_handle]]
--[[linux-4.4.1/container_of()]]
--[[linux-4.4.1/ion_client]]
--[[linux-4.4.1/ion_buffer]]
mutex_lock(&buffer->lock);
while (handle->kmap_cnt)
ion_handle_kmap_put(handle);
mutex_unlock(&buffer->lock);
-
--[[linux-4.4.1/mutex_lock()]]
--[[linux-4.4.1/mutex_unlock()]]
--[[linux-4.4.1/ion_handle_kmap_put()]]
idr_remove(&client->idr, handle->id);
if (!RB_EMPTY_NODE(&handle->node))
rb_erase(&handle->node, &client->handles);
-
--[[linux-4.4.1/idr_remove()]]
--[[linux-4.4.1/RB_EMPTY_NODE()]]
--[[linux-4.4.1/rb_erase()]]
ion_buffer_remove_from_handle(buffer);
ion_buffer_put(buffer);
-
--[[linux-4.4.1/ion_buffer_remove_from_handle()]]
--[[linux-4.4.1/ion_buffer_put()]]
kfree(handle);
-
--[[linux-4.4.1/kfree()]]
}
*コメント [#k5ff85d8]
終了行:
*参照元 [#uc616b60]
#backlinks
*説明 [#wd74b82f]
-パス: [[linux-4.4.1/drivers/staging/android/ion/ion.c]]
-FIXME: これは何?
--説明
**引数 [#e1935930]
-struct kref *kref
--
--[[linux-4.4.1/kref]]
**返り値 [#v1a4ce4e]
-なし
**参考 [#jfe1a4d1]
*実装 [#g52131c2]
static void ion_handle_destroy(struct kref *kref)
{
struct ion_handle *handle = container_of(kref, struct i...
struct ion_client *client = handle->client;
struct ion_buffer *buffer = handle->buffer;
-
--[[linux-4.4.1/ion_handle]]
--[[linux-4.4.1/container_of()]]
--[[linux-4.4.1/ion_client]]
--[[linux-4.4.1/ion_buffer]]
mutex_lock(&buffer->lock);
while (handle->kmap_cnt)
ion_handle_kmap_put(handle);
mutex_unlock(&buffer->lock);
-
--[[linux-4.4.1/mutex_lock()]]
--[[linux-4.4.1/mutex_unlock()]]
--[[linux-4.4.1/ion_handle_kmap_put()]]
idr_remove(&client->idr, handle->id);
if (!RB_EMPTY_NODE(&handle->node))
rb_erase(&handle->node, &client->handles);
-
--[[linux-4.4.1/idr_remove()]]
--[[linux-4.4.1/RB_EMPTY_NODE()]]
--[[linux-4.4.1/rb_erase()]]
ion_buffer_remove_from_handle(buffer);
ion_buffer_put(buffer);
-
--[[linux-4.4.1/ion_buffer_remove_from_handle()]]
--[[linux-4.4.1/ion_buffer_put()]]
kfree(handle);
-
--[[linux-4.4.1/kfree()]]
}
*コメント [#k5ff85d8]
ページ名: