Defined in 2 files as a prototype:

Defined in 1 files as a function:

Referenced in 3 files:

Smatch caller information:

drivers/staging/vc04_services/bcm2835-audio/bcm2835-vchiq.c bcm2835_audio_unlock() -> vchiq_release_service()

Type Parameter Key Value
PARAM_VALUE 0 instance 4096-ptr_max
PARAM_VALUE 0 instance->state 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &instance->vchi_mutex
HALF_LOCKED2 &chip->audio_mutex
TYPE_LOCK (struct bcm2835_audio_instance)->vchi_mutex

drivers/staging/vc04_services/bcm2835-audio/bcm2835-vchiq.c vc_vchi_audio_init() -> vchiq_release_service()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &chip->audio_mutex
HALF_LOCKED2 &pcm->open_mutex
TYPE_LOCK (struct bcm2835_chip)->audio_mutex

drivers/platform/raspberrypi/vchiq-mmal/mmal-vchiq.c buffer_from_host() -> vchiq_release_service()

Type Parameter Key Value
PARAM_VALUE 0 instance 4096-ptr_max
PARAM_VALUE 0 instance->state 4096-ptr_max
NOCHECK_CALL
HALF_LOCKED2 &instance->vchiq_mutex

drivers/platform/raspberrypi/vchiq-mmal/mmal-vchiq.c buffer_to_host_work_cb() -> vchiq_release_service()

Type Parameter Key Value
PARAM_VALUE 0 instance 4096-ptr_max
PARAM_VALUE 0 instance->bulk_waiter_list.next 4096-ptr_max
PARAM_VALUE 0 instance->bulk_waiter_list.next->next 4096-ptr_max
PARAM_VALUE 0 instance->bulk_waiter_list.next->prev 4096-ptr_max
PARAM_VALUE 0 instance->bulk_waiter_list_mutex.dep_map->name 0-255
PARAM_VALUE 0 instance->bulk_waiter_list_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 instance->bulk_waiter_list_mutex.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 0 instance->bulk_waiter_list_mutex.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 instance->bulk_waiter_list_mutex.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 instance->bulk_waiter_list_mutex.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 instance->bulk_waiter_list_mutex.first_waiter->task->blocked_lock.raw_lock.val.counter s32min-s32max
PARAM_VALUE 0 instance->bulk_waiter_list_mutex.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 instance->bulk_waiter_list_mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 instance->state 4096-ptr_max
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

drivers/platform/raspberrypi/vchiq-mmal/mmal-vchiq.c send_synchronous_mmal_msg() -> vchiq_release_service()

Type Parameter Key Value
PARAM_VALUE 0 instance 4096-ptr_max
PARAM_VALUE 0 instance->state 4096-ptr_max
NOCHECK_CALL
LOCK2 &instance->vchiq_mutex
TYPE_LOCK (struct vchiq_mmal_instance)->vchiq_mutex

drivers/platform/raspberrypi/vchiq-mmal/mmal-vchiq.c vchiq_mmal_init() -> vchiq_release_service()

Type Parameter Key Value
PARAM_VALUE 0 instance 4096-ptr_max
PARAM_VALUE 0 instance->connected 1
PARAM_VALUE 0 instance->state 4096-ptr_max
NOCHECK_CALL

drivers/platform/raspberrypi/vchiq-interface/vchiq_arm.c vchiq_keepalive_thread_func() -> vchiq_release_service()

Type Parameter Key Value
PARAM_VALUE 0 instance 4096-ptr_max
PARAM_VALUE 0 instance->connected 1
PARAM_VALUE 0 instance->state s64min-(-4096),4096-s64max
PARAM_VALUE 0 instance->state->conn_state 2-u32max
PARAM_VALUE 0 instance->state->connect.wait.lock.dep_map->name 0-255
PARAM_VALUE 0 instance->state->connect.wait.lock.owner (-1)
PARAM_VALUE 0 instance->state->connect.wait.lock.owner_cpu u32max
PARAM_VALUE 0 instance->state->connect.wait.lock.raw_lock.val.counter 0-s32max
PARAM_VALUE 0 instance->state->connect.wait.task_list.prev->next 4096-ptr_max
PARAM_VALUE 0 instance->state->connect.wait.task_list.prev->next->next 4096-ptr_max
PARAM_VALUE 0 instance->state->data_quota_event.wait.lock.dep_map->name 0-255
PARAM_VALUE 0 instance->state->data_quota_event.wait.lock.owner (-1)
PARAM_VALUE 0 instance->state->data_quota_event.wait.lock.owner_cpu u32max
PARAM_VALUE 0 instance->state->data_quota_event.wait.task_list.prev->next 4096-ptr_max
PARAM_VALUE 0 instance->state->data_quota_event.wait.task_list.prev->next->next 4096-ptr_max
PARAM_VALUE 0 instance->state->quota_spinlock.rlock.dep_map->name 0-255
PARAM_VALUE 0 instance->state->remote->trigger.armed 0-1
PARAM_VALUE 0 instance->state->remote->trigger.fired 0-1
PARAM_VALUE 0 instance->state->slot_available_event.done 0-4294967293,u32max
PARAM_VALUE 0 instance->state->slot_available_event.wait.lock.dep_map->name 0-255
PARAM_VALUE 0 instance->state->slot_available_event.wait.lock.owner (-1)
PARAM_VALUE 0 instance->state->slot_available_event.wait.lock.owner_cpu u32max
PARAM_VALUE 0 instance->state->slot_available_event.wait.lock.raw_lock.val.counter 0-s32max
PARAM_VALUE 0 instance->state->slot_available_event.wait.task_list.prev->next 4096-ptr_max
PARAM_VALUE 0 instance->state->slot_available_event.wait.task_list.prev->next->next 4096-ptr_max
PARAM_VALUE 0 instance->state->slot_mutex.dep_map->name 0-255
PARAM_VALUE 0 instance->state->slot_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 instance->state->slot_mutex.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 0 instance->state->slot_mutex.osq.tail.counter 0-s32max
CAPPED_DATA 0 instance 1
UNITS 0 instance unit_array_size