Defined in 1 files as a member:

Defined in 2 files as a function:

Referenced in 13 files:

Smatch caller information:

drivers/i2c/i2c-core-smbus.c i2c_trylock_bus() -> (struct i2c_lock_operations)->trylock_bus()

Type Parameter Key Value
PARAM_VALUE 0 i2c 4096-ptr_max
PARAM_VALUE 0 i2c->algo 4096-ptr_max
PARAM_VALUE 0 i2c->debugfs->d_inode->i_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 i2c->debugfs->d_inode->i_rwsem.first_waiter->type 0-1
PARAM_VALUE 0 i2c->debugfs->d_parent->d_sb->__s_d_op->d_init 0,2385819921126617088,7057831443282669568,7824184004865302528
PARAM_VALUE 0 i2c->debugfs->d_parent->d_sb->__s_d_op->d_iput 0,170374395438985216,837750826476904448,5086081384299388928,8216155483032948736
PARAM_VALUE 0 i2c->debugfs->d_parent->d_sb->__s_d_op->d_manage 0,1859587847549206528
PARAM_VALUE 0 i2c->debugfs->d_parent->d_sb->__s_d_op->d_prune 0,2225594340392566784,7225953709177749504
PARAM_VALUE 0 i2c->debugfs->d_parent->d_sb->__s_d_op->d_real 0,4509355519306412032
PARAM_VALUE 0 i2c->debugfs->d_sb->__s_d_op->d_automount 0,2908707185815040000,3401111987815645184,6746145930460459008,7190988915944083456,7386785427940065280,8018779550845526016
PARAM_VALUE 0 i2c->debugfs->d_sb->__s_d_op->d_init 0,2385819921126617088,7057831443282669568,7824184004865302528
PARAM_VALUE 0 i2c->debugfs->d_sb->__s_d_op->d_iput 0,170374395438985216,837750826476904448,5086081384299388928,8216155483032948736
PARAM_VALUE 0 i2c->debugfs->d_sb->__s_d_op->d_manage 0,1859587847549206528
PARAM_VALUE 0 i2c->debugfs->d_sb->__s_d_op->d_prune 0,2225594340392566784,7225953709177749504
PARAM_VALUE 0 i2c->debugfs->d_sb->__s_d_op->d_real 0,4509355519306412032
PARAM_VALUE 0 i2c->debugfs->d_sb->__s_d_op->d_unalias_trylock 0,6635409759016140800
PARAM_VALUE 0 i2c->debugfs->d_sb->__s_d_op->d_unalias_unlock 0,6336447517789900800
PARAM_VALUE 0 i2c->debugfs->d_sb->__s_d_op->d_weak_revalidate 0,5632434648052031488,5669063523602272256,7231033168839651328
PARAM_VALUE 0 i2c->dev.dma_io_tlb_mem->phys_limit 0-s64max
PARAM_VALUE 0 i2c->dev.iommu_group->owner_cnt 0-4294967295
PARAM_VALUE 0 i2c->dev.kobj.release.wq->dfl_pwq 0-s64max
PARAM_VALUE 0 i2c->dev.kobj.release.wq->saved_max_active s32min-s32max
PARAM_VALUE 0 i2c->dev.kobj.release.wq->saved_min_active s32min-s32max
PARAM_VALUE 0 i2c->dev.kobj.sd->attr.open->nr_mmapped 0-4294967295
PARAM_VALUE 0 i2c->dev.p->dead 0-1
PARAM_VALUE 0 i2c->dev.parent->kobj.release.wq->dfl_pwq 0-s64max
PARAM_VALUE 0 i2c->dev.parent->kobj.release.wq->saved_max_active s32min-s32max
PARAM_VALUE 0 i2c->dev.parent->kobj.release.wq->saved_min_active s32min-s32max
PARAM_VALUE 0 i2c->dev.power.wakeirq->status 0-4294967295
PARAM_VALUE 0 i2c->lock_ops 4096-ptr_max
PARAM_VALUE 0 i2c->lock_ops->lock_bus 0,4096-ptr_max
PARAM_VALUE 0 i2c->lock_ops->trylock_bus 0,4096-ptr_max
PARAM_VALUE 0 i2c->lock_ops->unlock_bus 0,4096-ptr_max
PARAM_VALUE 1 flags 2
DATA_SOURCE 0 i2c $0
DATA_SOURCE 1 flags $1
STR_LEN 0 i2c->dev.driver_data (-1)
STR_LEN 0 i2c->name (-1),19,47
CONTAINER 0 -8-32+0 $(-1)
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 i2c->class 1
HOST_DATA 0 i2c->dev.bus_dma_limit 0-u64max
HOST_DATA 0 i2c->dev.coherent_dma_mask 0-u64max
HOST_DATA 0 i2c->dev.devt 0-u32max
HOST_DATA 0 i2c->dev.dma_uses_io_tlb 0-1
HOST_DATA 0 i2c->dev.id 0-u32max
HOST_DATA 0 i2c->dev.kobj.kref.refcount.refs.counter s32min-s32max
HOST_DATA 0 i2c->dev.kobj.release.cpu s32min-s32max
HOST_DATA 0 i2c->dev.kobj.release.timer.expires 0-u64max
HOST_DATA 0 i2c->dev.kobj.release.timer.flags 0-u32max
HOST_DATA 0 i2c->dev.kobj.release.work.data.counter s64min-s64max
HOST_DATA 0 i2c->dev.kobj.state_add_uevent_sent 0-1
HOST_DATA 0 i2c->dev.kobj.state_in_sysfs 0-1
HOST_DATA 0 i2c->dev.kobj.state_initialized 0-1
HOST_DATA 0 i2c->dev.kobj.state_remove_uevent_sent 0-1
HOST_DATA 0 i2c->dev.kobj.uevent_suppress 0-1
HOST_DATA 0 i2c->dev.links.status 0-u32max
HOST_DATA 0 i2c->dev.mutex.osq.tail.counter s32min-s32max
HOST_DATA 0 i2c->dev.mutex.owner.counter s64min-s64max
HOST_DATA 0 i2c->dev.numa_node s32min-s32max
HOST_DATA 0 i2c->dev.power.accounting_timestamp 0-u64max
HOST_DATA 0 i2c->dev.power.active_time 0-u64max
HOST_DATA 0 i2c->dev.power.async_suspend 0-1
HOST_DATA 0 i2c->dev.power.autosuspend_delay s32min-s32max
HOST_DATA 0 i2c->dev.power.can_wakeup 0-1
HOST_DATA 0 i2c->dev.power.child_count.counter s32min-s32max
HOST_DATA 0 i2c->dev.power.completion.done 0-u32max
HOST_DATA 0 i2c->dev.power.deferred_resume 0-1
HOST_DATA 0 i2c->dev.power.detach_power_off 0-1
HOST_DATA 0 i2c->dev.power.direct_complete 0-1
HOST_DATA 0 i2c->dev.power.disable_depth 0-7
HOST_DATA 0 i2c->dev.power.driver_flags 0-u32max
HOST_DATA 0 i2c->dev.power.early_init 0-1
HOST_DATA 0 i2c->dev.power.idle_notification 0-1
HOST_DATA 0 i2c->dev.power.ignore_children 0-1
HOST_DATA 0 i2c->dev.power.in_dpm_list 0-1
HOST_DATA 0 i2c->dev.power.irq_safe 0-1
HOST_DATA 0 i2c->dev.power.is_late_suspended 0-1
HOST_DATA 0 i2c->dev.power.is_noirq_suspended 0-1
HOST_DATA 0 i2c->dev.power.is_prepared 0-1
HOST_DATA 0 i2c->dev.power.is_suspended 0-1
HOST_DATA 0 i2c->dev.power.last_busy 0-u64max
HOST_DATA 0 i2c->dev.power.last_status s32min-s32max
HOST_DATA 0 i2c->dev.power.links_count 0-u32max
HOST_DATA 0 i2c->dev.power.may_skip_resume 0-1
HOST_DATA 0 i2c->dev.power.memalloc_noio 0-1
HOST_DATA 0 i2c->dev.power.must_resume 0-1
HOST_DATA 0 i2c->dev.power.needs_force_resume 0-1
HOST_DATA 0 i2c->dev.power.no_callbacks 0-1
HOST_DATA 0 i2c->dev.power.no_pm 0-1
HOST_DATA 0 i2c->dev.power.no_pm_callbacks 0-1
HOST_DATA 0 i2c->dev.power.out_band_wakeup 0-1
HOST_DATA 0 i2c->dev.power.power_state.event s32min-s32max
HOST_DATA 0 i2c->dev.power.request 0-u32max
HOST_DATA 0 i2c->dev.power.request_pending 0-1
HOST_DATA 0 i2c->dev.power.runtime_auto 0-1
HOST_DATA 0 i2c->dev.power.runtime_error s32min-s32max
HOST_DATA 0 i2c->dev.power.runtime_status s32min-s32max
HOST_DATA 0 i2c->dev.power.smart_suspend 0-1
HOST_DATA 0 i2c->dev.power.strict_midlayer 0-1
HOST_DATA 0 i2c->dev.power.suspended_time 0-u64max
HOST_DATA 0 i2c->dev.power.syscore 0-1
HOST_DATA 0 i2c->dev.power.timer_autosuspends 0-1
HOST_DATA 0 i2c->dev.power.timer_expires 0-u64max
HOST_DATA 0 i2c->dev.power.usage_count.counter s32min-s32max
HOST_DATA 0 i2c->dev.power.use_autosuspend 0-1
HOST_DATA 0 i2c->dev.power.work_in_progress 0-1
HOST_DATA 0 i2c->dev.removable 0-u32max
HOST_DATA 0 i2c->dev_released.done 0
HOST_DATA 0 i2c->dev_released.wait.lock.magic 0
HOST_DATA 0 i2c->dev_released.wait.lock.owner_cpu 0
HOST_DATA 0 i2c->dev_released.wait.lock.raw_lock.locked 0
HOST_DATA 0 i2c->dev_released.wait.lock.raw_lock.locked_pending 0
HOST_DATA 0 i2c->dev_released.wait.lock.raw_lock.pending 0
HOST_DATA 0 i2c->dev_released.wait.lock.raw_lock.tail 0
HOST_DATA 0 i2c->dev_released.wait.lock.raw_lock.val.counter 0
HOST_DATA 0 i2c->retries 3
HOST_DATA 0 i2c->userspace_clients_lock.owner.counter 0
NO_OVERFLOW_SIMPLE 0 i2c->dev.p->deferred_probe_reason
HALF_LOCKED2 &data->lock
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 global &devlist

drivers/i2c/i2c-core-base.c i2c_trylock_bus() -> (struct i2c_lock_operations)->trylock_bus()

Type Parameter Key Value
PARAM_VALUE 0 i2c 4096-ptr_max
PARAM_VALUE 0 i2c->algo 4096-ptr_max
PARAM_VALUE 0 i2c->lock_ops 4096-ptr_max
PARAM_VALUE 1 flags 2
DATA_SOURCE 0 i2c $0
DATA_SOURCE 1 flags $1
CONTAINER 0 -8-32+0 $(-1)

drivers/i2c/i2c-mux.c i2c_trylock_bus() -> (struct i2c_lock_operations)->trylock_bus()

Type Parameter Key Value
PARAM_VALUE 0 i2c 4096-ptr_max
PARAM_VALUE 0 i2c->lock_ops 4096-ptr_max
PARAM_VALUE 0 i2c->mux_lock.rtmutex.waiters.rb_root.rb_node 4096-ptr_max
DATA_SOURCE 0 i2c $0
DATA_SOURCE 1 flags $1
CONTAINER 0 -8-32+0 $(-1)
RX_PATH
TASK_NOT_RUNNING

drivers/gpu/drm/i915/display/intel_sdvo.c i2c_trylock_bus() -> (struct i2c_lock_operations)->trylock_bus()

Type Parameter Key Value
PARAM_VALUE 0 i2c 4096-ptr_max
PARAM_VALUE 0 i2c->lock_ops 4096-ptr_max
DATA_SOURCE 0 i2c $0
DATA_SOURCE 1 flags $1
CONTAINER 0 -8-32+0 $(-1)
RX_PATH
TASK_NOT_RUNNING

Smatch assignments to (struct i2c_lock_operations)->trylock_bus:

drivers/i2c/busses/i2c-thunderx-pcidrv.c thunder_i2c_smbus_setup() -> (struct i2c_lock_operations)->trylock_bus [0]

drivers/i2c/busses/i2c-xlp9xx.c xlp9xx_i2c_probe() -> (struct i2c_lock_operations)->trylock_bus [0]

drivers/gpu/drm/amd/amdgpu/smu_v11_0_i2c.c (null)() -> (struct i2c_lock_operations)->trylock_bus [9120602437619765248]

drivers/media/pci/zoran/zoran_card.c zoran_i2c_init() -> (struct i2c_lock_operations)->trylock_bus [0]

drivers/media/pci/zoran/zoran_card.c zoran_probe() -> (struct i2c_lock_operations)->trylock_bus [0-u64max]

drivers/i2c/busses/i2c-cht-wc.c (null)() -> (struct i2c_lock_operations)->trylock_bus [2312612586811633664]

drivers/i2c/i2c-core-base.c (null)() -> (struct i2c_lock_operations)->trylock_bus [7263712608386314240]

drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/tests/amdgpu_dm_hdcp_test.c (null)() -> (struct i2c_lock_operations)->trylock_bus [2380763739427954688]

drivers/i2c/i2c-mux.c (null)() -> (struct i2c_lock_operations)->trylock_bus [6434864405470953472,8183399574803873792]

drivers/i2c/i2c-atr.c (null)() -> (struct i2c_lock_operations)->trylock_bus [8314568124280221696]

drivers/media/pci/ttpci/budget.c frontend_init() -> (struct i2c_lock_operations)->trylock_bus [0]

drivers/gpu/drm/i915/display/intel_gmbus.c (null)() -> (struct i2c_lock_operations)->trylock_bus [2845390267878326272]

drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/tests/amdgpu_dm_helpers_test.c (null)() -> (struct i2c_lock_operations)->trylock_bus [7904035198593351680]

drivers/media/usb/ttusb-budget/dvb-ttusb-budget.c frontend_init() -> (struct i2c_lock_operations)->trylock_bus [0]

drivers/media/usb/ttusb-budget/dvb-ttusb-budget.c ttusb_probe() -> (struct i2c_lock_operations)->trylock_bus [min-max]

drivers/i2c/busses/i2c-gpio.c (null)() -> (struct i2c_lock_operations)->trylock_bus [6976717033575530496]

drivers/i2c/busses/i2c-designware-amdpsp.c (null)() -> (struct i2c_lock_operations)->trylock_bus [7654421256394153984]

drivers/i2c/busses/i2c-npcm7xx.c __npcm_i2c_init() -> (struct i2c_lock_operations)->trylock_bus [0]

drivers/i2c/busses/i2c-designware-platdrv.c dw_i2c_plat_probe() -> (struct i2c_lock_operations)->trylock_bus [0]

drivers/i2c/muxes/i2c-demux-pinctrl.c i2c_demux_pinctrl_probe() -> (struct i2c_lock_operations)->trylock_bus [0]

drivers/i2c/busses/i2c-stm32f7.c stm32f7_i2c_probe() -> (struct i2c_lock_operations)->trylock_bus [0]

drivers/gpu/drm/i915/display/intel_sdvo.c (null)() -> (struct i2c_lock_operations)->trylock_bus [5048983875628646400]

drivers/i2c/busses/i2c-designware-pcidrv.c i2c_dw_pci_probe() -> (struct i2c_lock_operations)->trylock_bus [0]

drivers/gpu/drm/display/drm_dp_helper.c (null)() -> (struct i2c_lock_operations)->trylock_bus [5544356984723955712]

drivers/i2c/busses/i2c-designware-amdisp.c amd_isp_dw_i2c_plat_probe() -> (struct i2c_lock_operations)->trylock_bus [0]