Defined in 2 files as a function:

Referenced in 48 files:

Smatch caller information:

drivers/net/wireless/intel/iwlwifi/mld/mac80211.c iwl_mld_hw_set_pm() -> device_can_wakeup()

Type Parameter Key Value
PARAM_VALUE 0 dev 0,4096-ptr_max
CAPPED_DATA 0 dev->cma_area->nranges 1
LOCK2 global &iwlwifi_opmode_table_mtx
HALF_LOCKED2 &pool->lock

drivers/bluetooth/hci_qca.c qca_setup() -> device_can_wakeup()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
UNITS 0 dev unit_byte
LOCK2 &hdev->req_lock
TYPE_LOCK (struct hci_dev)->req_lock

drivers/acpi/wakeup.c acpi_wakeup_device_init() -> device_can_wakeup()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
LOCK2 global &acpi_device_lock

drivers/usb/core/driver.c autosuspend_check() -> device_can_wakeup()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max

drivers/usb/host/ehci-pci.c ehci_pci_setup() -> device_can_wakeup()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max

drivers/usb/host/ehci-pci.c ehci_pci_setup() -> device_can_wakeup()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max

drivers/usb/host/isp116x-hcd.c isp116x_start() -> device_can_wakeup()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &isp116x->lock
LOCK2 flags
TYPE_LOCK (struct isp116x)->lock

drivers/net/can/m_can/m_can.c m_can_get_wol() -> device_can_wakeup()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING

drivers/acpi/proc.c acpi_system_write_wakeup_device() -> device_can_wakeup()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
LOCK2 global &acpi_device_lock

drivers/acpi/proc.c physical_device_enable_wakeup() -> device_can_wakeup()

Type Parameter Key Value
PARAM_VALUE 0 dev 1-u64max
LOCK2 &adev->physical_node_lock
LOCK2 global &acpi_device_lock
TYPE_LOCK (struct acpi_device)->physical_node_lock

drivers/usb/host/ohci-pci.c ohci_pci_reset() -> device_can_wakeup()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max

drivers/input/mouse/cyapa.c cyapa_prepare_wakeup_controls() -> device_can_wakeup()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
BUF_SIZE 0 dev 1616
RX_PATH
TASK_NOT_RUNNING

drivers/net/ethernet/intel/e1000e/ethtool.c e1000_get_wol() -> device_can_wakeup()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING

drivers/net/ethernet/intel/e1000e/ethtool.c e1000_set_wol() -> device_can_wakeup()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING

drivers/acpi/device_pm.c acpi_subsys_suspend_noirq() -> device_can_wakeup()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
BUF_SIZE 0 dev (-1),4,16,24-s32max
BUF_SIZE 0 dev (-1),4,16,24-s32max
DATA_SOURCE 0 dev $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 0 &dev->mutex

drivers/rtc/rtc-spear.c spear_rtc_probe() -> device_can_wakeup()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING

drivers/net/ethernet/marvell/skge.c skge_devinit() -> device_can_wakeup()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING

drivers/net/ethernet/marvell/skge.c skge_set_wol() -> device_can_wakeup()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING

drivers/usb/dwc3/dwc3-pci.c dwc3_pci_runtime_suspend() -> device_can_wakeup()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
DATA_SOURCE 0 dev $0

drivers/net/ethernet/marvell/sky2.c sky2_set_wol() -> device_can_wakeup()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING

drivers/bluetooth/btusb.c btusb_suspend() -> device_can_wakeup()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING

drivers/rtc/rtc-at91sam9.c at91_rtc_probe() -> device_can_wakeup()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING

drivers/net/ethernet/dlink/sundance.c sundance_set_wol() -> device_can_wakeup()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING

drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c iwl_mvm_mac_setup_register() -> device_can_wakeup()

Type Parameter Key Value
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 global &iwlwifi_opmode_table_mtx

drivers/bluetooth/hci_intel.c intel_set_power() -> device_can_wakeup()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
LOCK2 global &intel_device_list_lock
HALF_LOCKED2 &tty->ldisc_sem

drivers/net/ethernet/intel/e100.c e100_set_wol() -> device_can_wakeup()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING

drivers/net/phy/phy_device.c phy_can_wakeup() -> device_can_wakeup()

Type Parameter Key Value
PARAM_VALUE 0 dev 1-u64max
RX_PATH
TASK_NOT_RUNNING

drivers/net/ethernet/intel/igb/igb_main.c igb_probe() -> device_can_wakeup()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING

drivers/net/phy/realtek/realtek_main.c rtl8211f_get_wol() -> device_can_wakeup()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
LOCK2 &dev->lock
TYPE_LOCK (struct phy_device)->lock

drivers/net/phy/realtek/realtek_main.c rtl8211f_set_wol() -> device_can_wakeup()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
LOCK2 &dev->lock
TYPE_LOCK (struct phy_device)->lock

drivers/mmc/host/sdhci-pci-core.c sdhci_pci_probe_slot() -> device_can_wakeup()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &pdev->dev.mutex

drivers/usb/host/sl811-hcd.c sl811h_resume() -> device_can_wakeup()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dev->mutex

drivers/usb/host/sl811-hcd.c sl811h_start() -> device_can_wakeup()

Type Parameter Key Value

drivers/net/phy/phylink.c phy_can_wakeup() -> device_can_wakeup()

Type Parameter Key Value
PARAM_VALUE 0 dev 1-u64max
RX_PATH
TASK_NOT_RUNNING

drivers/net/ethernet/broadcom/asp2/bcmasp_ethtool.c bcmasp_get_wol() -> device_can_wakeup()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
BUF_SIZE 0 dev 1616
RX_PATH
TASK_NOT_RUNNING

drivers/net/ethernet/broadcom/asp2/bcmasp_ethtool.c bcmasp_set_wol() -> device_can_wakeup()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
BUF_SIZE 0 dev 1616
RX_PATH
TASK_NOT_RUNNING

drivers/rtc/sysfs.c rtc_does_wakealarm() -> device_can_wakeup()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
UNITS 0 dev unit_byte

drivers/net/ethernet/intel/e1000/e1000_ethtool.c e1000_get_wol() -> device_can_wakeup()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING

drivers/net/ethernet/intel/e1000/e1000_ethtool.c e1000_set_wol() -> device_can_wakeup()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING

drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c ixgbe_get_wol() -> device_can_wakeup()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING

drivers/bluetooth/btmtksdio.c btmtksdio_probe() -> device_can_wakeup()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
UNITS 0 dev unit_byte

drivers/pci/pci.c pci_dev_run_wake() -> device_can_wakeup()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING

drivers/pci/pci.c pci_dev_run_wake() -> device_can_wakeup()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING

drivers/pci/pci.c pci_dev_run_wake() -> device_can_wakeup()

Type Parameter Key Value
PARAM_VALUE 0 dev 1-u64max
RX_PATH
TASK_NOT_RUNNING

drivers/pci/pci.c pci_finish_runtime_suspend() -> device_can_wakeup()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max

drivers/net/phy/air_an8801.c an8801r_get_wol() -> device_can_wakeup()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
LOCK2 &phydev->lock
TYPE_LOCK (struct phy_device)->lock

drivers/net/phy/air_an8801.c an8801r_set_wol() -> device_can_wakeup()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
LOCK2 &phydev->lock
TYPE_LOCK (struct phy_device)->lock

drivers/net/ethernet/broadcom/tg3.c tg3_get_wol() -> device_can_wakeup()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING

drivers/net/ethernet/broadcom/tg3.c tg3_get_wol() -> device_can_wakeup()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING

drivers/net/ethernet/broadcom/tg3.c tg3_set_wol() -> device_can_wakeup()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
BUF_SIZE 0 dev 1616
RX_PATH
TASK_NOT_RUNNING

drivers/pci/pci-driver.c pci_pm_suspend_noirq() -> device_can_wakeup()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
BUF_SIZE 0 dev (-1),4,16,24-s32max
BUF_SIZE 0 dev (-1),4,16,24-s32max
DATA_SOURCE 0 dev $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 0 &dev->mutex

drivers/i3c/master/mipi-i3c-hci/core.c i3c_hci_probe() -> device_can_wakeup()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING

drivers/i3c/master/mipi-i3c-hci/mipi-i3c-hci-pci.c mipi_i3c_hci_pci_suspend() -> device_can_wakeup()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
BUF_SIZE 0 dev (-1),4,16,24-s32max
BUF_SIZE 0 dev (-1),4,16,24-s32max
DATA_SOURCE 0 dev $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 0 &dev->mutex

drivers/usb/core/hcd.c rh_call_control() -> device_can_wakeup()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max

drivers/usb/core/hcd.c rh_call_control() -> device_can_wakeup()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max

drivers/rtc/rtc-at91rm9200.c at91_rtc_probe() -> device_can_wakeup()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING

drivers/pnp/pnpacpi/core.c pnpacpi_suspend() -> device_can_wakeup()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dev->mutex

drivers/net/wireless/intel/iwlwifi/dvm/mac80211.c iwlagn_mac_setup_register() -> device_can_wakeup()

Type Parameter Key Value
CAPPED_DATA 0 dev->cma_area->nranges 1
CAPPED_DATA 0 dev->iommu_group->default_domain 1
LOCK2 global &iwlwifi_opmode_table_mtx
HALF_LOCKED2 &pool->lock

drivers/net/ethernet/calxeda/xgmac.c xgmac_get_wol() -> device_can_wakeup()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING

drivers/net/ethernet/calxeda/xgmac.c xgmac_probe() -> device_can_wakeup()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
BUF_SIZE 0 dev 1616
RX_PATH
TASK_NOT_RUNNING

drivers/net/ethernet/calxeda/xgmac.c xgmac_set_wol() -> device_can_wakeup()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING

drivers/net/ethernet/broadcom/genet/bcmgenet_wol.c bcmgenet_get_wol() -> device_can_wakeup()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
BUF_SIZE 0 dev 1616
RX_PATH
TASK_NOT_RUNNING

drivers/net/ethernet/broadcom/genet/bcmgenet_wol.c bcmgenet_set_wol() -> device_can_wakeup()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
BUF_SIZE 0 dev 1616
RX_PATH
TASK_NOT_RUNNING

drivers/net/ethernet/broadcom/bcmsysport.c bcm_sysport_set_wol() -> device_can_wakeup()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
BUF_SIZE 0 dev 1616
RX_PATH
TASK_NOT_RUNNING

drivers/hid/i2c-hid/i2c-hid-core.c i2c_hid_core_register_panel_follower() -> device_can_wakeup()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
BUF_SIZE 0 dev 1616
RX_PATH
TASK_NOT_RUNNING

drivers/rtc/rtc-twl.c twl_rtc_alarm_irq_enable() -> device_can_wakeup()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
DATA_SOURCE 0 dev $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 &rtc->ops_lock
TYPE_LOCK (struct rtc_device)->ops_lock

drivers/base/power/sysfs.c dpm_sysfs_add() -> device_can_wakeup()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
CAPPED_DATA 0 dev 1
CAPPED_DATA 0 dev->bus 1
DATA_SOURCE 0 dev $0

drivers/base/power/sysfs.c dpm_sysfs_change_owner() -> device_can_wakeup()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
BUF_SIZE 0 dev (-1),1616
BUF_SIZE 0 dev (-1),1616
DATA_SOURCE 0 dev $0
RX_PATH
TASK_NOT_RUNNING

drivers/base/power/sysfs.c wakeup_show() -> device_can_wakeup()

Type Parameter Key Value
DATA_SOURCE 0 dev $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 &of->mutex
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct kernfs_open_file)->mutex

drivers/base/power/sysfs.c wakeup_store() -> device_can_wakeup()

Type Parameter Key Value
DATA_SOURCE 0 dev $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 &of->mutex
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct kernfs_open_file)->mutex