*参照元 [#z61f0a61]
#backlinks

*説明 [#s016d6c0]
-パス: [[linux-4.4.1/]]
-パス: [[linux-4.4.1/drivers/media/v4l2-core/videobuf2-internal.h]]

-V4L2 キューの操作関数を呼び出すためのヘルパーマクロ。


**引数 [#r137f46b]
-q
--V4L2 キュー。通常は struct vb2_queue * 型の変数を渡す。
--[[linux-4.4.1/vb2_queue]]
-op
--バッファ操作関数名。q->ops->op(args) が呼ばれる。
--q->ops は const struct vb2_ops * 型
--[[linux-4.4.1/vb2_ops]]
-args
--関数に渡す引数。


**返り値 [#f25c5ecd]
-int
--キューが NULL, キュー操作関数が NULL のときは何もせず 0 を返す。
--それ以外の場合はキュー操作関数の返り値に準拠する。


**参考 [#jb1cbe9a]


*実装 [#y9a80f22]
 #define call_qop(q, op, args...)                                        \
 ({                                                                      \
         int err;                                                        \
                                                                         \
         log_qop(q, op);                                                 \
-
--[[linux-4.4.1/log_qop()]]

         err = (q)->ops->op ? (q)->ops->op(args) : 0;                    \
         if (!err)                                                       \
                 (q)->cnt_ ## op++;                                      \
         err;                                                            \
 })


*コメント [#w1a0d4b8]



トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS