Defined in 1 files as a variable:

Defined in 41 files as a member:

Defined in 1 files as a macro:

Defined in 14 files as a function:

Referenced in 105 files:

Smatch caller information:

drivers/power/supply/max77759_charger.c bat_oilo_irq_handler() -> irq_handler()

Type Parameter Key Value
DATA_SOURCE 0 irq $0
DATA_SOURCE 1 data $1
RX_PATH
TASK_NOT_RUNNING

drivers/uio/uio.c uio_interrupt_handler() -> (struct uio_info)->handler()

Type Parameter Key Value
PARAM_VALUE 1 data 4096-ptr_max
DATA_SOURCE 0 irq $0
CONTAINER 1 *(-608+0) $(-1)
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &desc->request_mutex
HALF_LOCKED2 flags

drivers/mmc/core/sdio_irq.c process_sdio_pending_irqs() -> (struct sdio_func)->irq_handler()

Type Parameter Key Value
PARAM_VALUE 0 irq 4096-ptr_max
CONTAINER 0 -1624+0 $(-1)
NOCHECK_CALL

drivers/mmc/core/sdio_irq.c process_sdio_pending_irqs() -> (struct sdio_func)->irq_handler()

Type Parameter Key Value
PARAM_VALUE 0 irq 4096-ptr_max
PARAM_VALUE 0 irq->irq_handler 1-u64max
CONTAINER 0 -1624+0 $(-1)
NOCHECK_CALL

kernel/irq/manage.c __free_irq() -> (struct irqaction)->handler()

Type Parameter Key Value
CAPPED_DATA 1 data 1
DATA_SOURCE 1 data $1
NOCHECK_CALL
LOCK2 &desc->request_mutex
LOCK2 flags
TYPE_LOCK (struct irq_desc)->request_mutex

kernel/irq/handle.c __handle_irq_event_percpu() -> (struct irqaction)->handler()

Type Parameter Key Value
CONTAINER 1 *(-0+8) $(-1)
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 irq

kernel/irq/handle.c __handle_irq_event_percpu() -> (struct irqaction)->handler()

Type Parameter Key Value
CONTAINER 1 *(-0+8) $(-1)
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 irq

kernel/irq/chip.c handle_fasteoi_nmi() -> (struct irqaction)->handler()

Type Parameter Key Value
CONTAINER 1 *(-0+8) $(-1)

kernel/irq/chip.c handle_percpu_devid_irq() -> (struct irqaction)->handler()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 _T->lock
HALF_LOCKED2 irq

kernel/irq/manage.c irq_thread_fn() -> (struct irqaction)->thread_fn()

Type Parameter Key Value
CONTAINER 0 *(-32+56) $(-1)
CONTAINER 1 *(-32+8) $(-1)
HALF_LOCKED2 bh
HALF_LOCKED2 irq

kernel/irq/chip.c handle_nested_irq() -> (struct irqaction)->thread_fn()

Type Parameter Key Value
CONTAINER 0 *(-32+56) $(-1)
CONTAINER 1 *(-32+8) $(-1)
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &rt5677->irq_lock
HALF_LOCKED2 &slave->sdw_dev_lock
HALF_LOCKED2 &smaster->lock
HALF_LOCKED2 _T->lock

Smatch assignments to (struct sdio_func)->irq_handler:

drivers/net/wireless/realtek/rtw88/sdio.c rtw_sdio_request_irq() -> (struct sdio_func)->irq_handler [6656470773334016]

drivers/net/wireless/mediatek/mt76/sdio.c mt76s_hw_init() -> (struct sdio_func)->irq_handler [359551347542986752]

drivers/staging/rtl8723bs/os_dep/sdio_intf.c sdio_alloc_irq() -> (struct sdio_func)->irq_handler [9028335345697062912]

drivers/net/wireless/broadcom/b43/sdio.c b43_sdio_request_irq() -> (struct sdio_func)->irq_handler [6405223553222344704]

drivers/net/wireless/silabs/wfx/bus_sdio.c wfx_sdio_irq_subscribe() -> (struct sdio_func)->irq_handler [2482621415237193728]

drivers/net/wireless/morsemicro/mm81x/sdio.c mm81x_sdio_enable_irq() -> (struct sdio_func)->irq_handler [4129814997102231552]

drivers/net/wireless/microchip/wilc1000/sdio.c wilc_sdio_enable_interrupt() -> (struct sdio_func)->irq_handler [135612147066900480]

drivers/mmc/core/sdio_irq.c sdio_claim_irq() -> (struct sdio_func)->irq_handler [0-u64max]

drivers/mmc/core/sdio_irq.c sdio_release_irq() -> (struct sdio_func)->irq_handler [0]

drivers/net/wireless/marvell/libertas/if_sdio.c if_sdio_finish_power_on() -> (struct sdio_func)->irq_handler [4108759774947307520]

drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c brcmf_sdiod_intr_register() -> (struct sdio_func)->irq_handler [4389587454308974592,5113362724236431360]

drivers/media/mmc/siano/smssdio.c smssdio_probe() -> (struct sdio_func)->irq_handler [9175435925679271936]

drivers/mmc/core/sdio_bus.c sdio_alloc_func() -> (struct sdio_func)->irq_handler [0-u64max]

drivers/mmc/core/sdio_bus.c sdio_release_func() -> (struct sdio_func)->irq_handler [min-max]

drivers/bluetooth/btmtksdio.c btmtksdio_open() -> (struct sdio_func)->irq_handler [6590089185904136192]

drivers/net/wireless/nxp/nxpwifi/sdio.c nxpwifi_sdio_enable_host_int() -> (struct sdio_func)->irq_handler [5251829665487560704]

drivers/net/wireless/marvell/mwifiex/sdio.c mwifiex_sdio_enable_host_int() -> (struct sdio_func)->irq_handler [3478380067292389376]

drivers/net/wireless/st/cw1200/cw1200_sdio.c cw1200_sdio_irq_subscribe() -> (struct sdio_func)->irq_handler [904141630952960000]

drivers/mmc/core/sdio.c mmc_attach_sdio() -> (struct sdio_func)->irq_handler [min-max]

drivers/mmc/core/sdio.c mmc_sdio_detect() -> (struct sdio_func)->irq_handler [min-max]

drivers/mmc/core/sdio.c mmc_sdio_pre_suspend() -> (struct sdio_func)->irq_handler [min-max]

drivers/net/wireless/rsi/rsi_91x_sdio.c rsi_probe() -> (struct sdio_func)->irq_handler [2598343189437325312]

drivers/net/wireless/rsi/rsi_91x_sdio.c rsi_sdio_reinit_device() -> (struct sdio_func)->irq_handler [2598343189437325312]

drivers/net/wireless/ti/wl1251/sdio.c wl1251_sdio_enable_irq() -> (struct sdio_func)->irq_handler [8361170022846844928]

drivers/bluetooth/btmrvl_sdio.c btmrvl_sdio_probe() -> (struct sdio_func)->irq_handler [0]

drivers/bluetooth/btmrvl_sdio.c btmrvl_sdio_register_dev() -> (struct sdio_func)->irq_handler [2181568266579279872]

drivers/bluetooth/btsdio.c btsdio_open() -> (struct sdio_func)->irq_handler [5433313039626715136]

drivers/mmc/core/sdio_uart.c sdio_uart_activate() -> (struct sdio_func)->irq_handler [2538752947687342080]

drivers/net/wireless/ath/ath10k/sdio.c ath10k_sdio_hif_start() -> (struct sdio_func)->irq_handler [9004843845894443008]

drivers/net/wireless/ath/ath6kl/sdio.c ath6kl_sdio_irq_enable() -> (struct sdio_func)->irq_handler [8994990839669293056]