Defined in 2 files as a function:

Referenced in 1 files:

Smatch caller information:

drivers/net/can/grcan.c grcan_clear_bits() -> grcan_write_reg()

Type Parameter Key Value
PARAM_VALUE 0 reg 4096-ptr_max
CAPPED_DATA 1 val 1
DATA_SOURCE 0 reg $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HOST_DATA 1 val 0-u32max
HALF_LOCKED2 &priv->lock
HALF_LOCKED2 flags

drivers/net/can/grcan.c grcan_interrupt() -> grcan_write_reg()

Type Parameter Key Value
PARAM_VALUE 0 reg 4096-ptr_max
PARAM_VALUE 1 val 1-u32max
DATA_SOURCE 1 val r grcan_read_reg
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HOST_DATA 1 val 1-u32max
HALF_LOCKED2 &desc->request_mutex
HALF_LOCKED2 flags

drivers/net/can/grcan.c grcan_lost_one_shot_frame() -> grcan_write_reg()

Type Parameter Key Value
PARAM_VALUE 0 reg 4096-ptr_max
DATA_SOURCE 1 val r grcan_ring_add
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HOST_DATA 1 val 0-u32max
LOCK2 &priv->lock
LOCK2 flags
HALF_LOCKED2 &desc->request_mutex
HALF_LOCKED2 _T->lock
HALF_LOCKED2 flags
TYPE_LOCK (struct grcan_priv)->lock

drivers/net/can/grcan.c grcan_receive() -> grcan_write_reg()

Type Parameter Key Value
PARAM_VALUE 0 reg 4096-ptr_max
DATA_SOURCE 1 val r grcan_ring_add
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HOST_DATA 1 val 0-u32max
HALF_LOCKED2 &ni->dev_lock
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read

drivers/net/can/grcan.c grcan_reset() -> grcan_write_reg()

Type Parameter Key Value
DATA_SOURCE 1 val r grcan_read_reg
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HOST_DATA 1 val 0-u32max
LOCK2 &priv->lock
LOCK2 flags
TYPE_LOCK (struct grcan_priv)->lock

drivers/net/can/grcan.c grcan_reset() -> grcan_write_reg()

Type Parameter Key Value
PARAM_VALUE 0 reg 4096-ptr_max
PARAM_VALUE 1 val 0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &priv->lock
LOCK2 flags
TYPE_LOCK (struct grcan_priv)->lock

drivers/net/can/grcan.c grcan_running_reset() -> grcan_write_reg()

Type Parameter Key Value
PARAM_VALUE 0 reg 4096-ptr_max
DATA_SOURCE 1 val r grcan_read_reg
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HOST_DATA 1 val 0-u32max
LOCK2 &priv->lock
LOCK2 flags
TYPE_LOCK (struct grcan_priv)->lock

drivers/net/can/grcan.c grcan_running_reset() -> grcan_write_reg()

Type Parameter Key Value
PARAM_VALUE 0 reg 4096-ptr_max
DATA_SOURCE 1 val r grcan_read_reg
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HOST_DATA 1 val 0-u32max
LOCK2 &priv->lock
LOCK2 flags
TYPE_LOCK (struct grcan_priv)->lock

drivers/net/can/grcan.c grcan_running_reset() -> grcan_write_reg()

Type Parameter Key Value
PARAM_VALUE 0 reg 4096-ptr_max
DATA_SOURCE 1 val r grcan_read_reg
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HOST_DATA 1 val 0-u32max
LOCK2 &priv->lock
LOCK2 flags
TYPE_LOCK (struct grcan_priv)->lock

drivers/net/can/grcan.c grcan_running_reset() -> grcan_write_reg()

Type Parameter Key Value
PARAM_VALUE 0 reg 4096-ptr_max
DATA_SOURCE 1 val r grcan_read_reg
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HOST_DATA 1 val 0-u32max
LOCK2 &priv->lock
LOCK2 flags
TYPE_LOCK (struct grcan_priv)->lock

drivers/net/can/grcan.c grcan_running_reset() -> grcan_write_reg()

Type Parameter Key Value
PARAM_VALUE 0 reg 4096-ptr_max
DATA_SOURCE 1 val r grcan_read_reg
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HOST_DATA 1 val 0-u32max
LOCK2 &priv->lock
LOCK2 flags
TYPE_LOCK (struct grcan_priv)->lock

drivers/net/can/grcan.c grcan_running_reset() -> grcan_write_reg()

Type Parameter Key Value
PARAM_VALUE 0 reg 4096-ptr_max
DATA_SOURCE 1 val r grcan_read_reg
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HOST_DATA 1 val 0-u32max
LOCK2 &priv->lock
LOCK2 flags
TYPE_LOCK (struct grcan_priv)->lock

drivers/net/can/grcan.c grcan_running_reset() -> grcan_write_reg()

Type Parameter Key Value
PARAM_VALUE 0 reg 4096-ptr_max
DATA_SOURCE 1 val r grcan_read_reg
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HOST_DATA 1 val 0-u32max
LOCK2 &priv->lock
LOCK2 flags
TYPE_LOCK (struct grcan_priv)->lock

drivers/net/can/grcan.c grcan_running_reset() -> grcan_write_reg()

Type Parameter Key Value
PARAM_VALUE 0 reg 4096-ptr_max
DATA_SOURCE 1 val r grcan_read_reg
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HOST_DATA 1 val 0-u32max
LOCK2 &priv->lock
LOCK2 flags
TYPE_LOCK (struct grcan_priv)->lock

drivers/net/can/grcan.c grcan_running_reset() -> grcan_write_reg()

Type Parameter Key Value
PARAM_VALUE 0 reg 4096-ptr_max
DATA_SOURCE 1 val r grcan_read_reg
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HOST_DATA 1 val 0-u32max
LOCK2 &priv->lock
LOCK2 flags
TYPE_LOCK (struct grcan_priv)->lock

drivers/net/can/grcan.c grcan_running_reset() -> grcan_write_reg()

Type Parameter Key Value
PARAM_VALUE 0 reg 4096-ptr_max
PARAM_VALUE 1 val 1,5
BIT_INFO 1 val 0x1,0x7
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &priv->lock
LOCK2 flags
TYPE_LOCK (struct grcan_priv)->lock

drivers/net/can/grcan.c grcan_running_reset() -> grcan_write_reg()

Type Parameter Key Value
PARAM_VALUE 0 reg 4096-ptr_max
PARAM_VALUE 1 val 1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &priv->lock
LOCK2 flags
TYPE_LOCK (struct grcan_priv)->lock

drivers/net/can/grcan.c grcan_running_reset() -> grcan_write_reg()

Type Parameter Key Value
PARAM_VALUE 0 reg 4096-ptr_max
PARAM_VALUE 1 val 1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &priv->lock
LOCK2 flags
TYPE_LOCK (struct grcan_priv)->lock

drivers/net/can/grcan.c grcan_set_bits() -> grcan_write_reg()

Type Parameter Key Value
PARAM_VALUE 0 reg 4096-ptr_max
DATA_SOURCE 0 reg $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HOST_DATA 1 val 0-u32max
HALF_LOCKED2 &priv->lock
HALF_LOCKED2 flags

drivers/net/can/grcan.c grcan_setup_netdev() -> grcan_write_reg()

Type Parameter Key Value
PARAM_VALUE 0 reg 4096-ptr_max
PARAM_VALUE 1 val 2
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/net/can/grcan.c grcan_start() -> grcan_write_reg()

Type Parameter Key Value
PARAM_VALUE 0 reg 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &priv->lock
LOCK2 flags
HALF_LOCKED2 global &rtnl_mutex
TYPE_LOCK (struct grcan_priv)->lock

drivers/net/can/grcan.c grcan_start() -> grcan_write_reg()

Type Parameter Key Value
PARAM_VALUE 0 reg 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 val unit_array_size
LOCK2 &priv->lock
LOCK2 flags
HALF_LOCKED2 global &rtnl_mutex
TYPE_LOCK (struct grcan_priv)->lock

drivers/net/can/grcan.c grcan_start() -> grcan_write_reg()

Type Parameter Key Value
PARAM_VALUE 0 reg 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &priv->lock
LOCK2 flags
HALF_LOCKED2 global &rtnl_mutex
TYPE_LOCK (struct grcan_priv)->lock

drivers/net/can/grcan.c grcan_start() -> grcan_write_reg()

Type Parameter Key Value
PARAM_VALUE 0 reg 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 val unit_array_size
LOCK2 &priv->lock
LOCK2 flags
HALF_LOCKED2 global &rtnl_mutex
TYPE_LOCK (struct grcan_priv)->lock

drivers/net/can/grcan.c grcan_start() -> grcan_write_reg()

Type Parameter Key Value
PARAM_VALUE 0 reg 4096-ptr_max
PARAM_VALUE 1 val 91679
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &priv->lock
LOCK2 flags
HALF_LOCKED2 global &rtnl_mutex
TYPE_LOCK (struct grcan_priv)->lock

drivers/net/can/grcan.c grcan_start() -> grcan_write_reg()

Type Parameter Key Value
PARAM_VALUE 0 reg 4096-ptr_max
PARAM_VALUE 1 val 1,5
FUZZY_MAX 1 val 5
BIT_INFO 1 val 0x1,0x7
HARD_MAX 1 val 5
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &priv->lock
LOCK2 flags
HALF_LOCKED2 global &rtnl_mutex
TYPE_LOCK (struct grcan_priv)->lock

drivers/net/can/grcan.c grcan_start() -> grcan_write_reg()

Type Parameter Key Value
PARAM_VALUE 0 reg 4096-ptr_max
PARAM_VALUE 1 val 1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &priv->lock
LOCK2 flags
HALF_LOCKED2 global &rtnl_mutex
TYPE_LOCK (struct grcan_priv)->lock

drivers/net/can/grcan.c grcan_start() -> grcan_write_reg()

Type Parameter Key Value
PARAM_VALUE 0 reg 4096-ptr_max
PARAM_VALUE 1 val 1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &priv->lock
LOCK2 flags
HALF_LOCKED2 global &rtnl_mutex
TYPE_LOCK (struct grcan_priv)->lock

drivers/net/can/grcan.c grcan_start_xmit() -> grcan_write_reg()

Type Parameter Key Value
PARAM_VALUE 0 reg 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &txq->_xmit_lock
HALF_LOCKED2 bh
HALF_LOCKED2 flags
HALF_LOCKED2 rcu_read

drivers/net/can/grcan.c grcan_stop_hardware() -> grcan_write_reg()

Type Parameter Key Value
PARAM_VALUE 0 reg 4096-ptr_max
PARAM_VALUE 1 val 0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &priv->lock
HALF_LOCKED2 flags

drivers/net/can/grcan.c grcan_write_bits() -> grcan_write_reg()

Type Parameter Key Value
PARAM_VALUE 0 reg 0-ptr_max
CAPPED_DATA 1 val 1
DATA_SOURCE 0 reg $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HOST_DATA 1 val 0-u32max
HALF_LOCKED2 &priv->lock
HALF_LOCKED2 flags
HALF_LOCKED2 global &rtnl_mutex