Defined in 1 files as a function:

Referenced in 3 files:

Smatch caller information:

drivers/usb/chipidea/core.c ci_hdrc_probe() -> ci_role_start()

Type Parameter Key Value
PARAM_VALUE 0 ci 4096-ptr_max
PARAM_VALUE 0 ci->dev 4096-ptr_max
PARAM_VALUE 0 ci->dev->devres_head.prev 4096-ptr_max
PARAM_VALUE 0 ci->dev->platform_data 4096-ptr_max
PARAM_VALUE 0 ci->hw_bank.abs 4096-ptr_max
PARAM_VALUE 0 ci->hw_bank.cap 0-ptr_max
PARAM_VALUE 0 ci->hw_bank.op 4096-ptr_max
PARAM_VALUE 0 ci->hw_bank.size 9-2305843009213692937
PARAM_VALUE 0 ci->hw_ep_max 0-32
PARAM_VALUE 0 ci->irq 1-s32max
PARAM_VALUE 0 ci->is_otg 0
PARAM_VALUE 0 ci->mutex.dep_map->name 0-255
PARAM_VALUE 0 ci->mutex.first_waiter 0
PARAM_VALUE 0 ci->mutex.magic 4096-ptr_max
PARAM_VALUE 0 ci->mutex.osq.tail.counter 0
PARAM_VALUE 0 ci->mutex.owner.counter 0
PARAM_VALUE 0 ci->phy->dev.power.wakeirq->status 0-4294967295
PARAM_VALUE 0 ci->phy->ops 4096-ptr_max
PARAM_VALUE 0 ci->phy->ops->owner->refcnt.counter 0-s32max
PARAM_VALUE 0 ci->phy->ops->owner->state 0-1,3-u32max
PARAM_VALUE 0 ci->platdata 4096-ptr_max
PARAM_VALUE 0 ci->role 0-1
PARAM_VALUE 0 ci->role_switch 0,4096-ptr_max
PARAM_VALUE 0 ci->ulpi 0,4096-ptr_max
PARAM_VALUE 0 ci->ulpi_ops.read 0,6122100453394923520
PARAM_VALUE 0 ci->ulpi_ops.write 0,8046040565508796416
PARAM_VALUE 0 ci->usb_phy->dev->driver_data->clk->core->enable_count 0-4294967295
PARAM_VALUE 0 ci->usb_phy->dev->driver_data->clk->core->parent->enable_count 0-4294967295
PARAM_VALUE 0 ci->usb_phy->dev->driver_data->clk->core->parent->prepare_count 0-4294967295
PARAM_VALUE 0 ci->usb_phy->dev->driver_data->clk->core->parent->protect_count 0-4294967295
PARAM_VALUE 0 ci->usb_phy->dev->driver_data->clk->core->prepare_count 0-4294967295
PARAM_VALUE 0 ci->usb_phy->dev->driver_data->clk->core->protect_count 0-4294967295
PARAM_VALUE 0 ci->usb_phy->dev->driver_data->vcc->enable_count 0-4294967295
PARAM_VALUE 0 ci->wq 0,4096-ptr_max
PARAM_VALUE 1 role 0-1
BUF_SIZE 0 ci 9024
BUF_SIZE 0 ci->dev 1616
BUF_SIZE 0 ci->irq s32min-(-1),1-s32max
BUF_SIZE 0 ci->platdata s32min-(-2),1-s32max
BUF_SIZE 0 ci->role_switch 0,1848
DATA_SOURCE 0 ci r devm_kzalloc
DATA_SOURCE 1 role r ci_get_role
MEM_ZERO 0 ci
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 ci->rev 0-u32max[c]
HOST_DATA 0 ci->ulpi->id.product 0-u16max[c]

drivers/usb/chipidea/core.c role_store() -> ci_role_start()

Type Parameter Key Value
PARAM_VALUE 0 ci 4096-ptr_max
PARAM_VALUE 0 ci->gadget.dev.power.wakeirq->status 0-4294967295
PARAM_VALUE 0 ci->mutex.dep_map->name 0-255
PARAM_VALUE 0 ci->mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 ci->mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 ci->mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 ci->mutex.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 ci->mutex.wait_lock.owner (-1)
PARAM_VALUE 0 ci->mutex.wait_lock.owner_cpu u32max
PARAM_VALUE 0 ci->phy->dev.power.wakeirq->status 0-4294967295
PARAM_VALUE 0 ci->role 2
PARAM_VALUE 0 ci->roles 4096-ptr_max
PARAM_VALUE 1 role 0-1
BUF_SIZE 0 ci s32min-(-2),1-s32max
BUF_SIZE 0 ci s32min-(-2),1-s32max
CAPPED_DATA 0 &ci->mutex 1
FUZZY_MAX 1 role 1
PARAM_COMPARE 0 ci->role > $1
PARAM_COMPARE 1 role < $0->role
HARD_MAX 1 role 1
RX_PATH
TASK_NOT_RUNNING
UNITS 0 ci unit_byte
LOCK2 &of->mutex
LOCK2 0 &ci->mutex
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct ci_hdrc)->mutex
TYPE_LOCK (struct kernfs_open_file)->mutex

drivers/usb/chipidea/otg_fsm.c ci_otg_start_host() -> ci_role_start()

Type Parameter Key Value
PARAM_VALUE 0 ci 4096-ptr_max
PARAM_VALUE 0 ci->gadget.dev.power.wakeirq->status 0-4294967295
PARAM_VALUE 0 ci->phy->dev.power.wakeirq->status 0-4294967295
PARAM_VALUE 0 ci->role 2
PARAM_VALUE 1 role 0
NOCHECK_CALL
LOCK2 &fsm->lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct otg_fsm)->lock

drivers/usb/chipidea/otg_fsm.c ci_otg_start_host() -> ci_role_start()

Type Parameter Key Value
PARAM_VALUE 0 ci 4096-ptr_max
PARAM_VALUE 0 ci->gadget.dev.power.wakeirq->status 0-4294967295
PARAM_VALUE 0 ci->phy->dev.power.wakeirq->status 0-4294967295
PARAM_VALUE 0 ci->role 2
PARAM_VALUE 1 role 1
NOCHECK_CALL
LOCK2 &fsm->lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct otg_fsm)->lock

drivers/usb/chipidea/otg.c ci_handle_id_switch() -> ci_role_start()

Type Parameter Key Value
PARAM_VALUE 0 ci 4096-ptr_max
PARAM_VALUE 0 ci->dev 4096-ptr_max
PARAM_VALUE 0 ci->dev->bus 0,4096-ptr_max
PARAM_VALUE 0 ci->dev->class 0,4096-ptr_max
PARAM_VALUE 0 ci->dev->power.request 0-4
PARAM_VALUE 0 ci->dev->power.runtime_error s32min-(-17),(-15)-(-14),(-12),(-10)-s32max
PARAM_VALUE 0 ci->dev->power.wakeirq 0,4096-ptr_max
PARAM_VALUE 0 ci->dev->power.wakeirq->status 0-4294967295
PARAM_VALUE 0 ci->dev->type 0,4096-ptr_max
PARAM_VALUE 0 ci->gadget.dev.power.wakeirq->status 0-4294967295
PARAM_VALUE 0 ci->mutex.dep_map->name 0-255
PARAM_VALUE 0 ci->mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 ci->mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 ci->mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 ci->mutex.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 ci->mutex.wait_lock.owner (-1)
PARAM_VALUE 0 ci->mutex.wait_lock.owner_cpu u32max
PARAM_VALUE 0 ci->phy->dev.power.wakeirq->status 0-4294967295
PARAM_VALUE 0 ci->platdata 4096-ptr_max
PARAM_VALUE 0 ci->role 2
PARAM_VALUE 1 role 0-1
CAPPED_DATA 0 &ci->mutex 1
DATA_SOURCE 0 ci $0
DATA_SOURCE 1 role r ci_otg_role
PARAM_COMPARE 0 ci->role > $1
PARAM_COMPARE 1 role < $0->role
NOCHECK_CALL
LOCK2 0 &ci->mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct ci_hdrc)->mutex