Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

drivers/usb/gadget/function/uvc_configfs.c uvcg_streaming_class_allow_link() -> to_uvcg_streaming_header()

Type Parameter Key Value
PARAM_VALUE 0 item 4096-ptr_max
CAPPED_DATA 0 item->ci_parent 1
DATA_SOURCE 0 item $1
RX_PATH
TASK_NOT_RUNNING
LOCK2 &dir->i_rwsem
LOCK2 &opts->lock
LOCK2 su_mutex
TYPE_LOCK (struct f_uvc_opts)->lock
TYPE_LOCK (struct inode)->i_rwsem

drivers/usb/gadget/function/uvc_configfs.c uvcg_streaming_class_drop_link() -> to_uvcg_streaming_header()

Type Parameter Key Value
PARAM_VALUE 0 item 4096-ptr_max
BUF_SIZE 0 item (-1),1-s32max
BUF_SIZE 0 item (-1),1-s32max
CAPPED_DATA 0 item->ci_parent 1
DATA_SOURCE 0 item $1
RX_PATH
TASK_NOT_RUNNING
LOCK2 &opts->lock
LOCK2 su_mutex
HALF_LOCKED2 &dentry->d_lockref.lock
HALF_LOCKED2 &dir->i_rwsem
HALF_LOCKED2 &target->i_rwsem
TYPE_LOCK (struct f_uvc_opts)->lock
TYPE_LOCK (struct inode)->i_rwsem

drivers/usb/gadget/function/uvc_configfs.c uvcg_streaming_header_allow_link() -> to_uvcg_streaming_header()

Type Parameter Key Value
PARAM_VALUE 0 item 4096-ptr_max
BUF_SIZE 0 item (-1)-s32max
BUF_SIZE 0 item (-1)-s32max
DATA_SOURCE 0 item $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 &dir->i_rwsem
TYPE_LOCK (struct inode)->i_rwsem

drivers/usb/gadget/function/uvc_configfs.c uvcg_streaming_header_b_still_capture_method_show() -> to_uvcg_streaming_header()

Type Parameter Key Value
DATA_SOURCE 0 item $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 &buffer->mutex
LOCK2 &frag->frag_sem
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct configfs_buffer)->mutex
TYPE_LOCK (struct configfs_fragment)->frag_sem

drivers/usb/gadget/function/uvc_configfs.c uvcg_streaming_header_b_terminal_link_show() -> to_uvcg_streaming_header()

Type Parameter Key Value
DATA_SOURCE 0 item $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 &buffer->mutex
LOCK2 &frag->frag_sem
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct configfs_buffer)->mutex
TYPE_LOCK (struct configfs_fragment)->frag_sem

drivers/usb/gadget/function/uvc_configfs.c uvcg_streaming_header_b_trigger_support_show() -> to_uvcg_streaming_header()

Type Parameter Key Value
DATA_SOURCE 0 item $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 &buffer->mutex
LOCK2 &frag->frag_sem
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct configfs_buffer)->mutex
TYPE_LOCK (struct configfs_fragment)->frag_sem

drivers/usb/gadget/function/uvc_configfs.c uvcg_streaming_header_b_trigger_usage_show() -> to_uvcg_streaming_header()

Type Parameter Key Value
DATA_SOURCE 0 item $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 &buffer->mutex
LOCK2 &frag->frag_sem
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct configfs_buffer)->mutex
TYPE_LOCK (struct configfs_fragment)->frag_sem

drivers/usb/gadget/function/uvc_configfs.c uvcg_streaming_header_bm_info_show() -> to_uvcg_streaming_header()

Type Parameter Key Value
DATA_SOURCE 0 item $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 &buffer->mutex
LOCK2 &frag->frag_sem
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct configfs_buffer)->mutex
TYPE_LOCK (struct configfs_fragment)->frag_sem

drivers/usb/gadget/function/uvc_configfs.c uvcg_streaming_header_drop_link() -> to_uvcg_streaming_header()

Type Parameter Key Value
PARAM_VALUE 0 item 4096-ptr_max
BUF_SIZE 0 item (-1)-s32max
BUF_SIZE 0 item (-1)-s32max
DATA_SOURCE 0 item $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dentry->d_lockref.lock
HALF_LOCKED2 &dir->i_rwsem
HALF_LOCKED2 &target->i_rwsem
TYPE_LOCK (struct inode)->i_rwsem

drivers/usb/gadget/function/f_uvc.c uvc_alloc() -> to_uvcg_streaming_header()

Type Parameter Key Value
PARAM_VALUE 0 item 4096-ptr_max
BUF_SIZE 0 item (-1),1-s32max
BUF_SIZE 0 item (-1),1-s32max
DATA_SOURCE 0 item r config_group_find_item
RX_PATH
TASK_NOT_RUNNING
LOCK2 &opts->lock
HALF_LOCKED2 &dir->i_rwsem
HALF_LOCKED2 &gi->lock
TYPE_LOCK (struct f_uvc_opts)->lock