Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

drivers/hid/hid-nintendo.c joycon_enable_imu() -> joycon_send_subcmd()

Type Parameter Key Value
PARAM_VALUE 0 ctlr 4096-ptr_max
PARAM_VALUE 0 ctlr->ctlr_state 0-1,3-u32max
PARAM_VALUE 0 ctlr->ctlr_type 0-255
PARAM_VALUE 0 ctlr->hdev 4096-ptr_max
PARAM_VALUE 0 ctlr->hdev->bpf.srcu.dep_map->name 0-255
PARAM_VALUE 0 ctlr->hdev->dev.devres_head.prev 4096-ptr_max
PARAM_VALUE 0 ctlr->hdev->dev.devres_head.prev->next 4096-ptr_max
PARAM_VALUE 0 ctlr->hdev->dev.devres_head.prev->next->next 4096-ptr_max
PARAM_VALUE 0 ctlr->hdev->driver_data->intr_transmit.qlen 0-4294967295
PARAM_VALUE 0 ctlr->hdev->driver_data->thc_hw->thc_bus_lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 ctlr->hdev->driver_data->thc_hw->thc_bus_lock.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 0 ctlr->hdev->driver_data->thc_hw->thc_bus_lock.first_waiter->task->blocked_on 0
PARAM_VALUE 0 ctlr->hdev->driver_data->thc_hw->thc_bus_lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 ctlr->hdev->driver_data->thc_hw->thc_regmap->cache->cached_rbnode->base_reg 0-4294967295
PARAM_VALUE 0 ctlr->hdev->driver_data->thc_hw->thc_regmap->cache->cached_rbnode->blklen 0-4294967295
PARAM_VALUE 0 ctlr->hdev->driver_data->thc_hw->write_done 0
PARAM_VALUE 0 ctlr->hdev->product 0-8205,8207-u32max
PARAM_VALUE 0 ctlr->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 ctlr->mac_addr_str 1-u64max
PARAM_VALUE 0 ctlr->msg_type 2
PARAM_VALUE 0 ctlr->output_mutex.dep_map->name 0-255
PARAM_VALUE 0 ctlr->output_mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 ctlr->output_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 ctlr->output_mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 ctlr->output_mutex.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 ctlr->output_mutex.wait_lock.owner (-1)
PARAM_VALUE 0 ctlr->output_mutex.wait_lock.owner_cpu u32max
PARAM_VALUE 0 ctlr->received_resp 0
PARAM_VALUE 0 ctlr->subcmd_ack_match 16
PARAM_VALUE 0 ctlr->subcmd_num 0-15
PARAM_VALUE 0 *ctlr->accel_cal.offset 0-255
PARAM_VALUE 0 *ctlr->accel_cal.scale 0-255,16384
PARAM_VALUE 0 *ctlr->gyro_cal.offset 0-255
PARAM_VALUE 0 *ctlr->gyro_cal.scale 0-255,13371
PARAM_VALUE 0 *ctlr->imu_cal_accel_divisor (-255)-255,13116-13371,16129-16384
PARAM_VALUE 0 *ctlr->imu_cal_gyro_divisor (-255)-255,13116-13371,16129-16384
PARAM_VALUE 0 *ctlr->input_buf 0-255
PARAM_VALUE 0 *ctlr->mac_addr 0-255
PARAM_VALUE 1 subcmd 4096-ptr_max
PARAM_VALUE 1 subcmd->data 4096-ptr_max
PARAM_VALUE 1 subcmd->subcmd_id 64
PARAM_VALUE 2 data_len 1
PARAM_VALUE 3 timeout 250
BUF_SIZE 0 ctlr s32min-(-2),1-s32max
BUF_SIZE 0 ctlr s32min-(-2),1-s32max
BUF_SIZE 1 subcmd 12
BUF_SIZE 1 subcmd 12
DATA_SOURCE 0 ctlr $0
BIT_INFO 1 subcmd 0x7e970bdf53a35000,0x7e970bdf53a35000
RX_PATH
TASK_NOT_RUNNING
UNITS 0 ctlr unit_byte
LOCK2 0 &ctlr->output_mutex
TYPE_LOCK (struct joycon_ctlr)->output_mutex

drivers/hid/hid-nintendo.c joycon_enable_rumble() -> joycon_send_subcmd()

Type Parameter Key Value
PARAM_VALUE 0 ctlr 4096-ptr_max
PARAM_VALUE 0 ctlr->ctlr_state 0-1,3-u32max
PARAM_VALUE 0 ctlr->ctlr_type 0-255
PARAM_VALUE 0 ctlr->hdev 4096-ptr_max
PARAM_VALUE 0 ctlr->hdev->dev.devres_head.prev 4096-ptr_max
PARAM_VALUE 0 ctlr->hdev->dev.devres_head.prev->next 4096-ptr_max
PARAM_VALUE 0 ctlr->hdev->dev.devres_head.prev->next->next 4096-ptr_max
PARAM_VALUE 0 ctlr->hdev->driver_data->intr_transmit.qlen 0-4294967295
PARAM_VALUE 0 ctlr->hdev->driver_data->qlock.rlock.dep_map->name 0-255
PARAM_VALUE 0 ctlr->hdev->driver_data->thc_hw->thc_bus_lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 ctlr->hdev->driver_data->thc_hw->thc_bus_lock.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 0 ctlr->hdev->driver_data->thc_hw->thc_bus_lock.first_waiter->task->blocked_on 0
PARAM_VALUE 0 ctlr->hdev->driver_data->thc_hw->thc_bus_lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 ctlr->hdev->driver_data->thc_hw->thc_regmap->async 0-1
PARAM_VALUE 0 ctlr->hdev->driver_data->thc_hw->thc_regmap->cache->cached_rbnode->base_reg 0-4294967295
PARAM_VALUE 0 ctlr->hdev->driver_data->thc_hw->thc_regmap->cache->cached_rbnode->blklen 0-4294967295
PARAM_VALUE 0 ctlr->hdev->driver_data->thc_hw->write_done 0
PARAM_VALUE 0 ctlr->hdev->product 0-8205,8207-u32max
PARAM_VALUE 0 ctlr->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 ctlr->mac_addr_str 1-u64max
PARAM_VALUE 0 ctlr->msg_type 2
PARAM_VALUE 0 ctlr->output_mutex.dep_map->name 0-255
PARAM_VALUE 0 ctlr->output_mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 ctlr->output_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 ctlr->output_mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 ctlr->output_mutex.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 ctlr->output_mutex.wait_lock.owner (-1)
PARAM_VALUE 0 ctlr->output_mutex.wait_lock.owner_cpu u32max
PARAM_VALUE 0 ctlr->received_resp 0
PARAM_VALUE 0 ctlr->subcmd_ack_match 3
PARAM_VALUE 0 ctlr->subcmd_num 0-15
PARAM_VALUE 0 *ctlr->accel_cal.offset s16min-s16max
PARAM_VALUE 0 *ctlr->accel_cal.scale s16min-s16max
PARAM_VALUE 0 *ctlr->gyro_cal.offset s16min-s16max
PARAM_VALUE 0 *ctlr->gyro_cal.scale s16min-s16max
PARAM_VALUE 0 *ctlr->hdev->driver_data->report_buf 0-255
PARAM_VALUE 0 *ctlr->imu_cal_accel_divisor s32min-s32max
PARAM_VALUE 0 *ctlr->imu_cal_gyro_divisor s32min-s32max
PARAM_VALUE 0 *ctlr->input_buf 0-255
PARAM_VALUE 0 *ctlr->mac_addr 0-255
PARAM_VALUE 1 subcmd 4096-ptr_max
PARAM_VALUE 1 subcmd->data 4096-ptr_max
PARAM_VALUE 1 subcmd->subcmd_id 72
PARAM_VALUE 2 data_len 1
PARAM_VALUE 3 timeout 62
BUF_SIZE 0 ctlr s32min-(-2),1-s32max
BUF_SIZE 0 ctlr s32min-(-2),1-s32max
BUF_SIZE 1 subcmd 12
BUF_SIZE 1 subcmd 12
DATA_SOURCE 0 ctlr $0
BIT_INFO 1 subcmd 0x2ac0fc69ceead000,0x2ac0fc69ceead000
RX_PATH
TASK_NOT_RUNNING
UNITS 0 ctlr unit_byte
LOCK2 0 &ctlr->output_mutex
TYPE_LOCK (struct joycon_ctlr)->output_mutex

drivers/hid/hid-nintendo.c joycon_read_info() -> joycon_send_subcmd()

Type Parameter Key Value
PARAM_VALUE 0 ctlr 4096-ptr_max
PARAM_VALUE 0 ctlr->hdev 4096-ptr_max
PARAM_VALUE 0 ctlr->hdev->product 0-8205,8207-u32max
PARAM_VALUE 0 ctlr->output_mutex.dep_map->name 0-255
PARAM_VALUE 0 ctlr->output_mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 ctlr->output_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 ctlr->output_mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 ctlr->output_mutex.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 ctlr->output_mutex.wait_lock.owner (-1)
PARAM_VALUE 0 ctlr->output_mutex.wait_lock.owner_cpu u32max
PARAM_VALUE 1 subcmd 3210472543430836224
PARAM_VALUE 1 subcmd->output_id 0
PARAM_VALUE 1 subcmd->packet_num 0
PARAM_VALUE 1 subcmd->subcmd_id 2
PARAM_VALUE 2 data_len 0
PARAM_VALUE 3 timeout 500
BUF_SIZE 0 ctlr s32min-(-2),1-s32max
BUF_SIZE 0 ctlr s32min-(-2),1-s32max
DATA_SOURCE 0 ctlr $0
RX_PATH
TASK_NOT_RUNNING
UNITS 0 ctlr unit_byte
LOCK2 0 &ctlr->output_mutex
TYPE_LOCK (struct joycon_ctlr)->output_mutex

drivers/hid/hid-nintendo.c joycon_request_spi_flash_read() -> joycon_send_subcmd()

Type Parameter Key Value
PARAM_VALUE 0 ctlr 4096-ptr_max
PARAM_VALUE 0 ctlr->ctlr_state 0-1,3-u32max
PARAM_VALUE 0 ctlr->ctlr_type 0-255
PARAM_VALUE 0 ctlr->hdev 4096-ptr_max
PARAM_VALUE 0 ctlr->hdev->dev.devres_head.prev 4096-ptr_max
PARAM_VALUE 0 ctlr->hdev->dev.devres_head.prev->next 4096-ptr_max
PARAM_VALUE 0 ctlr->hdev->dev.devres_head.prev->next->next 4096-ptr_max
PARAM_VALUE 0 ctlr->hdev->product 0-8205,8207-u32max
PARAM_VALUE 0 ctlr->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 ctlr->mac_addr_str 1-u64max
PARAM_VALUE 0 ctlr->msg_type 2
PARAM_VALUE 0 ctlr->output_mutex.dep_map->name 0-255
PARAM_VALUE 0 ctlr->output_mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 ctlr->output_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 ctlr->output_mutex.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 0 ctlr->output_mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 ctlr->output_mutex.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 ctlr->output_mutex.wait_lock.owner (-1)
PARAM_VALUE 0 ctlr->output_mutex.wait_lock.owner_cpu u32max
PARAM_VALUE 0 ctlr->subcmd_ack_match 2,16
PARAM_VALUE 0 ctlr->subcmd_num 0-15
PARAM_VALUE 0 *ctlr->input_buf 0-255
PARAM_VALUE 0 *ctlr->mac_addr 0-255
PARAM_VALUE 1 subcmd 4096-ptr_max
PARAM_VALUE 1 subcmd->data 4096-ptr_max
PARAM_VALUE 1 subcmd->subcmd_id 16
PARAM_VALUE 2 data_len 5
PARAM_VALUE 3 timeout 250
BUF_SIZE 0 ctlr s32min-(-2),1-s32max
BUF_SIZE 0 ctlr s32min-(-2),1-s32max
BUF_SIZE 1 subcmd 16
BUF_SIZE 1 subcmd 16
DATA_SOURCE 0 ctlr $0
BIT_INFO 1 subcmd 0x561d8bc1bae8d000,0x561d8bc1bae8d000
RX_PATH
TASK_NOT_RUNNING
UNITS 0 ctlr unit_byte
LOCK2 0 &ctlr->output_mutex
TYPE_LOCK (struct joycon_ctlr)->output_mutex

drivers/hid/hid-nintendo.c joycon_set_home_led() -> joycon_send_subcmd()

Type Parameter Key Value
PARAM_VALUE 0 ctlr 1-u64max
PARAM_VALUE 0 ctlr->output_mutex.dep_map->name 0-255
PARAM_VALUE 0 ctlr->output_mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 ctlr->output_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 ctlr->output_mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 ctlr->output_mutex.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 ctlr->output_mutex.wait_lock.owner (-1)
PARAM_VALUE 0 ctlr->output_mutex.wait_lock.owner_cpu u32max
PARAM_VALUE 1 subcmd 4096-ptr_max
PARAM_VALUE 1 subcmd->data 4096-ptr_max
PARAM_VALUE 1 subcmd->subcmd_id 56
PARAM_VALUE 2 data_len 5
PARAM_VALUE 3 timeout 62
BUF_SIZE 0 ctlr s32min-(-2),1-s32max
BUF_SIZE 0 ctlr s32min-(-2),1-s32max
BUF_SIZE 0 ctlr->rumble_queue (-1),512,528-8720
BUF_SIZE 1 subcmd 16
BUF_SIZE 1 subcmd 16
DATA_SOURCE 0 ctlr $0
BIT_INFO 1 subcmd 0x2a3e9ca7150e5000,0x2a3e9ca7150e5000
RX_PATH
TASK_NOT_RUNNING
UNITS 0 ctlr unit_byte
LOCK2 0 &ctlr->output_mutex
TYPE_LOCK (struct joycon_ctlr)->output_mutex

drivers/hid/hid-nintendo.c joycon_set_player_leds() -> joycon_send_subcmd()

Type Parameter Key Value
PARAM_VALUE 0 ctlr 4096-ptr_max
PARAM_VALUE 0 ctlr->output_mutex.dep_map->name 0-255
PARAM_VALUE 0 ctlr->output_mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 ctlr->output_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 ctlr->output_mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 ctlr->output_mutex.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 ctlr->output_mutex.wait_lock.owner (-1)
PARAM_VALUE 0 ctlr->output_mutex.wait_lock.owner_cpu u32max
PARAM_VALUE 1 subcmd 4096-ptr_max
PARAM_VALUE 1 subcmd->data 4096-ptr_max
PARAM_VALUE 1 subcmd->subcmd_id 48
PARAM_VALUE 2 data_len 1
PARAM_VALUE 3 timeout 62
BUF_SIZE 0 ctlr s32min-(-2),1-s32max
BUF_SIZE 0 ctlr s32min-(-2),1-s32max
BUF_SIZE 0 ctlr->rumble_queue (-1),512,528-8720
BUF_SIZE 1 subcmd 12
BUF_SIZE 1 subcmd 12
DATA_SOURCE 0 ctlr $0
BIT_INFO 1 subcmd 0xdebe22bb7a94000,0xdebe22bb7a94000
RX_PATH
TASK_NOT_RUNNING
UNITS 0 ctlr unit_byte
LOCK2 0 &ctlr->output_mutex
TYPE_LOCK (struct joycon_ctlr)->output_mutex

drivers/hid/hid-nintendo.c joycon_set_report_mode() -> joycon_send_subcmd()

Type Parameter Key Value
PARAM_VALUE 0 ctlr 4096-ptr_max
PARAM_VALUE 0 ctlr->ctlr_state 0-1,3-u32max
PARAM_VALUE 0 ctlr->ctlr_type 0-255
PARAM_VALUE 0 ctlr->hdev 4096-ptr_max
PARAM_VALUE 0 ctlr->hdev->dev.devres_head.prev 4096-ptr_max
PARAM_VALUE 0 ctlr->hdev->dev.devres_head.prev->next 4096-ptr_max
PARAM_VALUE 0 ctlr->hdev->dev.devres_head.prev->next->next 4096-ptr_max
PARAM_VALUE 0 ctlr->hdev->driver_data->thc_hw->thc_bus_lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 ctlr->hdev->driver_data->thc_hw->thc_bus_lock.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 0 ctlr->hdev->driver_data->thc_hw->thc_bus_lock.first_waiter->task->blocked_on 0
PARAM_VALUE 0 ctlr->hdev->driver_data->thc_hw->thc_bus_lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 ctlr->hdev->driver_data->thc_hw->thc_regmap->cache->cached_rbnode->base_reg 0-4294967295
PARAM_VALUE 0 ctlr->hdev->driver_data->thc_hw->thc_regmap->cache->cached_rbnode->blklen 0-4294967295
PARAM_VALUE 0 ctlr->hdev->product 0-8205,8207-u32max
PARAM_VALUE 0 ctlr->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 ctlr->mac_addr_str 1-u64max
PARAM_VALUE 0 ctlr->msg_type 2
PARAM_VALUE 0 ctlr->output_mutex.dep_map->name 0-255
PARAM_VALUE 0 ctlr->output_mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 ctlr->output_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 ctlr->output_mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 ctlr->output_mutex.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 ctlr->output_mutex.wait_lock.owner (-1)
PARAM_VALUE 0 ctlr->output_mutex.wait_lock.owner_cpu u32max
PARAM_VALUE 0 ctlr->subcmd_ack_match 2,16,64
PARAM_VALUE 0 ctlr->subcmd_num 0-15
PARAM_VALUE 0 *ctlr->accel_cal.offset s16min-s16max
PARAM_VALUE 0 *ctlr->accel_cal.scale s16min-s16max
PARAM_VALUE 0 *ctlr->gyro_cal.offset s16min-s16max
PARAM_VALUE 0 *ctlr->gyro_cal.scale s16min-s16max
PARAM_VALUE 0 *ctlr->imu_cal_accel_divisor s32min-s32max
PARAM_VALUE 0 *ctlr->imu_cal_gyro_divisor s32min-s32max
PARAM_VALUE 0 *ctlr->input_buf 0-255
PARAM_VALUE 0 *ctlr->mac_addr 0-255
PARAM_VALUE 1 subcmd 4096-ptr_max
PARAM_VALUE 1 subcmd->data 4096-ptr_max
PARAM_VALUE 1 subcmd->subcmd_id 3
PARAM_VALUE 2 data_len 1
PARAM_VALUE 3 timeout 250
BUF_SIZE 0 ctlr s32min-(-2),1-s32max
BUF_SIZE 0 ctlr s32min-(-2),1-s32max
BUF_SIZE 1 subcmd 12
BUF_SIZE 1 subcmd 12
DATA_SOURCE 0 ctlr $0
BIT_INFO 1 subcmd 0xc3bc615a2e03000,0xc3bc615a2e03000
RX_PATH
TASK_NOT_RUNNING
UNITS 0 ctlr unit_byte
LOCK2 0 &ctlr->output_mutex
TYPE_LOCK (struct joycon_ctlr)->output_mutex