Defined in 2 files as a function:

Referenced in 2 files:

Smatch caller information:

drivers/gpio/gpio-thunderx.c thunderx_gpio_dir_in() -> bit_cfg_reg()

Type Parameter Key Value
DATA_SOURCE 0 line $1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &txgpio->lock
HALF_LOCKED2 _T->flags
HALF_LOCKED2 _T->lock
TYPE_LOCK (struct thunderx_gpio)->lock

drivers/gpio/gpio-thunderx.c thunderx_gpio_dir_out() -> bit_cfg_reg()

Type Parameter Key Value
DATA_SOURCE 0 line $1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &txgpio->lock
HALF_LOCKED2 _T->lock
TYPE_LOCK (struct thunderx_gpio)->lock

drivers/gpio/gpio-thunderx.c thunderx_gpio_get_direction() -> bit_cfg_reg()

Type Parameter Key Value
DATA_SOURCE 0 line $1
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 line
HALF_LOCKED2 _T->lock

drivers/gpio/gpio-thunderx.c thunderx_gpio_irq_set_type() -> bit_cfg_reg()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
UNITS 0 line unit_array_size
LOCK2 &txgpio->lock
HALF_LOCKED2 global &probing_active
TYPE_LOCK (struct thunderx_gpio)->lock

drivers/gpio/gpio-thunderx.c thunderx_gpio_is_gpio_nowarn() -> bit_cfg_reg()

Type Parameter Key Value
DATA_SOURCE 0 line $1
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 line

drivers/gpio/gpio-thunderx.c thunderx_gpio_probe() -> bit_cfg_reg()

Type Parameter Key Value
PARAM_VALUE 0 line 0-254
CAPPED_DATA 0 line 1
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 line
UNITS 0 line unit_array_size

drivers/gpio/gpio-thunderx.c thunderx_gpio_set_config() -> bit_cfg_reg()

Type Parameter Key Value
DATA_SOURCE 0 line $1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &txgpio->lock
HALF_LOCKED2 _T->lock
TYPE_LOCK (struct thunderx_gpio)->lock

drivers/gpio/gpio-thunderx.c thunderx_gpio_set_config() -> bit_cfg_reg()

Type Parameter Key Value
DATA_SOURCE 0 line $1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &txgpio->lock
HALF_LOCKED2 _T->lock
TYPE_LOCK (struct thunderx_gpio)->lock