- 追加された行はこの色です。
- 削除された行はこの色です。
*参照元 [#qf5967e4]
#backlinks
*説明 [#kca58dec]
-パス: [[linux-4.4.1/drivers/media/v4l2-core/videobuf2-internal.h]]
-FIXME: これは何?
--説明
**引数 [#m4d38eac]
-struct vb2_buffer *vb
--
--[[linux-4.4.1/vb2_buffer]]
-op
--
--トークン。呼び出す関数名を指定する。struct vb2_mem_ops のメンバ名である必要がある。
--[[linux-4.4.1/vb2_mem_ops]]
-args...
--
--関数に渡す引数
**返り値 [#c9b589e7]
-void *
--
**参考 [#l08035ff]
*実装 [#ce7c46f6]
**CONFIG_VIDEO_ADV_DEBUG 有効 [#ad69f7de]
#define call_ptr_memop(vb, op, args...) \
({ \
struct vb2_queue *_q = (vb)->vb2_queue; \
void *ptr; \
\
-
--[[linux-4.4.1/vb2_queue]]
log_memop(vb, op); \
-
--[[linux-4.4.1/log_memop()]]
ptr = _q->mem_ops->op ? _q->mem_ops->op(args) : NULL; \
if (!IS_ERR_OR_NULL(ptr)) \
(vb)->cnt_mem_ ## op++; \
-q->memops は const struct vb2_mem_ops * 型
-
--q->memops は const struct vb2_mem_ops * 型
--[[linux-4.4.1/vb2_mem_ops]]
--[[linux-4.4.1/IS_ERR_OR_NULL()]]
ptr; \
})
**CONFIG_VIDEO_ADV_DEBUG 無効 [#e6d6489f]
#define call_ptr_memop(vb, op, args...) \
((vb)->vb2_queue->mem_ops->op ? \
(vb)->vb2_queue->mem_ops->op(args) : NULL)
-
-q->vb2_queue は struct vb2_queue * 型
-q->vb2_queue->mem_ops は const struct vb2_mem_ops * 型
--vb->vb2_queue は struct vb2_queue * 型
--vb->vb2_queue->mem_ops は const struct vb2_mem_ops * 型
--[[linux-4.4.1/vb2_queue]]
--[[linux-4.4.1/vb2_mem_ops]]
*コメント [#f6d2ce22]