Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

drivers/i2c/busses/i2c-aspeed.c aspeed_i2c_master_irq() -> aspeed_i2c_do_stop()

Type Parameter Key Value
PARAM_VALUE 0 bus 4096-ptr_max
PARAM_VALUE 0 bus->master_state 2-6,8-u32max
DATA_SOURCE 0 bus $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 0 &bus->lock
HALF_LOCKED2 &desc->request_mutex
HALF_LOCKED2 _T->lock
HALF_LOCKED2 flags
HALF_LOCKED2 irq
TYPE_LOCK (struct aspeed_i2c_bus)->lock

drivers/i2c/busses/i2c-aspeed.c aspeed_i2c_master_irq() -> aspeed_i2c_do_stop()

Type Parameter Key Value
PARAM_VALUE 0 bus 4096-ptr_max
PARAM_VALUE 0 bus->master_state 2
DATA_SOURCE 0 bus $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 0 &bus->lock
HALF_LOCKED2 &desc->request_mutex
HALF_LOCKED2 _T->lock
HALF_LOCKED2 flags
HALF_LOCKED2 irq
TYPE_LOCK (struct aspeed_i2c_bus)->lock

drivers/i2c/busses/i2c-aspeed.c aspeed_i2c_master_irq() -> aspeed_i2c_do_stop()

Type Parameter Key Value
PARAM_VALUE 0 bus 4096-ptr_max
PARAM_VALUE 0 bus->master_state 2
DATA_SOURCE 0 bus $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 0 &bus->lock
HALF_LOCKED2 &desc->request_mutex
HALF_LOCKED2 _T->lock
HALF_LOCKED2 flags
HALF_LOCKED2 irq
TYPE_LOCK (struct aspeed_i2c_bus)->lock

drivers/i2c/busses/i2c-aspeed.c aspeed_i2c_master_irq() -> aspeed_i2c_do_stop()

Type Parameter Key Value
PARAM_VALUE 0 bus 4096-ptr_max
PARAM_VALUE 0 bus->master_state 5-6
DATA_SOURCE 0 bus $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 0 &bus->lock
HALF_LOCKED2 &desc->request_mutex
HALF_LOCKED2 _T->lock
HALF_LOCKED2 flags
HALF_LOCKED2 irq
TYPE_LOCK (struct aspeed_i2c_bus)->lock

drivers/i2c/busses/i2c-aspeed.c aspeed_i2c_master_irq() -> aspeed_i2c_do_stop()

Type Parameter Key Value
PARAM_VALUE 0 bus 4096-ptr_max
PARAM_VALUE 0 bus->master_state 4,6
DATA_SOURCE 0 bus $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 0 &bus->lock
HALF_LOCKED2 &desc->request_mutex
HALF_LOCKED2 _T->lock
HALF_LOCKED2 flags
HALF_LOCKED2 irq
TYPE_LOCK (struct aspeed_i2c_bus)->lock

drivers/i2c/busses/i2c-aspeed.c aspeed_i2c_next_msg_or_stop() -> aspeed_i2c_do_stop()

Type Parameter Key Value
PARAM_VALUE 0 bus 4096-ptr_max
PARAM_VALUE 0 bus->master_state 3-6
CAPPED_DATA 0 bus->msgs_count 1
DATA_SOURCE 0 bus $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 0 &bus->lock
HALF_LOCKED2 &desc->request_mutex
HALF_LOCKED2 _T->lock
HALF_LOCKED2 flags
TYPE_LOCK (struct aspeed_i2c_bus)->lock

drivers/i2c/busses/i2c-aspeed.c aspeed_i2c_recover_bus() -> aspeed_i2c_do_stop()

Type Parameter Key Value
PARAM_VALUE 0 bus 4096-ptr_max
BUF_SIZE 0 bus s32min-(-2),1-s32max
BUF_SIZE 0 bus s32min-(-2),1-s32max
DATA_SOURCE 0 bus $0
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
UNITS 0 bus unit_byte
LOCK2 flags
LOCK2 0 &bus->lock
TYPE_LOCK (struct aspeed_i2c_bus)->lock