*参照元 [#r691946c] #backlinks *説明 [#f076daba] -パス: [[linux-4.4.1/]] -パス: [[linux-4.4.1/drivers/media/v4l2-core/v4l2-ctrls.c]] -FIXME: これは何? --説明 **引数 [#db9da04b] -struct v4l2_ctrl_handler *hdl -- --[[linux-4.4.1/v4l2_ctrl_handler]] -unsigned nr_of_controls_hint -- -struct lock_class_key *key -- --[[linux-4.4.1/lock_class_key]] -const char *name -- **返り値 [#w5351395] -int -- **参考 [#u5cfe3b4] *実装 [#v541ff2c] /* Initialize the handler */ int v4l2_ctrl_handler_init_class(struct v4l2_ctrl_handler *hdl, unsigned nr_of_controls_hint, struct lock_class_key *key, const char *name) { hdl->lock = &hdl->_lock; mutex_init(hdl->lock); lockdep_set_class_and_name(hdl->lock, key, name); - --[[linux-4.4.1/mutex_init()]] --[[linux-4.4.1/lockdep_set_class_and_name()]] INIT_LIST_HEAD(&hdl->ctrls); INIT_LIST_HEAD(&hdl->ctrl_refs); - --[[linux-4.4.1/INIT_LIST_HEAD()]] hdl->nr_of_buckets = 1 + nr_of_controls_hint / 8; hdl->buckets = kcalloc(hdl->nr_of_buckets, sizeof(hdl->buckets[0]), GFP_KERNEL); hdl->error = hdl->buckets ? 0 : -ENOMEM; - --[[linux-4.4.1/kcalloc()]] return hdl->error; } EXPORT_SYMBOL(v4l2_ctrl_handler_init_class); - --[[linux-4.4.1/EXPORT_SYMBOL()]] *コメント [#b8e37ddb]