*参照元 [#mc08a3cf] #backlinks *説明 [#g04a99c1] -パス: [[linux-4.4.1/drivers/staging/android/ion/ion.c]] -FIXME: これは何? --説明 **引数 [#r60b72cf] -struct kref *kref -- --[[linux-4.4.1/kref]] **返り値 [#gf90c947] -なし **参考 [#v4c445d5] *実装 [#z41c964d] static void _ion_buffer_destroy(struct kref *kref) { struct ion_buffer *buffer = container_of(kref, struct ion_buffer, ref); struct ion_heap *heap = buffer->heap; struct ion_device *dev = buffer->dev; - --[[linux-4.4.1/ion_buffer]] --[[linux-4.4.1/container_of()]] --[[linux-4.4.1/ion_heap]] --[[linux-4.4.1/ion_device]] mutex_lock(&dev->buffer_lock); rb_erase(&buffer->node, &dev->buffers); mutex_unlock(&dev->buffer_lock); - --[[linux-4.4.1/mutex_lock()]] --[[linux-4.4.1/rb_erase()]] --[[linux-4.4.1/mutex_unlock()]] if (heap->flags & ION_HEAP_FLAG_DEFER_FREE) ion_heap_freelist_add(heap, buffer); else ion_buffer_destroy(buffer); - --[[linux-4.4.1/ion_heap_freelist_add()]] --[[linux-4.4.1/ion_buffer_destroy()]] } *コメント [#w5702fbe]