treewide, timers: Rename from_timer() to timer_container_of()
authorIngo Molnar <mingo@kernel.org>
Fri, 9 May 2025 05:51:14 +0000 (07:51 +0200)
committerThomas Gleixner <tglx@linutronix.de>
Sun, 8 Jun 2025 07:07:37 +0000 (09:07 +0200)
Move this API to the canonical timer_*() namespace.

[ tglx: Redone against pre rc1 ]

Signed-off-by: Ingo Molnar <mingo@kernel.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/all/aB2X0jCKQO56WdMt@gmail.com
689 files changed:
arch/alpha/kernel/srmcons.c
arch/powerpc/kvm/booke.c
arch/powerpc/platforms/powermac/low_i2c.c
arch/sh/drivers/heartbeat.c
arch/sh/drivers/pci/common.c
arch/sh/drivers/push-switch.c
arch/sparc/kernel/viohs.c
arch/um/drivers/vector_kern.c
arch/x86/kvm/xen.c
arch/xtensa/platforms/iss/network.c
block/blk-core.c
block/blk-iolatency.c
block/blk-stat.c
block/blk-throttle.c
block/kyber-iosched.c
drivers/accel/qaic/qaic_timesync.c
drivers/acpi/apei/ghes.c
drivers/ata/libahci.c
drivers/ata/libata-eh.c
drivers/atm/idt77252.c
drivers/atm/lanai.c
drivers/auxdisplay/line-display.c
drivers/base/power/main.c
drivers/base/power/wakeup.c
drivers/block/aoe/aoecmd.c
drivers/block/aoe/aoedev.c
drivers/block/drbd/drbd_main.c
drivers/block/drbd/drbd_req.c
drivers/block/drbd/drbd_worker.c
drivers/block/swim3.c
drivers/bluetooth/bluecard_cs.c
drivers/bluetooth/btnxpuart.c
drivers/bluetooth/hci_bcsp.c
drivers/bluetooth/hci_h5.c
drivers/bluetooth/hci_qca.c
drivers/bus/mhi/host/pci_generic.c
drivers/char/hw_random/xgene-rng.c
drivers/char/ipmi/bt-bmc.c
drivers/char/ipmi/ipmi_si_intf.c
drivers/char/ipmi/ipmi_ssif.c
drivers/char/ipmi/ssif_bmc.c
drivers/char/tpm/tpm-dev-common.c
drivers/comedi/drivers/comedi_test.c
drivers/comedi/drivers/das16.c
drivers/comedi/drivers/jr3_pci.c
drivers/cpufreq/powernv-cpufreq.c
drivers/crypto/axis/artpec6_crypto.c
drivers/dma-buf/st-dma-fence.c
drivers/dma/imx-dma.c
drivers/dma/ioat/dma.c
drivers/firewire/core-transaction.c
drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c
drivers/gpu/drm/amd/amdgpu/amdgpu_ring_mux.c
drivers/gpu/drm/bridge/tda998x_drv.c
drivers/gpu/drm/drm_vblank.c
drivers/gpu/drm/exynos/exynos_drm_vidi.c
drivers/gpu/drm/gud/gud_pipe.c
drivers/gpu/drm/i915/gt/intel_rps.c
drivers/gpu/drm/i915/gt/mock_engine.c
drivers/gpu/drm/i915/gt/selftest_migrate.c
drivers/gpu/drm/i915/i915_sw_fence.c
drivers/gpu/drm/i915/intel_wakeref.c
drivers/gpu/drm/i915/selftests/lib_sw_fence.c
drivers/gpu/drm/mediatek/mtk_dp.c
drivers/gpu/drm/msm/adreno/a5xx_preempt.c
drivers/gpu/drm/msm/adreno/a6xx_preempt.c
drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c
drivers/gpu/drm/msm/msm_gpu.c
drivers/gpu/drm/ttm/tests/ttm_bo_test.c
drivers/gpu/drm/vc4/vc4_bo.c
drivers/gpu/drm/vc4/vc4_gem.c
drivers/gpu/drm/vgem/vgem_fence.c
drivers/greybus/operation.c
drivers/hid/hid-apple.c
drivers/hid/hid-appleir.c
drivers/hid/hid-appletb-kbd.c
drivers/hid/hid-letsketch.c
drivers/hid/hid-magicmouse.c
drivers/hid/hid-multitouch.c
drivers/hid/hid-prodikeys.c
drivers/hid/hid-sony.c
drivers/hid/hid-uclogic-core.c
drivers/hid/hid-wiimote-core.c
drivers/hid/usbhid/hid-core.c
drivers/hid/wacom_wac.c
drivers/hsi/clients/ssi_protocol.c
drivers/hwmon/npcm750-pwm-fan.c
drivers/hwmon/pwm-fan.c
drivers/i2c/busses/i2c-img-scb.c
drivers/iio/common/ssp_sensors/ssp_dev.c
drivers/infiniband/hw/cxgb4/cm.c
drivers/infiniband/hw/hfi1/aspm.c
drivers/infiniband/hw/hfi1/chip.c
drivers/infiniband/hw/hfi1/driver.c
drivers/infiniband/hw/hfi1/mad.c
drivers/infiniband/hw/hfi1/sdma.c
drivers/infiniband/hw/hfi1/tid_rdma.c
drivers/infiniband/hw/hfi1/verbs.c
drivers/infiniband/hw/irdma/cm.c
drivers/infiniband/hw/irdma/utils.c
drivers/infiniband/hw/mlx5/mr.c
drivers/infiniband/hw/mthca/mthca_catas.c
drivers/infiniband/hw/qib/qib_driver.c
drivers/infiniband/hw/qib/qib_iba6120.c
drivers/infiniband/hw/qib/qib_iba7220.c
drivers/infiniband/hw/qib/qib_iba7322.c
drivers/infiniband/hw/qib/qib_init.c
drivers/infiniband/hw/qib/qib_intr.c
drivers/infiniband/hw/qib/qib_mad.c
drivers/infiniband/hw/qib/qib_sd7220.c
drivers/infiniband/hw/qib/qib_tx.c
drivers/infiniband/hw/qib/qib_verbs.c
drivers/infiniband/sw/rdmavt/qp.c
drivers/infiniband/sw/rxe/rxe_comp.c
drivers/infiniband/sw/rxe/rxe_req.c
drivers/input/ff-memless.c
drivers/input/gameport/gameport.c
drivers/input/input.c
drivers/input/joystick/db9.c
drivers/input/joystick/gamecon.c
drivers/input/joystick/turbografx.c
drivers/input/keyboard/imx_keypad.c
drivers/input/keyboard/locomokbd.c
drivers/input/keyboard/snvs_pwrkey.c
drivers/input/keyboard/tegra-kbc.c
drivers/input/misc/nxp-bbnsm-pwrkey.c
drivers/input/mouse/alps.c
drivers/input/mouse/byd.c
drivers/input/touchscreen/ad7877.c
drivers/input/touchscreen/ad7879.c
drivers/input/touchscreen/bu21029_ts.c
drivers/input/touchscreen/exc3000.c
drivers/input/touchscreen/sx8654.c
drivers/input/touchscreen/tsc200x-core.c
drivers/iommu/dma-iommu.c
drivers/isdn/hardware/mISDN/hfcpci.c
drivers/isdn/hardware/mISDN/mISDNipac.c
drivers/isdn/hardware/mISDN/mISDNisar.c
drivers/isdn/hardware/mISDN/w6692.c
drivers/isdn/mISDN/dsp_tones.c
drivers/isdn/mISDN/fsm.c
drivers/isdn/mISDN/l1oip_core.c
drivers/isdn/mISDN/timerdev.c
drivers/leds/flash/leds-rt8515.c
drivers/leds/flash/leds-sgm3140.c
drivers/leds/led-core.c
drivers/leds/trigger/ledtrig-activity.c
drivers/leds/trigger/ledtrig-heartbeat.c
drivers/leds/trigger/ledtrig-pattern.c
drivers/leds/trigger/ledtrig-transient.c
drivers/mailbox/mailbox-altera.c
drivers/md/bcache/stats.c
drivers/md/dm-delay.c
drivers/md/dm-integrity.c
drivers/md/dm-mpath.c
drivers/md/dm-raid1.c
drivers/md/dm-vdo/dedupe.c
drivers/md/dm-writecache.c
drivers/md/md.c
drivers/media/common/saa7146/saa7146_fops.c
drivers/media/common/saa7146/saa7146_vbi.c
drivers/media/dvb-core/dmxdev.c
drivers/media/i2c/tc358743.c
drivers/media/i2c/tvaudio.c
drivers/media/pci/bt8xx/bttv-driver.c
drivers/media/pci/bt8xx/bttv-input.c
drivers/media/pci/cx18/cx18-fileops.c
drivers/media/pci/ivtv/ivtv-irq.c
drivers/media/pci/netup_unidvb/netup_unidvb_core.c
drivers/media/pci/saa7134/saa7134-core.c
drivers/media/pci/saa7134/saa7134-input.c
drivers/media/pci/tw686x/tw686x-core.c
drivers/media/platform/samsung/s5p-mfc/s5p_mfc.c
drivers/media/platform/st/sti/c8sectpfe/c8sectpfe-core.c
drivers/media/radio/radio-cadet.c
drivers/media/rc/ene_ir.c
drivers/media/rc/igorplugusb.c
drivers/media/rc/img-ir/img-ir-hw.c
drivers/media/rc/img-ir/img-ir-raw.c
drivers/media/rc/imon.c
drivers/media/rc/ir-mce_kbd-decoder.c
drivers/media/rc/rc-ir-raw.c
drivers/media/rc/rc-main.c
drivers/media/usb/au0828/au0828-dvb.c
drivers/media/usb/au0828/au0828-video.c
drivers/media/usb/pvrusb2/pvrusb2-hdw.c
drivers/media/usb/s2255/s2255drv.c
drivers/memory/tegra/tegra210-emc-core.c
drivers/memstick/core/ms_block.c
drivers/memstick/host/jmb38x_ms.c
drivers/memstick/host/r592.c
drivers/memstick/host/tifm_ms.c
drivers/misc/bcm-vk/bcm_vk_tty.c
drivers/misc/cardreader/rtsx_usb.c
drivers/misc/sgi-xp/xpc_main.c
drivers/mmc/core/host.c
drivers/mmc/host/atmel-mci.c
drivers/mmc/host/dw_mmc.c
drivers/mmc/host/jz4740_mmc.c
drivers/mmc/host/meson-mx-sdio.c
drivers/mmc/host/mvsdio.c
drivers/mmc/host/mxcmmc.c
drivers/mmc/host/omap.c
drivers/mmc/host/sdhci.c
drivers/mmc/host/tifm_sd.c
drivers/mmc/host/via-sdmmc.c
drivers/mmc/host/vub300.c
drivers/mmc/host/wbsd.c
drivers/most/most_usb.c
drivers/mtd/sm_ftl.c
drivers/net/arcnet/arcnet.c
drivers/net/can/grcan.c
drivers/net/can/kvaser_pciefd.c
drivers/net/can/sja1000/peak_pcmcia.c
drivers/net/can/usb/peak_usb/pcan_usb.c
drivers/net/dsa/mv88e6xxx/phy.c
drivers/net/eql.c
drivers/net/ethernet/3com/3c515.c
drivers/net/ethernet/3com/3c574_cs.c
drivers/net/ethernet/3com/3c589_cs.c
drivers/net/ethernet/3com/3c59x.c
drivers/net/ethernet/8390/axnet_cs.c
drivers/net/ethernet/8390/pcnet_cs.c
drivers/net/ethernet/agere/et131x.c
drivers/net/ethernet/amazon/ena/ena_netdev.c
drivers/net/ethernet/amd/a2065.c
drivers/net/ethernet/amd/amd8111e.c
drivers/net/ethernet/amd/declance.c
drivers/net/ethernet/amd/pcnet32.c
drivers/net/ethernet/amd/pds_core/main.c
drivers/net/ethernet/amd/sunlance.c
drivers/net/ethernet/amd/xgbe/xgbe-drv.c
drivers/net/ethernet/apple/bmac.c
drivers/net/ethernet/apple/mace.c
drivers/net/ethernet/aquantia/atlantic/aq_nic.c
drivers/net/ethernet/atheros/ag71xx.c
drivers/net/ethernet/atheros/atl1c/atl1c_main.c
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
drivers/net/ethernet/atheros/atlx/atl1.c
drivers/net/ethernet/atheros/atlx/atl2.c
drivers/net/ethernet/broadcom/b44.c
drivers/net/ethernet/broadcom/bcm63xx_enet.c
drivers/net/ethernet/broadcom/bnx2.c
drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c
drivers/net/ethernet/broadcom/bnxt/bnxt.c
drivers/net/ethernet/broadcom/tg3.c
drivers/net/ethernet/brocade/bna/bnad.c
drivers/net/ethernet/chelsio/cxgb/sge.c
drivers/net/ethernet/chelsio/cxgb3/sge.c
drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
drivers/net/ethernet/chelsio/cxgb4/sge.c
drivers/net/ethernet/chelsio/cxgb4vf/sge.c
drivers/net/ethernet/cisco/enic/enic_clsf.c
drivers/net/ethernet/cisco/enic/enic_main.c
drivers/net/ethernet/dec/tulip/de2104x.c
drivers/net/ethernet/dec/tulip/dmfe.c
drivers/net/ethernet/dec/tulip/interrupt.c
drivers/net/ethernet/dec/tulip/pnic.c
drivers/net/ethernet/dec/tulip/pnic2.c
drivers/net/ethernet/dec/tulip/timer.c
drivers/net/ethernet/dec/tulip/tulip_core.c
drivers/net/ethernet/dec/tulip/uli526x.c
drivers/net/ethernet/dec/tulip/winbond-840.c
drivers/net/ethernet/dlink/dl2k.c
drivers/net/ethernet/fealnx.c
drivers/net/ethernet/google/gve/gve_main.c
drivers/net/ethernet/hisilicon/hns/hns_enet.c
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c
drivers/net/ethernet/intel/e100.c
drivers/net/ethernet/intel/e1000e/netdev.c
drivers/net/ethernet/intel/fm10k/fm10k_pci.c
drivers/net/ethernet/intel/i40e/i40e_main.c
drivers/net/ethernet/intel/ice/ice_main.c
drivers/net/ethernet/intel/ice/ice_virtchnl_fdir.c
drivers/net/ethernet/intel/igb/igb_main.c
drivers/net/ethernet/intel/igbvf/netdev.c
drivers/net/ethernet/intel/igc/igc_main.c
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
drivers/net/ethernet/korina.c
drivers/net/ethernet/marvell/mv643xx_eth.c
drivers/net/ethernet/marvell/pxa168_eth.c
drivers/net/ethernet/marvell/skge.c
drivers/net/ethernet/marvell/sky2.c
drivers/net/ethernet/mellanox/mlx4/catas.c
drivers/net/ethernet/mellanox/mlx5/core/fw_reset.c
drivers/net/ethernet/mellanox/mlx5/core/health.c
drivers/net/ethernet/micrel/ksz884x.c
drivers/net/ethernet/myricom/myri10ge/myri10ge.c
drivers/net/ethernet/natsemi/natsemi.c
drivers/net/ethernet/natsemi/ns83820.c
drivers/net/ethernet/neterion/s2io.c
drivers/net/ethernet/netronome/nfp/nfp_net_common.c
drivers/net/ethernet/nvidia/forcedeth.c
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
drivers/net/ethernet/packetengines/hamachi.c
drivers/net/ethernet/packetengines/yellowfin.c
drivers/net/ethernet/pasemi/pasemi_mac.c
drivers/net/ethernet/pensando/ionic/ionic_dev.c
drivers/net/ethernet/qlogic/qla3xxx.c
drivers/net/ethernet/realtek/atp.c
drivers/net/ethernet/rocker/rocker_ofdpa.c
drivers/net/ethernet/samsung/sxgbe/sxgbe_main.c
drivers/net/ethernet/seeq/ether3.c
drivers/net/ethernet/sfc/falcon/falcon.c
drivers/net/ethernet/sfc/falcon/rx.c
drivers/net/ethernet/sfc/mcdi.c
drivers/net/ethernet/sfc/rx_common.c
drivers/net/ethernet/sfc/siena/mcdi.c
drivers/net/ethernet/sfc/siena/rx_common.c
drivers/net/ethernet/sgi/ioc3-eth.c
drivers/net/ethernet/sis/sis190.c
drivers/net/ethernet/sis/sis900.c
drivers/net/ethernet/smsc/epic100.c
drivers/net/ethernet/smsc/smc91c92_cs.c
drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
drivers/net/ethernet/sun/cassini.c
drivers/net/ethernet/sun/niu.c
drivers/net/ethernet/sun/sunbmac.c
drivers/net/ethernet/sun/sungem.c
drivers/net/ethernet/sun/sunhme.c
drivers/net/ethernet/sun/sunvnet_common.c
drivers/net/ethernet/synopsys/dwc-xlgmac-net.c
drivers/net/ethernet/ti/cpsw_ale.c
drivers/net/ethernet/ti/netcp_ethss.c
drivers/net/ethernet/ti/tlan.c
drivers/net/ethernet/tundra/tsi108_eth.c
drivers/net/ethernet/wangxun/libwx/wx_lib.c
drivers/net/fddi/defza.c
drivers/net/hamradio/6pack.c
drivers/net/hamradio/scc.c
drivers/net/hippi/rrunner.c
drivers/net/ntb_netdev.c
drivers/net/slip/slip.c
drivers/net/tun.c
drivers/net/usb/catc.c
drivers/net/usb/lan78xx.c
drivers/net/usb/sierra_net.c
drivers/net/usb/usbnet.c
drivers/net/vxlan/vxlan_core.c
drivers/net/wan/hdlc_cisco.c
drivers/net/wan/hdlc_fr.c
drivers/net/wan/hdlc_ppp.c
drivers/net/wireguard/timers.c
drivers/net/wireless/ath/ar5523/ar5523.c
drivers/net/wireless/ath/ath10k/htt_rx.c
drivers/net/wireless/ath/ath10k/pci.c
drivers/net/wireless/ath/ath10k/sdio.c
drivers/net/wireless/ath/ath10k/snoc.c
drivers/net/wireless/ath/ath11k/ce.c
drivers/net/wireless/ath/ath11k/dp.c
drivers/net/wireless/ath/ath11k/dp_rx.c
drivers/net/wireless/ath/ath12k/ce.c
drivers/net/wireless/ath/ath12k/dp_rx.c
drivers/net/wireless/ath/ath6kl/main.c
drivers/net/wireless/ath/ath6kl/recovery.c
drivers/net/wireless/ath/ath6kl/txrx.c
drivers/net/wireless/ath/ath6kl/wmi.c
drivers/net/wireless/ath/ath9k/channel.c
drivers/net/wireless/ath/ath9k/gpio.c
drivers/net/wireless/ath/ath9k/htc_drv_txrx.c
drivers/net/wireless/ath/ath9k/link.c
drivers/net/wireless/ath/ath9k/main.c
drivers/net/wireless/ath/wcn36xx/dxe.c
drivers/net/wireless/ath/wil6210/netdev.c
drivers/net/wireless/broadcom/brcm80211/brcmfmac/btcoex.c
drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
drivers/net/wireless/intel/ipw2x00/libipw_crypto.c
drivers/net/wireless/intel/iwlegacy/3945-rs.c
drivers/net/wireless/intel/iwlegacy/4965-mac.c
drivers/net/wireless/intel/iwlegacy/common.c
drivers/net/wireless/intel/iwlwifi/dvm/main.c
drivers/net/wireless/intel/iwlwifi/dvm/tt.c
drivers/net/wireless/intel/iwlwifi/iwl-dbg-tlv.c
drivers/net/wireless/intel/iwlwifi/mld/agg.c
drivers/net/wireless/intel/iwlwifi/mvm/sta.c
drivers/net/wireless/intel/iwlwifi/pcie/tx.c
drivers/net/wireless/marvell/libertas/if_usb.c
drivers/net/wireless/marvell/libertas/main.c
drivers/net/wireless/marvell/libertas_tf/if_usb.c
drivers/net/wireless/marvell/libertas_tf/main.c
drivers/net/wireless/marvell/mwifiex/11n_rxreorder.c
drivers/net/wireless/marvell/mwifiex/cmdevt.c
drivers/net/wireless/marvell/mwifiex/init.c
drivers/net/wireless/marvell/mwifiex/tdls.c
drivers/net/wireless/marvell/mwifiex/usb.c
drivers/net/wireless/mediatek/mt76/mt7615/main.c
drivers/net/wireless/mediatek/mt76/mt792x_core.c
drivers/net/wireless/microchip/wilc1000/hif.c
drivers/net/wireless/purelifi/plfxlc/usb.c
drivers/net/wireless/realtek/rtlwifi/base.c
drivers/net/wireless/realtek/rtlwifi/rtl8188ee/dm.c
drivers/net/wireless/realtek/rtlwifi/rtl8188ee/hw.c
drivers/net/wireless/realtek/rtw88/tx.c
drivers/net/wireless/rsi/rsi_91x_hal.c
drivers/net/wireless/rsi/rsi_91x_mac80211.c
drivers/net/wireless/st/cw1200/queue.c
drivers/net/wireless/st/cw1200/sta.c
drivers/net/wireless/ti/wlcore/main.c
drivers/net/xen-netback/netback.c
drivers/net/xen-netfront.c
drivers/nfc/nfcmrvl/fw_dnld.c
drivers/nfc/pn533/pn533.c
drivers/nfc/pn533/uart.c
drivers/nfc/st-nci/ndlc.c
drivers/nfc/st-nci/se.c
drivers/nfc/st21nfca/se.c
drivers/nvme/host/multipath.c
drivers/parport/ieee1284.c
drivers/pci/hotplug/cpqphp_ctrl.c
drivers/pci/hotplug/shpchp_hpc.c
drivers/pcmcia/bcm63xx_pcmcia.c
drivers/pcmcia/electra_cf.c
drivers/pcmcia/omap_cf.c
drivers/pcmcia/pd6729.c
drivers/pcmcia/soc_common.c
drivers/pcmcia/yenta_socket.c
drivers/platform/x86/intel_ips.c
drivers/pps/clients/pps-gpio.c
drivers/ptp/ptp_ocp.c
drivers/rtc/dev.c
drivers/rtc/rtc-test.c
drivers/s390/block/dasd.c
drivers/s390/char/con3215.c
drivers/s390/char/con3270.c
drivers/s390/char/tape_core.c
drivers/s390/char/tape_std.c
drivers/s390/cio/device_fsm.c
drivers/s390/cio/eadm_sch.c
drivers/s390/crypto/ap_bus.c
drivers/s390/net/fsm.c
drivers/s390/net/qeth_core_main.c
drivers/s390/scsi/zfcp_erp.c
drivers/s390/scsi/zfcp_fsf.c
drivers/s390/scsi/zfcp_qdio.c
drivers/scsi/aic7xxx/aic79xx_core.c
drivers/scsi/aic94xx/aic94xx_scb.c
drivers/scsi/aic94xx/aic94xx_tmf.c
drivers/scsi/arcmsr/arcmsr_hba.c
drivers/scsi/arm/fas216.c
drivers/scsi/be2iscsi/be_main.c
drivers/scsi/bfa/bfad.c
drivers/scsi/bnx2fc/bnx2fc_fcoe.c
drivers/scsi/bnx2fc/bnx2fc_tgt.c
drivers/scsi/bnx2i/bnx2i_hwi.c
drivers/scsi/csiostor/csio_hw.c
drivers/scsi/cxgbi/cxgb3i/cxgb3i.c
drivers/scsi/cxgbi/cxgb4i/cxgb4i.c
drivers/scsi/dc395x.c
drivers/scsi/elx/efct/efct_xport.c
drivers/scsi/elx/libefc/efc_els.c
drivers/scsi/elx/libefc/efc_fabric.c
drivers/scsi/esas2r/esas2r_main.c
drivers/scsi/fcoe/fcoe_ctlr.c
drivers/scsi/fcoe/fcoe_transport.c
drivers/scsi/fnic/fdls_disc.c
drivers/scsi/fnic/fip.c
drivers/scsi/fnic/fnic_main.c
drivers/scsi/hisi_sas/hisi_sas_main.c
drivers/scsi/hisi_sas/hisi_sas_v1_hw.c
drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
drivers/scsi/ibmvscsi/ibmvfc.c
drivers/scsi/ibmvscsi/ibmvscsi.c
drivers/scsi/ipr.c
drivers/scsi/isci/host.c
drivers/scsi/isci/phy.c
drivers/scsi/isci/port.c
drivers/scsi/isci/port_config.c
drivers/scsi/libfc/fc_fcp.c
drivers/scsi/libiscsi.c
drivers/scsi/libsas/sas_scsi_host.c
drivers/scsi/lpfc/lpfc_ct.c
drivers/scsi/lpfc/lpfc_els.c
drivers/scsi/lpfc/lpfc_hbadisc.c
drivers/scsi/lpfc/lpfc_init.c
drivers/scsi/lpfc/lpfc_scsi.c
drivers/scsi/lpfc/lpfc_sli.c
drivers/scsi/megaraid/megaraid_mbox.c
drivers/scsi/megaraid/megaraid_mm.c
drivers/scsi/megaraid/megaraid_sas_base.c
drivers/scsi/mvsas/mv_sas.c
drivers/scsi/ncr53c8xx.c
drivers/scsi/pmcraid.c
drivers/scsi/qla1280.c
drivers/scsi/qla2xxx/qla_edif.c
drivers/scsi/qla2xxx/qla_init.c
drivers/scsi/qla2xxx/qla_os.c
drivers/scsi/qla4xxx/ql4_os.c
drivers/scsi/smartpqi/smartpqi_init.c
drivers/scsi/sym53c8xx_2/sym_glue.c
drivers/staging/gpib/agilent_82357a/agilent_82357a.c
drivers/staging/gpib/common/gpib_os.c
drivers/staging/gpib/common/iblib.c
drivers/staging/gpib/ni_usb/ni_usb_gpib.c
drivers/staging/media/imx/imx-ic-prpencvf.c
drivers/staging/media/imx/imx-media-csi.c
drivers/staging/rtl8723bs/core/rtw_mlme.c
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
drivers/staging/rtl8723bs/core/rtw_pwrctrl.c
drivers/staging/rtl8723bs/core/rtw_recv.c
drivers/staging/rtl8723bs/os_dep/mlme_linux.c
drivers/target/iscsi/iscsi_target_erl0.c
drivers/target/iscsi/iscsi_target_erl1.c
drivers/target/iscsi/iscsi_target_util.c
drivers/target/target_core_user.c
drivers/tty/ipwireless/hardware.c
drivers/tty/mips_ejtag_fdc.c
drivers/tty/n_gsm.c
drivers/tty/serial/8250/8250_aspeed_vuart.c
drivers/tty/serial/8250/8250_core.c
drivers/tty/serial/altera_uart.c
drivers/tty/serial/amba-pl011.c
drivers/tty/serial/atmel_serial.c
drivers/tty/serial/fsl_lpuart.c
drivers/tty/serial/imx.c
drivers/tty/serial/liteuart.c
drivers/tty/serial/max3100.c
drivers/tty/serial/sa1100.c
drivers/tty/serial/sccnxp.c
drivers/tty/serial/sh-sci.c
drivers/tty/synclink_gt.c
drivers/tty/sysrq.c
drivers/tty/vcc.c
drivers/usb/atm/cxacru.c
drivers/usb/atm/speedtch.c
drivers/usb/atm/usbatm.c
drivers/usb/core/hcd.c
drivers/usb/core/hub.c
drivers/usb/dwc2/hcd.c
drivers/usb/dwc2/hcd_queue.c
drivers/usb/gadget/udc/at91_udc.c
drivers/usb/gadget/udc/dummy_hcd.c
drivers/usb/gadget/udc/m66592-udc.c
drivers/usb/gadget/udc/omap_udc.c
drivers/usb/gadget/udc/pxa25x_udc.c
drivers/usb/gadget/udc/r8a66597-udc.c
drivers/usb/host/ehci-platform.c
drivers/usb/host/ohci-hcd.c
drivers/usb/host/oxu210hp-hcd.c
drivers/usb/host/r8a66597-hcd.c
drivers/usb/host/sl811-hcd.c
drivers/usb/host/uhci-q.c
drivers/usb/host/xen-hcd.c
drivers/usb/host/xhci.c
drivers/usb/isp1760/isp1760-udc.c
drivers/usb/misc/usbtest.c
drivers/usb/musb/da8xx.c
drivers/usb/musb/mpfs.c
drivers/usb/musb/musb_core.c
drivers/usb/musb/musb_dsps.c
drivers/usb/musb/tusb6010.c
drivers/usb/serial/garmin_gps.c
drivers/usb/serial/mos7840.c
drivers/usb/storage/realtek_cr.c
drivers/usb/usbip/vudc_transfer.c
drivers/video/fbdev/aty/radeon_base.c
drivers/virt/vboxguest/vboxguest_core.c
drivers/watchdog/at91sam9_wdt.c
drivers/watchdog/bcm47xx_wdt.c
drivers/watchdog/lpc18xx_wdt.c
drivers/watchdog/shwdt.c
fs/dlm/lock.c
fs/ext4/super.c
fs/jbd2/journal.c
fs/nilfs2/segment.c
fs/ocfs2/cluster/tcp.c
include/linux/timer.h
kernel/kthread.c
kernel/rcu/tasks.h
kernel/rcu/tree_nocb.h
kernel/sched/psi.c
kernel/time/sleep_timeout.c
kernel/workqueue.c
mm/page-writeback.c
net/802/garp.c
net/802/mrp.c
net/appletalk/ddp.c
net/atm/lec.c
net/ax25/af_ax25.c
net/ax25/ax25_ds_timer.c
net/ax25/ax25_timer.c
net/batman-adv/tp_meter.c
net/bluetooth/hidp/core.c
net/bluetooth/rfcomm/core.c
net/bridge/br_multicast.c
net/bridge/br_multicast_eht.c
net/bridge/br_stp_timer.c
net/can/proc.c
net/core/drop_monitor.c
net/core/gen_estimator.c
net/core/neighbour.c
net/ethtool/mm.c
net/hsr/hsr_device.c
net/hsr/hsr_framereg.c
net/ieee802154/6lowpan/reassembly.c
net/ipv4/igmp.c
net/ipv4/inet_connection_sock.c
net/ipv4/inet_timewait_sock.c
net/ipv4/ip_fragment.c
net/ipv4/ipmr.c
net/ipv4/tcp_timer.c
net/ipv6/addrconf.c
net/ipv6/ip6_fib.c
net/ipv6/ip6mr.c
net/ipv6/netfilter/nf_conntrack_reasm.c
net/ipv6/reassembly.c
net/lapb/lapb_timer.c
net/llc/llc_c_ac.c
net/mac80211/agg-rx.c
net/mac80211/agg-tx.c
net/mac80211/ibss.c
net/mac80211/led.c
net/mac80211/mesh.c
net/mac80211/mesh_hwmp.c
net/mac80211/mesh_plink.c
net/mac80211/mlme.c
net/mac80211/ocb.c
net/mac80211/sta_info.c
net/mptcp/pm.c
net/mptcp/protocol.c
net/ncsi/ncsi-manage.c
net/netfilter/ipset/ip_set_bitmap_gen.h
net/netfilter/ipset/ip_set_list_set.c
net/netfilter/ipvs/ip_vs_conn.c
net/netfilter/ipvs/ip_vs_ctl.c
net/netfilter/ipvs/ip_vs_lblc.c
net/netfilter/ipvs/ip_vs_lblcr.c
net/netfilter/nf_conntrack_expect.c
net/netfilter/nfnetlink_log.c
net/netfilter/xt_IDLETIMER.c
net/netfilter/xt_LED.c
net/netrom/af_netrom.c
net/netrom/nr_timer.c
net/nfc/core.c
net/nfc/hci/core.c
net/nfc/hci/llc_shdlc.c
net/nfc/llcp_core.c
net/nfc/nci/core.c
net/packet/af_packet.c
net/rose/af_rose.c
net/rose/rose_link.c
net/rose/rose_timer.c
net/rxrpc/call_object.c
net/sched/cls_flow.c
net/sched/sch_fq_pie.c
net/sched/sch_generic.c
net/sched/sch_pie.c
net/sched/sch_red.c
net/sched/sch_sfq.c
net/sctp/protocol.c
net/sctp/sm_sideeffect.c
net/sunrpc/svc_xprt.c
net/sunrpc/xprt.c
net/tipc/discover.c
net/tipc/monitor.c
net/tipc/node.c
net/tipc/socket.c
net/tipc/subscr.c
net/wireless/core.c
net/x25/af_x25.c
net/x25/x25_link.c
net/x25/x25_timer.c
net/xfrm/xfrm_policy.c
net/xfrm/xfrm_state.c
sound/core/timer.c
sound/drivers/aloop.c
sound/drivers/dummy.c
sound/drivers/mpu401/mpu401_uart.c
sound/drivers/mtpav.c
sound/drivers/opl3/opl3_midi.c
sound/drivers/pcmtest.c
sound/drivers/serial-u16550.c
sound/i2c/other/ak4117.c
sound/isa/sb/emu8000_pcm.c
sound/isa/sb/sb8_midi.c
sound/isa/wavefront/wavefront_midi.c
sound/pci/asihpi/asihpi.c
sound/pci/ctxfi/cttimer.c
sound/pci/echoaudio/midi.c
sound/pci/rme9652/hdsp.c
sound/pci/rme9652/hdspm.c
sound/sh/aica.c
sound/soc/codecs/rt5645.c
sound/soc/fsl/imx-pcm-rpmsg.c
sound/synth/emux/emux_synth.c
sound/usb/midi.c

index a89ce84371f959caee64760a28bc0cc227102a64..d19e51ec711da7e2edcaa2caec29dc786711b355 100644 (file)
@@ -69,7 +69,8 @@ srmcons_do_receive_chars(struct tty_port *port)
 static void
 srmcons_receive_chars(struct timer_list *t)
 {
-       struct srmcons_private *srmconsp = from_timer(srmconsp, t, timer);
+       struct srmcons_private *srmconsp = timer_container_of(srmconsp, t,
+                                                             timer);
        struct tty_port *port = &srmconsp->port;
        unsigned long flags;
        int incr = 10;
index 791d1942a0581ebf63bce6d9dbeb7ea22bf69484..3401b96be475ef9230890dc09a8949df15003776 100644 (file)
@@ -628,7 +628,7 @@ static void arm_next_watchdog(struct kvm_vcpu *vcpu)
 
 static void kvmppc_watchdog_func(struct timer_list *t)
 {
-       struct kvm_vcpu *vcpu = from_timer(vcpu, t, arch.wdt_timer);
+       struct kvm_vcpu *vcpu = timer_container_of(vcpu, t, arch.wdt_timer);
        u32 tsr, new_tsr;
        int final;
 
index a0ae58636e1021a306425a99f2a57f9faa455123..02474e27df9b2176625266590e46a2da74c82d03 100644 (file)
@@ -359,7 +359,8 @@ static irqreturn_t kw_i2c_irq(int irq, void *dev_id)
 
 static void kw_i2c_timeout(struct timer_list *t)
 {
-       struct pmac_i2c_host_kw *host = from_timer(host, t, timeout_timer);
+       struct pmac_i2c_host_kw *host = timer_container_of(host, t,
+                                                          timeout_timer);
        unsigned long flags;
 
        spin_lock_irqsave(&host->lock, flags);
index 24391b444b286deb848a6afd2b97b94d1e50119d..42103038a7d02bb89eb6574295857b450a33e04a 100644 (file)
@@ -58,7 +58,7 @@ static inline void heartbeat_toggle_bit(struct heartbeat_data *hd,
 
 static void heartbeat_timer(struct timer_list *t)
 {
-       struct heartbeat_data *hd = from_timer(hd, t, timer);
+       struct heartbeat_data *hd = timer_container_of(hd, t, timer);
        static unsigned bit = 0, up = 1;
 
        heartbeat_toggle_bit(hd, bit, hd->flags & HEARTBEAT_INVERTED);
index 5442475d132ef4b7ba013d42cd30c7e40452d320..9633b6147a05c89f691675d69a4eb6c4f21baaa8 100644 (file)
@@ -88,7 +88,7 @@ int __init pci_is_66mhz_capable(struct pci_channel *hose,
 
 static void pcibios_enable_err(struct timer_list *t)
 {
-       struct pci_channel *hose = from_timer(hose, t, err_timer);
+       struct pci_channel *hose = timer_container_of(hose, t, err_timer);
 
        timer_delete(&hose->err_timer);
        printk(KERN_DEBUG "PCI: re-enabling error IRQ.\n");
@@ -97,7 +97,7 @@ static void pcibios_enable_err(struct timer_list *t)
 
 static void pcibios_enable_serr(struct timer_list *t)
 {
-       struct pci_channel *hose = from_timer(hose, t, serr_timer);
+       struct pci_channel *hose = timer_container_of(hose, t, serr_timer);
 
        timer_delete(&hose->serr_timer);
        printk(KERN_DEBUG "PCI: re-enabling system error IRQ.\n");
index 2b51ad9d5586a42ea16f314aa3f72461bec6c6a7..443cc6fd26a8020ef8099cf7c1f0b1d338beb8e5 100644 (file)
@@ -25,7 +25,7 @@ static DEVICE_ATTR_RO(switch);
 
 static void switch_timer(struct timer_list *t)
 {
-       struct push_switch *psw = from_timer(psw, t, debounce);
+       struct push_switch *psw = timer_container_of(psw, t, debounce);
 
        schedule_work(&psw->work);
 }
index e27afd233bf52628f89e471638673f81842eaa4b..8fb2e7ca501573f084ab2b1d562528c82fefd7d3 100644 (file)
@@ -804,7 +804,7 @@ EXPORT_SYMBOL(vio_port_up);
 
 static void vio_port_timer(struct timer_list *t)
 {
-       struct vio_driver_state *vio = from_timer(vio, t, timer);
+       struct vio_driver_state *vio = timer_container_of(vio, t, timer);
 
        vio_port_up(vio);
 }
index 5226d2c52e6ab67500a295ecce03878a94b3f75f..f292e0b4ff8b7314b80b648a5e11a3011261911d 100644 (file)
@@ -1534,7 +1534,7 @@ static const struct net_device_ops vector_netdev_ops = {
 
 static void vector_timer_expire(struct timer_list *t)
 {
-       struct vector_private *vp = from_timer(vp, t, tl);
+       struct vector_private *vp = timer_container_of(vp, t, tl);
 
        vp->estats.tx_kicks++;
        napi_schedule(&vp->napi);
index 38b33cdd4232d94d23066524e3823b5b75be26c9..9b029bb29a16f1c53cf29b20aa8aab0d97f9367b 100644 (file)
@@ -1571,7 +1571,8 @@ out:
 
 static void cancel_evtchn_poll(struct timer_list *t)
 {
-       struct kvm_vcpu *vcpu = from_timer(vcpu, t, arch.xen.poll_timer);
+       struct kvm_vcpu *vcpu = timer_container_of(vcpu, t,
+                                                  arch.xen.poll_timer);
 
        kvm_make_request(KVM_REQ_UNBLOCK, vcpu);
        kvm_vcpu_kick(vcpu);
index c6d8c62695e1ad6cea9fe87171007ed5ec1576cd..f0a63b2f85ccae405d03eeca94b51a2a0379d59e 100644 (file)
@@ -338,7 +338,7 @@ static int iss_net_poll(struct iss_net_private *lp)
 
 static void iss_net_timer(struct timer_list *t)
 {
-       struct iss_net_private *lp = from_timer(lp, t, timer);
+       struct iss_net_private *lp = timer_container_of(lp, t, timer);
 
        iss_net_poll(lp);
        mod_timer(&lp->timer, jiffies + lp->timer_val);
index b862c66018f25b857e34e97e12660453c09b073a..fdac48aec5efb3de81e5a46ebc9099e7f8ec6b4d 100644 (file)
@@ -381,7 +381,7 @@ static void blk_queue_usage_counter_release(struct percpu_ref *ref)
 
 static void blk_rq_timed_out_timer(struct timer_list *t)
 {
-       struct request_queue *q = from_timer(q, t, timeout);
+       struct request_queue *q = timer_container_of(q, t, timeout);
 
        kblockd_schedule_work(&q->timeout_work);
 }
index 42c1e0b9a68f2e5fcc87ba8b1c00e3653ccc1759..2f8fdecdd7a9b1994ebe1b510c4160094326211e 100644 (file)
@@ -658,7 +658,8 @@ static const struct rq_qos_ops blkcg_iolatency_ops = {
 
 static void blkiolatency_timer_fn(struct timer_list *t)
 {
-       struct blk_iolatency *blkiolat = from_timer(blkiolat, t, timer);
+       struct blk_iolatency *blkiolat = timer_container_of(blkiolat, t,
+                                                           timer);
        struct blkcg_gq *blkg;
        struct cgroup_subsys_state *pos_css;
        u64 now = blk_time_get_ns();
index 46449da856f808f2556ace4cd4718701d7ef8ce3..682a8ddb11734ae544bae03afa9f4b570f999806 100644 (file)
@@ -76,7 +76,7 @@ void blk_stat_add(struct request *rq, u64 now)
 
 static void blk_stat_timer_fn(struct timer_list *t)
 {
-       struct blk_stat_callback *cb = from_timer(cb, t, timer);
+       struct blk_stat_callback *cb = timer_container_of(cb, t, timer);
        unsigned int bucket;
        int cpu;
 
index bd15357f23bd6c7ff93855c6964cec6c688e421b..397b6a410f9e505a3b97448b9275e539e863a67e 100644 (file)
@@ -1125,7 +1125,8 @@ static int throtl_select_dispatch(struct throtl_service_queue *parent_sq)
  */
 static void throtl_pending_timer_fn(struct timer_list *t)
 {
-       struct throtl_service_queue *sq = from_timer(sq, t, pending_timer);
+       struct throtl_service_queue *sq = timer_container_of(sq, t,
+                                                            pending_timer);
        struct throtl_grp *tg = sq_to_tg(sq);
        struct throtl_data *td = sq_to_td(sq);
        struct throtl_service_queue *parent_sq;
index 0f0f8452609a1139f8cfd2c080fca254edc6acd6..4dba8405bd015d18baf77ea37ef06d9a0ce9fd59 100644 (file)
@@ -276,7 +276,7 @@ static void kyber_resize_domain(struct kyber_queue_data *kqd,
 
 static void kyber_timer_fn(struct timer_list *t)
 {
-       struct kyber_queue_data *kqd = from_timer(kqd, t, timer);
+       struct kyber_queue_data *kqd = timer_container_of(kqd, t, timer);
        unsigned int sched_domain;
        int cpu;
        bool bad = false;
index 972833fabcfcacc88f39e34aa419f92c9aa5a2a7..3fac540f8e03d776b48076284d839b0f45872b4b 100644 (file)
@@ -129,7 +129,7 @@ static void qaic_timesync_dl_xfer_cb(struct mhi_device *mhi_dev, struct mhi_resu
 
 static void qaic_timesync_timer(struct timer_list *t)
 {
-       struct mqts_dev *mqtsdev = from_timer(mqtsdev, t, timer);
+       struct mqts_dev *mqtsdev = timer_container_of(mqtsdev, t, timer);
        struct qts_host_time_sync_msg_data *sync_msg;
        u64 device_qtimer_us;
        u64 device_qtimer;
index 0f3c663c1b0a3391179ab1e47b66f56e8a73f64d..f0584ccad451915a2679c17f2367461c141663c5 100644 (file)
@@ -1138,7 +1138,7 @@ static void ghes_add_timer(struct ghes *ghes)
 
 static void ghes_poll_func(struct timer_list *t)
 {
-       struct ghes *ghes = from_timer(ghes, t, timer);
+       struct ghes *ghes = timer_container_of(ghes, t, timer);
        unsigned long flags;
 
        spin_lock_irqsave(&ghes_notify_lock_irq, flags);
index 22afa4ff860d18561e1f0100857e001aa51a27f1..4e9c82f36df17f37e17c5e7704f8477ebaa71ed3 100644 (file)
@@ -1034,7 +1034,7 @@ static void ahci_sw_activity(struct ata_link *link)
 
 static void ahci_sw_activity_blink(struct timer_list *t)
 {
-       struct ahci_em_priv *emp = from_timer(emp, t, timer);
+       struct ahci_em_priv *emp = timer_container_of(emp, t, timer);
        struct ata_link *link = emp->link;
        struct ata_port *ap = link->ap;
 
index c11d8e634bf7793f182ec167cdc6c2801486d5c0..1f90fcd2b3c49b688d4511e7d3a919ad32365b50 100644 (file)
@@ -860,7 +860,7 @@ static unsigned int ata_eh_nr_in_flight(struct ata_port *ap)
 
 void ata_eh_fastdrain_timerfn(struct timer_list *t)
 {
-       struct ata_port *ap = from_timer(ap, t, fastdrain_timer);
+       struct ata_port *ap = timer_container_of(ap, t, fastdrain_timer);
        unsigned long flags;
        unsigned int cnt;
 
index a876024d8a05f964fb79fb04bd5447b67f28f20c..1206ab764ba92a293552b9f70cf8a98deb249d10 100644 (file)
@@ -1531,7 +1531,7 @@ idt77252_tx(struct idt77252_dev *card)
 static void
 tst_timer(struct timer_list *t)
 {
-       struct idt77252_dev *card = from_timer(card, t, tst_timer);
+       struct idt77252_dev *card = timer_container_of(card, t, tst_timer);
        unsigned long base, idle, jump;
        unsigned long flags;
        u32 pc;
@@ -2070,7 +2070,7 @@ idt77252_rate_logindex(struct idt77252_dev *card, int pcr)
 static void
 idt77252_est_timer(struct timer_list *t)
 {
-       struct rate_estimator *est = from_timer(est, t, timer);
+       struct rate_estimator *est = timer_container_of(est, t, timer);
        struct vc_map *vc = est->vc;
        struct idt77252_dev *card = vc->card;
        unsigned long flags;
index 00fe25b5b6a3392f1a617263148e9c64c42ff89d..2a1fe30807120228e310fb626f23e9bb028b3b66 100644 (file)
@@ -1758,7 +1758,7 @@ static void iter_dequeue(struct lanai_dev *lanai, vci_t vci)
 
 static void lanai_timed_poll(struct timer_list *t)
 {
-       struct lanai_dev *lanai = from_timer(lanai, t, timer);
+       struct lanai_dev *lanai = timer_container_of(lanai, t, timer);
 #ifndef DEBUG_RW
        unsigned long flags;
 #ifdef USE_POWERDOWN
index b6808c4f89b64721799c8b14001f259b4af04225..8590a4cd21e069c992649102aae34004a04e3337 100644 (file)
@@ -40,7 +40,7 @@
  */
 static void linedisp_scroll(struct timer_list *t)
 {
-       struct linedisp *linedisp = from_timer(linedisp, t, timer);
+       struct linedisp *linedisp = timer_container_of(linedisp, t, timer);
        unsigned int i, ch = linedisp->scroll_pos;
        unsigned int num_chars = linedisp->num_chars;
 
index 77c7a99f0870077bcfffd8d8d3476b87d18f6918..eebe699fdf4f6c744d481d570ed9bac66a36da71 100644 (file)
@@ -513,7 +513,7 @@ struct dpm_watchdog {
  */
 static void dpm_watchdog_handler(struct timer_list *t)
 {
-       struct dpm_watchdog *wd = from_timer(wd, t, timer);
+       struct dpm_watchdog *wd = timer_container_of(wd, t, timer);
        struct timer_list *timer = &wd->timer;
        unsigned int time_left;
 
index f7c96a3bf7194a1a23978672758595939c10c35d..d1283ff1080bbdb9fec1ff3e213f6036cda6c969 100644 (file)
@@ -759,7 +759,7 @@ EXPORT_SYMBOL_GPL(pm_relax);
  */
 static void pm_wakeup_timer_fn(struct timer_list *t)
 {
-       struct wakeup_source *ws = from_timer(ws, t, timer);
+       struct wakeup_source *ws = timer_container_of(ws, t, timer);
        unsigned long flags;
 
        spin_lock_irqsave(&ws->lock, flags);
index 92b06d1de4cc7b7c4ea6f5fad6aa6c4518c1001b..50cc90f6ab35a8be4fef44db519bb35ec5de74e5 100644 (file)
@@ -745,7 +745,7 @@ rexmit_timer(struct timer_list *timer)
        int utgts;      /* number of aoetgt descriptors (not slots) */
        int since;
 
-       d = from_timer(d, timer, timer);
+       d = timer_container_of(d, timer, timer);
 
        spin_lock_irqsave(&d->lock, flags);
 
index 141b2a0e03f2cbf5c2a352b225072fae8771753c..bba05f0c5bbd5b785aab9e70e4f2ceddb5fd4fd1 100644 (file)
@@ -149,7 +149,7 @@ dummy_timer(struct timer_list *t)
 {
        struct aoedev *d;
 
-       d = from_timer(d, t, timer);
+       d = timer_container_of(d, t, timer);
        if (d->flags & DEVFL_TKILL)
                return;
        d->timer.expires = jiffies + HZ;
index ced2cc5f46f2bef2339ece057517442b9d167959..52724b79be30134584b004b29c4cdce41e147f48 100644 (file)
@@ -3591,7 +3591,8 @@ int drbd_md_test_flag(struct drbd_backing_dev *bdev, int flag)
 
 static void md_sync_timer_fn(struct timer_list *t)
 {
-       struct drbd_device *device = from_timer(device, t, md_sync_timer);
+       struct drbd_device *device = timer_container_of(device, t,
+                                                       md_sync_timer);
        drbd_device_post_work(device, MD_SYNC);
 }
 
index 380e6584a4ee7638e4bb61e189edd1c61f733391..d15826f6ee81d48e3fee05ee873c566f9e4d90b4 100644 (file)
@@ -1699,7 +1699,8 @@ static bool net_timeout_reached(struct drbd_request *net_req,
 
 void request_timer_fn(struct timer_list *t)
 {
-       struct drbd_device *device = from_timer(device, t, request_timer);
+       struct drbd_device *device = timer_container_of(device, t,
+                                                       request_timer);
        struct drbd_connection *connection = first_peer_device(device)->connection;
        struct drbd_request *req_read, *req_write, *req_peer; /* oldest request */
        struct net_conf *nc;
index 4352a50fbb3f8fc966734a7d79e5cb0b311dcb68..a6ea737b3b7125b0bfe847a4f269a2115c368396 100644 (file)
@@ -442,7 +442,8 @@ int w_resync_timer(struct drbd_work *w, int cancel)
 
 void resync_timer_fn(struct timer_list *t)
 {
-       struct drbd_device *device = from_timer(device, t, resync_timer);
+       struct drbd_device *device = timer_container_of(device, t,
+                                                       resync_timer);
 
        drbd_queue_work_if_unqueued(
                &first_peer_device(device)->connection->sender_work,
@@ -1698,7 +1699,8 @@ void drbd_rs_controller_reset(struct drbd_peer_device *peer_device)
 
 void start_resync_timer_fn(struct timer_list *t)
 {
-       struct drbd_device *device = from_timer(device, t, start_resync_timer);
+       struct drbd_device *device = timer_container_of(device, t,
+                                                       start_resync_timer);
        drbd_device_post_work(device, RS_START);
 }
 
index ee6cade70222acbd46ae70cae1f03d396207ffca..01f7aef3fcfbc43ad6ea656af10f2abe2d485c68 100644 (file)
@@ -555,7 +555,7 @@ static void act(struct floppy_state *fs)
 
 static void scan_timeout(struct timer_list *t)
 {
-       struct floppy_state *fs = from_timer(fs, t, timeout);
+       struct floppy_state *fs = timer_container_of(fs, t, timeout);
        struct swim3 __iomem *sw = fs->swim3;
        unsigned long flags;
 
@@ -579,7 +579,7 @@ static void scan_timeout(struct timer_list *t)
 
 static void seek_timeout(struct timer_list *t)
 {
-       struct floppy_state *fs = from_timer(fs, t, timeout);
+       struct floppy_state *fs = timer_container_of(fs, t, timeout);
        struct swim3 __iomem *sw = fs->swim3;
        unsigned long flags;
 
@@ -598,7 +598,7 @@ static void seek_timeout(struct timer_list *t)
 
 static void settle_timeout(struct timer_list *t)
 {
-       struct floppy_state *fs = from_timer(fs, t, timeout);
+       struct floppy_state *fs = timer_container_of(fs, t, timeout);
        struct swim3 __iomem *sw = fs->swim3;
        unsigned long flags;
 
@@ -627,7 +627,7 @@ static void settle_timeout(struct timer_list *t)
 
 static void xfer_timeout(struct timer_list *t)
 {
-       struct floppy_state *fs = from_timer(fs, t, timeout);
+       struct floppy_state *fs = timer_container_of(fs, t, timeout);
        struct swim3 __iomem *sw = fs->swim3;
        struct dbdma_regs __iomem *dr = fs->dma;
        unsigned long flags;
index 1c7f89e134b3df2c492365e26e06fd9c1d65a1a7..1e3a56e9b13991316da7f32b10130cf1273844bb 100644 (file)
@@ -158,7 +158,7 @@ static void bluecard_detach(struct pcmcia_device *p_dev);
 
 static void bluecard_activity_led_timeout(struct timer_list *t)
 {
-       struct bluecard_info *info = from_timer(info, t, timer);
+       struct bluecard_info *info = timer_container_of(info, t, timer);
        unsigned int iobase = info->p_dev->resource[0]->start;
 
        if (test_bit(CARD_ACTIVITY, &(info->hw_state))) {
index 6b13feed06df4e10aaa8cda4744efe53261454e1..1088db6056a4a2af6a3698f682c95ebd125b1170 100644 (file)
@@ -467,7 +467,7 @@ static void ps_work_func(struct work_struct *work)
 
 static void ps_timeout_func(struct timer_list *t)
 {
-       struct ps_data *data = from_timer(data, t, ps_timer);
+       struct ps_data *data = timer_container_of(data, t, ps_timer);
        struct hci_dev *hdev = data->hdev;
        struct btnxpuart_dev *nxpdev = hci_get_drvdata(hdev);
 
index 610d0e3c36d48ead7ee2449e844a57c368f5ba4b..664d82d1e6139a194ae3a0701caed2065b8bc27a 100644 (file)
@@ -688,7 +688,7 @@ static int bcsp_recv(struct hci_uart *hu, const void *data, int count)
        /* Arrange to retransmit all messages in the relq. */
 static void bcsp_timed_event(struct timer_list *t)
 {
-       struct bcsp_struct *bcsp = from_timer(bcsp, t, tbcsp);
+       struct bcsp_struct *bcsp = timer_container_of(bcsp, t, tbcsp);
        struct hci_uart *hu = bcsp->hu;
        struct sk_buff *skb;
        unsigned long flags;
index edafa228bf8325f3731a9fe61c85af42b379cbc1..d0d4420c1a0f9afa749e6934fc85343bb3220ac1 100644 (file)
@@ -149,7 +149,7 @@ static void h5_timed_event(struct timer_list *t)
 {
        const unsigned char sync_req[] = { 0x01, 0x7e };
        unsigned char conf_req[3] = { 0x03, 0xfc };
-       struct h5 *h5 = from_timer(h5, t, timer);
+       struct h5 *h5 = timer_container_of(h5, t, timer);
        struct hci_uart *hu = h5->hu;
        struct sk_buff *skb;
        unsigned long flags;
index a2dc39c005f4f8e8bc7658891e880fadbc60c18e..5fe5879881f59d1875759b06ddf38f95727d1c01 100644 (file)
@@ -474,7 +474,7 @@ static void qca_wq_serial_tx_clock_vote_off(struct work_struct *work)
 
 static void hci_ibs_tx_idle_timeout(struct timer_list *t)
 {
-       struct qca_data *qca = from_timer(qca, t, tx_idle_timer);
+       struct qca_data *qca = timer_container_of(qca, t, tx_idle_timer);
        struct hci_uart *hu = qca->hu;
        unsigned long flags;
 
@@ -507,7 +507,7 @@ static void hci_ibs_tx_idle_timeout(struct timer_list *t)
 
 static void hci_ibs_wake_retrans_timeout(struct timer_list *t)
 {
-       struct qca_data *qca = from_timer(qca, t, wake_retrans_timer);
+       struct qca_data *qca = timer_container_of(qca, t, wake_retrans_timer);
        struct hci_uart *hu = qca->hu;
        unsigned long flags, retrans_delay;
        bool retransmit = false;
index a4a62429c784a8e727867217f915ac37bae72dcb..589cb672231643c427f8d5aba30be8170516c274 100644 (file)
@@ -1171,7 +1171,8 @@ err_try_reset:
 
 static void health_check(struct timer_list *t)
 {
-       struct mhi_pci_device *mhi_pdev = from_timer(mhi_pdev, t, health_check_timer);
+       struct mhi_pci_device *mhi_pdev = timer_container_of(mhi_pdev, t,
+                                                            health_check_timer);
        struct mhi_controller *mhi_cntrl = &mhi_pdev->mhi_cntrl;
 
        if (!test_bit(MHI_PCI_DEV_STARTED, &mhi_pdev->status) ||
index a1a751074f7e75c148039f6bcf6e8b9949b3e4cf..709a36507145a3bf9a584b1c54f04c2f9c9f1dea 100644 (file)
@@ -88,7 +88,7 @@ struct xgene_rng_dev {
 
 static void xgene_rng_expired_timer(struct timer_list *t)
 {
-       struct xgene_rng_dev *ctx = from_timer(ctx, t, failure_timer);
+       struct xgene_rng_dev *ctx = timer_container_of(ctx, t, failure_timer);
 
        /* Clear failure counter as timer expired */
        disable_irq(ctx->irq);
index 77146b5c762bfc15e7553c1d6474484bc012193a..a179d479701171359cce0d5005490d58d57d0a09 100644 (file)
@@ -347,7 +347,7 @@ static const struct file_operations bt_bmc_fops = {
 
 static void poll_timer(struct timer_list *t)
 {
-       struct bt_bmc *bt_bmc = from_timer(bt_bmc, t, poll_timer);
+       struct bt_bmc *bt_bmc = timer_container_of(bt_bmc, t, poll_timer);
 
        bt_bmc->poll_timer.expires += msecs_to_jiffies(500);
        wake_up(&bt_bmc->queue);
index 7fe891783a378c053c19fa1c36e5fcb1f47177a0..bb42dfe1c6a8444573dc5e1a5bc49409b1154162 100644 (file)
@@ -1076,7 +1076,8 @@ static void set_need_watch(void *send_info, unsigned int watch_mask)
 
 static void smi_timeout(struct timer_list *t)
 {
-       struct smi_info   *smi_info = from_timer(smi_info, t, si_timer);
+       struct smi_info   *smi_info = timer_container_of(smi_info, t,
+                                                        si_timer);
        enum si_sm_result smi_result;
        unsigned long     flags;
        unsigned long     jiffies_now;
index 5bf038e620c75f9474c6cb044012ce6ffb973d4a..1bc42830444dd08cfdeffed721dbd4fbc6235ed2 100644 (file)
@@ -539,7 +539,8 @@ static void start_resend(struct ssif_info *ssif_info);
 
 static void retry_timeout(struct timer_list *t)
 {
-       struct ssif_info *ssif_info = from_timer(ssif_info, t, retry_timer);
+       struct ssif_info *ssif_info = timer_container_of(ssif_info, t,
+                                                        retry_timer);
        unsigned long oflags, *flags;
        bool waiting, resend;
 
@@ -563,7 +564,8 @@ static void retry_timeout(struct timer_list *t)
 
 static void watch_timeout(struct timer_list *t)
 {
-       struct ssif_info *ssif_info = from_timer(ssif_info, t, watch_timer);
+       struct ssif_info *ssif_info = timer_container_of(ssif_info, t,
+                                                        watch_timer);
        unsigned long oflags, *flags;
 
        if (ssif_info->stopping)
index e4bd74585d4d20db8aa82bf37595e33bd4babdcf..7a52e3ea49ed8ba9fe0023c1cd390ead9e0c09c4 100644 (file)
@@ -297,7 +297,8 @@ static void complete_response(struct ssif_bmc_ctx *ssif_bmc)
 
 static void response_timeout(struct timer_list *t)
 {
-       struct ssif_bmc_ctx *ssif_bmc = from_timer(ssif_bmc, t, response_timer);
+       struct ssif_bmc_ctx *ssif_bmc = timer_container_of(ssif_bmc, t,
+                                                          response_timer);
        unsigned long flags;
 
        spin_lock_irqsave(&ssif_bmc->lock, flags);
index 11deaf538e873982bdba2caafb60901f7fdea3b1..f2a5e09257ddddea54469f8f9b504e29ef745642 100644 (file)
@@ -91,7 +91,7 @@ out:
 
 static void user_reader_timeout(struct timer_list *t)
 {
-       struct file_priv *priv = from_timer(priv, t, user_read_timer);
+       struct file_priv *priv = timer_container_of(priv, t, user_read_timer);
 
        pr_warn("TPM user space timeout is deprecated (pid=%d)\n",
                task_tgid_nr(current));
index da17d891f0e5d21f83e89689f139fb9c74b9bf7d..9747e6d1f6eb80d5bf8dfde412e9f7bfbf2ade6f 100644 (file)
@@ -197,7 +197,8 @@ static unsigned short fake_waveform(struct comedi_device *dev,
  */
 static void waveform_ai_timer(struct timer_list *t)
 {
-       struct waveform_private *devpriv = from_timer(devpriv, t, ai_timer);
+       struct waveform_private *devpriv = timer_container_of(devpriv, t,
+                                                             ai_timer);
        struct comedi_device *dev = devpriv->dev;
        struct comedi_subdevice *s = dev->read_subdev;
        struct comedi_async *async = s->async;
@@ -444,7 +445,8 @@ static int waveform_ai_insn_read(struct comedi_device *dev,
  */
 static void waveform_ao_timer(struct timer_list *t)
 {
-       struct waveform_private *devpriv = from_timer(devpriv, t, ao_timer);
+       struct waveform_private *devpriv = timer_container_of(devpriv, t,
+                                                             ao_timer);
        struct comedi_device *dev = devpriv->dev;
        struct comedi_subdevice *s = dev->write_subdev;
        struct comedi_async *async = s->async;
index f5ca6c0d4d0c2269d5dc65bda1a3a61392241662..1f85572c21b46fd24f23057926687657abc4583f 100644 (file)
@@ -517,7 +517,8 @@ static void das16_interrupt(struct comedi_device *dev)
 
 static void das16_timer_interrupt(struct timer_list *t)
 {
-       struct das16_private_struct *devpriv = from_timer(devpriv, t, timer);
+       struct das16_private_struct *devpriv = timer_container_of(devpriv, t,
+                                                                 timer);
        struct comedi_device *dev = devpriv->dev;
        unsigned long flags;
 
index 75dce1ff24193b00d82d060b50ea277bb4391a35..61792d940a3dd43e4f7c6f76e569b5239f7e5946 100644 (file)
@@ -562,7 +562,8 @@ jr3_pci_poll_subdevice(struct comedi_subdevice *s)
 
 static void jr3_pci_poll_dev(struct timer_list *t)
 {
-       struct jr3_pci_dev_private *devpriv = from_timer(devpriv, t, timer);
+       struct jr3_pci_dev_private *devpriv = timer_container_of(devpriv, t,
+                                                                timer);
        struct comedi_device *dev = devpriv->dev;
        struct jr3_pci_subdev_private *spriv;
        struct comedi_subdevice *s;
index afe5abf89d33869bbd6f30eaa2f6e00c36c0d767..a8943e2a93be6aa37cb0551f18628b202812d613 100644 (file)
@@ -667,7 +667,8 @@ static inline void  queue_gpstate_timer(struct global_pstate_info *gpstates)
  */
 static void gpstate_timer_handler(struct timer_list *t)
 {
-       struct global_pstate_info *gpstates = from_timer(gpstates, t, timer);
+       struct global_pstate_info *gpstates = timer_container_of(gpstates, t,
+                                                                timer);
        struct cpufreq_policy *policy = gpstates->policy;
        int gpstate_idx, lpstate_idx;
        unsigned long val;
index f8d50bd227a6771feb124ed0546e257f0b4bba9d..75ee065da1ec3156ab42630321a848c705116da5 100644 (file)
@@ -2072,7 +2072,7 @@ static void artpec6_crypto_process_queue(struct artpec6_crypto *ac,
 
 static void artpec6_crypto_timeout(struct timer_list *t)
 {
-       struct artpec6_crypto *ac = from_timer(ac, t, timer);
+       struct artpec6_crypto *ac = timer_container_of(ac, t, timer);
 
        dev_info_ratelimited(artpec6_crypto_dev, "timeout\n");
 
index 261b388162264779e00d59ba4c9563de9b157ae8..27a36045410b376b3f0f962d8c2240069cf5243d 100644 (file)
@@ -375,7 +375,7 @@ struct wait_timer {
 
 static void wait_timer(struct timer_list *timer)
 {
-       struct wait_timer *wt = from_timer(wt, timer, timer);
+       struct wait_timer *wt = timer_container_of(wt, timer, timer);
 
        dma_fence_signal(wt->f);
 }
index b96cc0a8387297c3266ca462bf9e8913e85cebd5..ba434657059a8b984849a058afa501a89320d494 100644 (file)
@@ -337,7 +337,8 @@ static void imxdma_disable_hw(struct imxdma_channel *imxdmac)
 
 static void imxdma_watchdog(struct timer_list *t)
 {
-       struct imxdma_channel *imxdmac = from_timer(imxdmac, t, watchdog);
+       struct imxdma_channel *imxdmac = timer_container_of(imxdmac, t,
+                                                           watchdog);
        struct imxdma_engine *imxdma = imxdmac->imxdma;
        int channel = imxdmac->channel;
 
index 06a813cc764178e2317e00ec7915d4e7a5c3c48b..b8fff8333aef1b3dca4cde839de6bc6da661a59e 100644 (file)
@@ -901,7 +901,8 @@ static void ioat_reboot_chan(struct ioatdma_chan *ioat_chan)
 
 void ioat_timer_event(struct timer_list *t)
 {
-       struct ioatdma_chan *ioat_chan = from_timer(ioat_chan, t, timer);
+       struct ioatdma_chan *ioat_chan = timer_container_of(ioat_chan, t,
+                                                           timer);
        dma_addr_t phys_complete;
        u64 status;
 
index 18cacb9edbbce47750b21f3700b6f666a01b1861..2bd5deb9054ed3d148ed09650821ee4def29b8d6 100644 (file)
@@ -114,7 +114,7 @@ EXPORT_SYMBOL(fw_cancel_transaction);
 
 static void split_transaction_timeout_callback(struct timer_list *timer)
 {
-       struct fw_transaction *t = from_timer(t, timer, split_timeout_timer);
+       struct fw_transaction *t = timer_container_of(t, timer, split_timeout_timer);
        struct fw_card *card = t->card;
 
        scoped_guard(spinlock_irqsave, &card->lock) {
index 5f5c00ace96ba4f94eb2fbe26f02f0f5d15e6222..8cecf25996edc19146fa851c9abae14ac9965011 100644 (file)
@@ -322,8 +322,8 @@ bool amdgpu_fence_process(struct amdgpu_ring *ring)
  */
 static void amdgpu_fence_fallback(struct timer_list *t)
 {
-       struct amdgpu_ring *ring = from_timer(ring, t,
-                                             fence_drv.fallback_timer);
+       struct amdgpu_ring *ring = timer_container_of(ring, t,
+                                                     fence_drv.fallback_timer);
 
        if (amdgpu_fence_process(ring))
                DRM_WARN("Fence fallback timer expired on ring %s\n", ring->name);
index 03ed14663107a10e009a85045394a28b8b11d9c4..7e7d6c3865bcd6d8e00f3ab376e7be7134b1aeca 100644 (file)
@@ -135,7 +135,8 @@ static void amdgpu_ring_mux_schedule_resubmit(struct amdgpu_ring_mux *mux)
 
 static void amdgpu_mux_resubmit_fallback(struct timer_list *t)
 {
-       struct amdgpu_ring_mux *mux = from_timer(mux, t, resubmit_timer);
+       struct amdgpu_ring_mux *mux = timer_container_of(mux, t,
+                                                        resubmit_timer);
 
        if (!spin_trylock(&mux->lock)) {
                amdgpu_ring_mux_schedule_resubmit(mux);
index 850909f78a7bc0fab54a60880f9a0657e99056f3..e636459d91857a8b4022fcdc97cc431ab9666ed2 100644 (file)
@@ -751,7 +751,8 @@ tda998x_reset(struct tda998x_priv *priv)
  */
 static void tda998x_edid_delay_done(struct timer_list *t)
 {
-       struct tda998x_priv *priv = from_timer(priv, t, edid_delay_timer);
+       struct tda998x_priv *priv = timer_container_of(priv, t,
+                                                      edid_delay_timer);
 
        priv->edid_delay_active = false;
        wake_up(&priv->edid_delay_waitq);
index 78958ddf84858cccc6c65cd289baedfb313e306d..46f59883183d97d3fb2ef14cdebe4937cc3dc9cf 100644 (file)
@@ -487,7 +487,8 @@ out:
 
 static void vblank_disable_fn(struct timer_list *t)
 {
-       struct drm_vblank_crtc *vblank = from_timer(vblank, t, disable_timer);
+       struct drm_vblank_crtc *vblank = timer_container_of(vblank, t,
+                                                           disable_timer);
        struct drm_device *dev = vblank->dev;
        unsigned int pipe = vblank->pipe;
        unsigned long irqflags;
index e644e2382d77f4e64460b3c33be476e013264b95..e094b8bbc0f12412e2d087d811b9fbc419e170d4 100644 (file)
@@ -159,7 +159,7 @@ static const struct exynos_drm_crtc_ops vidi_crtc_ops = {
 
 static void vidi_fake_vblank_timer(struct timer_list *t)
 {
-       struct vidi_context *ctx = from_timer(ctx, t, timer);
+       struct vidi_context *ctx = timer_container_of(ctx, t, timer);
 
        if (drm_crtc_handle_vblank(&ctx->crtc->base))
                mod_timer(&ctx->timer,
index feff73cc0005dad9f68a437b7e1a40b35639af8f..adadd526641d2ab994b867533d8f7e60248953e1 100644 (file)
@@ -234,7 +234,7 @@ struct gud_usb_bulk_context {
 
 static void gud_usb_bulk_timeout(struct timer_list *t)
 {
-       struct gud_usb_bulk_context *ctx = from_timer(ctx, t, timer);
+       struct gud_usb_bulk_context *ctx = timer_container_of(ctx, t, timer);
 
        usb_sg_cancel(&ctx->sgr);
 }
index 5abc5fcc251492bc6acb773ed1a7c1554d80b286..eb89948cc1121dd479c03f3465f25e6606ce5ee1 100644 (file)
@@ -74,7 +74,7 @@ static void set(struct intel_uncore *uncore, i915_reg_t reg, u32 val)
 
 static void rps_timer(struct timer_list *t)
 {
-       struct intel_rps *rps = from_timer(rps, t, timer);
+       struct intel_rps *rps = timer_container_of(rps, t, timer);
        struct intel_gt *gt = rps_to_gt(rps);
        struct intel_engine_cs *engine;
        ktime_t dt, last, timestamp;
index 64315b714743addc62385558b1654a97819f9f95..79741f043f03be050132397a5bd1b70b360dc98b 100644 (file)
@@ -108,7 +108,7 @@ static void advance(struct i915_request *request)
 
 static void hw_delay_complete(struct timer_list *t)
 {
-       struct mock_engine *engine = from_timer(engine, t, hw_delay);
+       struct mock_engine *engine = timer_container_of(engine, t, hw_delay);
        struct i915_request *request;
        unsigned long flags;
 
index 32c762eb79edd5c7bdb0c6b80547b596e903dcbf..54bc447efce0b3605054c730cbbb73622a70296b 100644 (file)
@@ -537,7 +537,7 @@ struct spinner_timer {
 
 static void spinner_kill(struct timer_list *timer)
 {
-       struct spinner_timer *st = from_timer(st, timer, timer);
+       struct spinner_timer *st = timer_container_of(st, timer, timer);
 
        igt_spinner_end(&st->spin);
        pr_info("%s\n", __func__);
index 1d4cc91c0e40d588df58bfaca5b26f0117cf2c0f..a4902ee08b6e14e4646b83db1721e6e1d14e5013 100644 (file)
@@ -427,7 +427,8 @@ static void dma_i915_sw_fence_wake(struct dma_fence *dma,
 
 static void timer_i915_sw_fence_wake(struct timer_list *t)
 {
-       struct i915_sw_dma_fence_cb_timer *cb = from_timer(cb, t, timer);
+       struct i915_sw_dma_fence_cb_timer *cb = timer_container_of(cb, t,
+                                                                  timer);
        struct i915_sw_fence *fence;
 
        fence = xchg(&cb->base.fence, NULL);
index 07e81be4d3920febece34709c63a63204a41583c..51561b190b93124a82fbe0e0c961d6bfcde55538 100644 (file)
@@ -135,7 +135,7 @@ int intel_wakeref_wait_for_idle(struct intel_wakeref *wf)
 
 static void wakeref_auto_timeout(struct timer_list *t)
 {
-       struct intel_wakeref_auto *wf = from_timer(wf, t, timer);
+       struct intel_wakeref_auto *wf = timer_container_of(wf, t, timer);
        intel_wakeref_t wakeref;
        unsigned long flags;
 
index 522ad49406ce267abe60a9832fbe943a6cd888d3..d79e4defb71ddeac6a2c2bb1d0a591372294ddb3 100644 (file)
@@ -55,7 +55,7 @@ void onstack_fence_fini(struct i915_sw_fence *fence)
 
 static void timed_fence_wake(struct timer_list *t)
 {
-       struct timed_fence *tf = from_timer(tf, t, timer);
+       struct timed_fence *tf = timer_container_of(tf, t, timer);
 
        i915_sw_fence_commit(&tf->fence);
 }
index b2408abb9d491bf25773d4dcc1be73c89cf208ce..58279ddaab3ca91548ec545aef7f1246c86dbc25 100644 (file)
@@ -2569,7 +2569,7 @@ static const struct drm_bridge_funcs mtk_dp_bridge_funcs = {
 
 static void mtk_dp_debounce_timer(struct timer_list *t)
 {
-       struct mtk_dp *mtk_dp = from_timer(mtk_dp, t, debounce_timer);
+       struct mtk_dp *mtk_dp = timer_container_of(mtk_dp, t, debounce_timer);
 
        mtk_dp->need_debounce = true;
 }
index 36f72c43eae84d1e57001a7ae1b208ca6dfdfd72..b5f9d40687d59bb973ca646e5471dbf092c4af8b 100644 (file)
@@ -79,7 +79,8 @@ static struct msm_ringbuffer *get_next_ring(struct msm_gpu *gpu)
 
 static void a5xx_preempt_timer(struct timer_list *t)
 {
-       struct a5xx_gpu *a5xx_gpu = from_timer(a5xx_gpu, t, preempt_timer);
+       struct a5xx_gpu *a5xx_gpu = timer_container_of(a5xx_gpu, t,
+                                                      preempt_timer);
        struct msm_gpu *gpu = &a5xx_gpu->base.base;
        struct drm_device *dev = gpu->dev;
 
index 9b5e27d2373c68d98af928e767f6d7450dac7f7b..3b17fd2dba89115a8e48ba9469e52e4305b0cdbb 100644 (file)
@@ -87,7 +87,8 @@ static struct msm_ringbuffer *get_next_ring(struct msm_gpu *gpu)
 
 static void a6xx_preempt_timer(struct timer_list *t)
 {
-       struct a6xx_gpu *a6xx_gpu = from_timer(a6xx_gpu, t, preempt_timer);
+       struct a6xx_gpu *a6xx_gpu = timer_container_of(a6xx_gpu, t,
+                                                      preempt_timer);
        struct msm_gpu *gpu = &a6xx_gpu->base.base;
        struct drm_device *dev = gpu->dev;
 
index 7020098360e474ee149824a488d912a7ad8ed06a..c0ed110a7d30fa1282676e3ae4c9f1316a3a3bf1 100644 (file)
@@ -2693,8 +2693,8 @@ static int dpu_encoder_setup_display(struct dpu_encoder_virt *dpu_enc,
 
 static void dpu_encoder_frame_done_timeout(struct timer_list *t)
 {
-       struct dpu_encoder_virt *dpu_enc = from_timer(dpu_enc, t,
-                       frame_done_timer);
+       struct dpu_encoder_virt *dpu_enc = timer_container_of(dpu_enc, t,
+                                                             frame_done_timer);
        struct drm_encoder *drm_enc = &dpu_enc->base;
        u32 event;
 
index c380d9d9f5af10b90ef733b05f5b0295c0445f38..197871fdf508b7477e09fb52beb650c031bf4801 100644 (file)
@@ -521,7 +521,7 @@ static bool made_progress(struct msm_gpu *gpu, struct msm_ringbuffer *ring)
 
 static void hangcheck_handler(struct timer_list *t)
 {
-       struct msm_gpu *gpu = from_timer(gpu, t, hangcheck_timer);
+       struct msm_gpu *gpu = timer_container_of(gpu, t, hangcheck_timer);
        struct drm_device *dev = gpu->dev;
        struct msm_ringbuffer *ring = gpu->funcs->active_ring(gpu);
        uint32_t fence = ring->memptrs->fence;
index 560d12e50e9e6bd9ca595dedcca3ac564e780b67..6c77550c51af14b8930beaadc89d5c3bb5b0bc16 100644 (file)
@@ -175,7 +175,7 @@ struct signal_timer {
 
 static void signal_for_ttm_bo_reserve(struct timer_list *t)
 {
-       struct signal_timer *s_timer = from_timer(s_timer, t, timer);
+       struct signal_timer *s_timer = timer_container_of(s_timer, t, timer);
        struct task_struct *task = s_timer->ctx->task;
 
        do_send_sig_info(SIGTERM, SEND_SIG_PRIV, task, PIDTYPE_PID);
index 7125773889f1b7b514125f6925d7a44a8b06e528..4aaa587be3a5e6f74eb3db9b1b0e5a0e6f1f5bd3 100644 (file)
@@ -679,7 +679,7 @@ void vc4_bo_dec_usecnt(struct vc4_bo *bo)
 
 static void vc4_bo_cache_time_timer(struct timer_list *t)
 {
-       struct vc4_dev *vc4 = from_timer(vc4, t, bo_cache.time_timer);
+       struct vc4_dev *vc4 = timer_container_of(vc4, t, bo_cache.time_timer);
 
        schedule_work(&vc4->bo_cache.time_work);
 }
index 8125f87edc609fbc5dc9272e0a5a4e1cbdeb73db..255e5817618e33023ec34faaf176b0d6a9e3b218 100644 (file)
@@ -326,7 +326,7 @@ vc4_reset_work(struct work_struct *work)
 static void
 vc4_hangcheck_elapsed(struct timer_list *t)
 {
-       struct vc4_dev *vc4 = from_timer(vc4, t, hangcheck.timer);
+       struct vc4_dev *vc4 = timer_container_of(vc4, t, hangcheck.timer);
        struct drm_device *dev = &vc4->base;
        uint32_t ct0ca, ct1ca;
        unsigned long irqflags;
index b611c7c8ca2da2e946a3fb8978f2643c369e06d2..fd76730fd38c072f37b41b98223d8c15642f55f1 100644 (file)
@@ -61,7 +61,7 @@ static const struct dma_fence_ops vgem_fence_ops = {
 
 static void vgem_fence_timeout(struct timer_list *t)
 {
-       struct vgem_fence *fence = from_timer(fence, t, timer);
+       struct vgem_fence *fence = timer_container_of(fence, t, timer);
 
        dma_fence_signal(&fence->base);
 }
index f6beeebf974c29f73113406028a3f7edb2128f7c..54ccc434a1f7386bad34178854b6474695331eef 100644 (file)
@@ -295,7 +295,8 @@ static void gb_operation_work(struct work_struct *work)
 
 static void gb_operation_timeout(struct timer_list *t)
 {
-       struct gb_operation *operation = from_timer(operation, t, timer);
+       struct gb_operation *operation = timer_container_of(operation, t,
+                                                           timer);
 
        if (gb_operation_result_set(operation, -ETIMEDOUT)) {
                /*
index ed34f5cd5a91459bd027ca56fe47e22f41b0e215..0639b1f43d884e198ada39fd5b42d617dd1fb17e 100644 (file)
@@ -614,7 +614,7 @@ static int apple_fetch_battery(struct hid_device *hdev)
 
 static void apple_battery_timer_tick(struct timer_list *t)
 {
-       struct apple_sc *asc = from_timer(asc, t, battery_timer);
+       struct apple_sc *asc = timer_container_of(asc, t, battery_timer);
        struct hid_device *hdev = asc->hdev;
 
        if (apple_fetch_battery(hdev) == 0) {
index bb7db9ae41c249ec820cda922204a83e0710e2d9..5e8ced7bc05a3acca29c6102105e7fbf78d56975 100644 (file)
@@ -167,7 +167,7 @@ static void battery_flat(struct appleir *appleir)
 
 static void key_up_tick(struct timer_list *t)
 {
-       struct appleir *appleir = from_timer(appleir, t, key_up_timer);
+       struct appleir *appleir = timer_container_of(appleir, t, key_up_timer);
        struct hid_device *hid = appleir->hid;
        unsigned long flags;
 
index ef51b2c06872d04329f1b2208a7aaaca19a73888..6f251b284018744b9863ce968fea96d1d5cac6f3 100644 (file)
@@ -166,7 +166,7 @@ static int appletb_tb_key_to_slot(unsigned int code)
 
 static void appletb_inactivity_timer(struct timer_list *t)
 {
-       struct appletb_kbd *kbd = from_timer(kbd, t, inactivity_timer);
+       struct appletb_kbd *kbd = timer_container_of(kbd, t, inactivity_timer);
 
        if (kbd->backlight_dev && appletb_tb_autodim) {
                if (!kbd->has_dimmed) {
index 8602c63ed9c6ce4e3bba36edb55811f8e9b44a2f..11e21f98872327ecb1d4870c5a60c521d95d92e8 100644 (file)
@@ -155,7 +155,8 @@ static int letsketch_setup_input_tablet_pad(struct letsketch_data *data)
 
 static void letsketch_inrange_timeout(struct timer_list *t)
 {
-       struct letsketch_data *data = from_timer(data, t, inrange_timer);
+       struct letsketch_data *data = timer_container_of(data, t,
+                                                        inrange_timer);
        struct input_dev *input = data->input_tablet;
 
        input_report_key(input, BTN_TOOL_PEN, 0);
index d4d91e49bbe8a919e1d1359db5d50aecadb889b0..36f034ac605dcb6039d890a1db07904ab83a1e7b 100644 (file)
@@ -822,7 +822,7 @@ static int magicmouse_fetch_battery(struct hid_device *hdev)
 
 static void magicmouse_battery_timer_tick(struct timer_list *t)
 {
-       struct magicmouse_sc *msc = from_timer(msc, t, battery_timer);
+       struct magicmouse_sc *msc = timer_container_of(msc, t, battery_timer);
        struct hid_device *hdev = msc->hdev;
 
        if (magicmouse_fetch_battery(hdev) == 0) {
index ded0fef7d8c7be85c0711102b8e6e390182c7d0c..b41001e02da7e02d492bd85743b359ed7ec16e7f 100644 (file)
@@ -1745,7 +1745,7 @@ static void mt_release_contacts(struct hid_device *hid)
 
 static void mt_expired_timeout(struct timer_list *t)
 {
-       struct mt_device *td = from_timer(td, t, release_timer);
+       struct mt_device *td = timer_container_of(td, t, release_timer);
        struct hid_device *hdev = td->hdev;
 
        /*
index c6b922c2adbaa8fd693044b9fcfd04c029d0801c..74bddb2c3e82eb50964e22352d3d5f12b3953ae0 100644 (file)
@@ -227,7 +227,7 @@ drop_note:
 
 static void pcmidi_sustained_note_release(struct timer_list *t)
 {
-       struct pcmidi_sustain *pms = from_timer(pms, t, timer);
+       struct pcmidi_sustain *pms = timer_container_of(pms, t, timer);
 
        pcmidi_send_note(pms->pm, pms->status, pms->note, pms->velocity);
        pms->in_use = 0;
index a2be652b7bbd1a0e7ddf9ad0e606d51dfc84a0ba..b966e4044238cf73d978eda134170e250da72a92 100644 (file)
@@ -545,7 +545,7 @@ static void ghl_magic_poke_cb(struct urb *urb)
 static void ghl_magic_poke(struct timer_list *t)
 {
        int ret;
-       struct sony_sc *sc = from_timer(sc, t, ghl_poke_timer);
+       struct sony_sc *sc = timer_container_of(sc, t, ghl_poke_timer);
 
        ret = usb_submit_urb(sc->ghl_urb, GFP_ATOMIC);
        if (ret < 0)
index 61a4019ddc74300499510210aeb513fac2a3e71b..af98398d924756c5091d94d8a589828664f2c568 100644 (file)
@@ -32,8 +32,8 @@
  */
 static void uclogic_inrange_timeout(struct timer_list *t)
 {
-       struct uclogic_drvdata *drvdata = from_timer(drvdata, t,
-                                                       inrange_timer);
+       struct uclogic_drvdata *drvdata = timer_container_of(drvdata, t,
+                                                            inrange_timer);
        struct input_dev *input = drvdata->pen_input;
 
        if (input == NULL)
index 8080083121d36c090cd9ddb9c565552b9548577b..5b5fc460a4c53ff5cd104b77de2f37833d6f1a38 100644 (file)
@@ -1240,7 +1240,7 @@ static void wiimote_schedule(struct wiimote_data *wdata)
 
 static void wiimote_init_timeout(struct timer_list *t)
 {
-       struct wiimote_data *wdata = from_timer(wdata, t, timer);
+       struct wiimote_data *wdata = timer_container_of(wdata, t, timer);
 
        wiimote_schedule(wdata);
 }
index d4cbecc668ec023ef6ee0c631fdb0cdb5e92a1f8..aac0051a2cf6554a23e82c23432187dedd12ea68 100644 (file)
@@ -106,7 +106,7 @@ static int hid_start_in(struct hid_device *hid)
 /* I/O retry timer routine */
 static void hid_retry_timeout(struct timer_list *t)
 {
-       struct usbhid_device *usbhid = from_timer(usbhid, t, io_retry);
+       struct usbhid_device *usbhid = timer_container_of(usbhid, t, io_retry);
        struct hid_device *hid = usbhid->hid;
 
        dev_dbg(&usbhid->intf->dev, "retrying intr urb\n");
index 5107a676e24fc3b6a97fb46b753799b4842868ca..955b39d2252442708e87c62bfcbfb13ca263fe4a 100644 (file)
@@ -63,7 +63,7 @@ static void wacom_force_proxout(struct wacom_wac *wacom_wac)
 
 void wacom_idleprox_timeout(struct timer_list *list)
 {
-       struct wacom *wacom = from_timer(wacom, list, idleprox_timer);
+       struct wacom *wacom = timer_container_of(wacom, list, idleprox_timer);
        struct wacom_wac *wacom_wac = &wacom->wacom_wac;
 
        if (!wacom_wac->hid_data.sense_state) {
index cbc5e72857de8ee403b9292a0671b1833e0c3d89..d10a01f3eb9e41b559850654b8720f5f18a0fd97 100644 (file)
@@ -453,7 +453,7 @@ static void ssip_error(struct hsi_client *cl)
 
 static void ssip_keep_alive(struct timer_list *t)
 {
-       struct ssi_protocol *ssi = from_timer(ssi, t, keep_alive);
+       struct ssi_protocol *ssi = timer_container_of(ssi, t, keep_alive);
        struct hsi_client *cl = ssi->cl;
 
        dev_dbg(&cl->device, "Keep alive kick in: m(%d) r(%d) s(%d)\n",
@@ -480,7 +480,7 @@ static void ssip_keep_alive(struct timer_list *t)
 
 static void ssip_rx_wd(struct timer_list *t)
 {
-       struct ssi_protocol *ssi = from_timer(ssi, t, rx_wd);
+       struct ssi_protocol *ssi = timer_container_of(ssi, t, rx_wd);
        struct hsi_client *cl = ssi->cl;
 
        dev_err(&cl->device, "Watchdog triggered\n");
@@ -489,7 +489,7 @@ static void ssip_rx_wd(struct timer_list *t)
 
 static void ssip_tx_wd(struct timer_list *t)
 {
-       struct ssi_protocol *ssi = from_timer(ssi, t, tx_wd);
+       struct ssi_protocol *ssi = timer_container_of(ssi, t, tx_wd);
        struct hsi_client *cl = ssi->cl;
 
        dev_err(&cl->device, "Watchdog triggered\n");
index db3b551828ebd2aadfd5c53bc168ba5656e0f92f..802c73def428beb30fada90dc54a27e6e46aa8a3 100644 (file)
@@ -331,7 +331,7 @@ static void npcm7xx_fan_polling(struct timer_list *t)
        struct npcm7xx_pwm_fan_data *data;
        int i;
 
-       data = from_timer(data, t, fan_timer);
+       data = timer_container_of(data, t, fan_timer);
 
        /*
         * Polling two module per one round,
index 2df294793f6eebe11dff7622d82576644d802293..d0fe53451bdf8b1ae57cff0c4575734c330dc9c6 100644 (file)
@@ -78,7 +78,7 @@ static irqreturn_t pulse_handler(int irq, void *dev_id)
 
 static void sample_timer(struct timer_list *t)
 {
-       struct pwm_fan_ctx *ctx = from_timer(ctx, t, rpm_timer);
+       struct pwm_fan_ctx *ctx = timer_container_of(ctx, t, rpm_timer);
        unsigned int delta = ktime_ms_delta(ktime_get(), ctx->sample_start);
        int i;
 
index 5d8b82ae6fd60f4259224927e60fe9450f79b70f..3278707bb8856ccc5b85391d9b315b3fe0a3fcef 100644 (file)
@@ -831,7 +831,7 @@ next_atomic_cmd:
  */
 static void img_i2c_check_timer(struct timer_list *t)
 {
-       struct img_i2c *i2c = from_timer(i2c, t, check_timer);
+       struct img_i2c *i2c = timer_container_of(i2c, t, check_timer);
        unsigned long flags;
        unsigned int line_status;
 
index 7c488672936f79acd13343c6cd2bd118f90b6e13..1e167dc673caec68e7bbbb9587f11b73ff5e825a 100644 (file)
@@ -167,7 +167,7 @@ static void ssp_wdt_work_func(struct work_struct *work)
 
 static void ssp_wdt_timer_func(struct timer_list *t)
 {
-       struct ssp_data *data = from_timer(data, t, wdt_timer);
+       struct ssp_data *data = timer_container_of(data, t, wdt_timer);
 
        switch (data->fw_dl_state) {
        case SSP_FW_DL_STATE_FAIL:
index e02721a9e28875e897b5ae00836dca80573545ef..b3b45c49077d5fe26e90499d77c764f7c9e4d359 100644 (file)
@@ -4327,7 +4327,7 @@ static DECLARE_WORK(skb_work, process_work);
 
 static void ep_timeout(struct timer_list *t)
 {
-       struct c4iw_ep *ep = from_timer(ep, t, timer);
+       struct c4iw_ep *ep = timer_container_of(ep, t, timer);
        int kickit = 0;
 
        spin_lock(&timeout_lock);
index 9b508eaf441d824e92e2212fe19281c3494c4a1a..79990d09522bcbd1313008335f0b3398e4941812 100644 (file)
@@ -169,7 +169,7 @@ unlock:
 /* Timer function for re-enabling ASPM in the absence of interrupt activity */
 static  void aspm_ctx_timer_function(struct timer_list *t)
 {
-       struct hfi1_ctxtdata *rcd = from_timer(rcd, t, aspm_timer);
+       struct hfi1_ctxtdata *rcd = timer_container_of(rcd, t, aspm_timer);
        unsigned long flags;
 
        spin_lock_irqsave(&rcd->aspm_lock, flags);
index e908f529335dd543059cd95b2903fb1947cd2a94..0781ab756d44164c6ee4ec2c9bcd8420ab67b3cd 100644 (file)
@@ -5548,7 +5548,7 @@ static void handle_cce_err(struct hfi1_devdata *dd, u32 unused, u64 reg)
 #define RCVERR_CHECK_TIME 10
 static void update_rcverr_timer(struct timer_list *t)
 {
-       struct hfi1_devdata *dd = from_timer(dd, t, rcverr_timer);
+       struct hfi1_devdata *dd = timer_container_of(dd, t, rcverr_timer);
        struct hfi1_pportdata *ppd = dd->pport;
        u32 cur_ovfl_cnt = read_dev_cntr(dd, C_RCV_OVF, CNTR_INVALID_VL);
 
@@ -12587,7 +12587,7 @@ static void do_update_synth_timer(struct work_struct *work)
 
 static void update_synth_timer(struct timer_list *t)
 {
-       struct hfi1_devdata *dd = from_timer(dd, t, synth_stats_timer);
+       struct hfi1_devdata *dd = timer_container_of(dd, t, synth_stats_timer);
 
        queue_work(dd->update_cntr_wq, &dd->update_cntr_work);
        mod_timer(&dd->synth_stats_timer, jiffies + HZ * SYNTH_CNT_TIME);
index 3da90f2eb8e7b1a4cd9bc195859be128a507eaa2..06487e20f72370fdf41cbf543136c997e49b270e 100644 (file)
@@ -1315,7 +1315,8 @@ void shutdown_led_override(struct hfi1_pportdata *ppd)
 
 static void run_led_override(struct timer_list *t)
 {
-       struct hfi1_pportdata *ppd = from_timer(ppd, t, led_override_timer);
+       struct hfi1_pportdata *ppd = timer_container_of(ppd, t,
+                                                       led_override_timer);
        struct hfi1_devdata *dd = ppd->dd;
        unsigned long timeout;
        int phase_idx;
index b39f63ce6dfcd160331aedb626246f56a3f4e307..961fa07116f076e44c22321b8a756f9c067f8f16 100644 (file)
@@ -369,7 +369,7 @@ static void send_trap(struct hfi1_ibport *ibp, struct trap_node *trap)
 
 void hfi1_handle_trap_timer(struct timer_list *t)
 {
-       struct hfi1_ibport *ibp = from_timer(ibp, t, rvp.trap_timer);
+       struct hfi1_ibport *ibp = timer_container_of(ibp, t, rvp.trap_timer);
        struct trap_node *trap = NULL;
        unsigned long flags;
        int i;
index 16a749d16ee954ccc2a09f870d26ceba295e1eb7..719b7c34e238f10a9641bda1d345dd30ae02faac 100644 (file)
@@ -467,7 +467,8 @@ static void sdma_err_progress_check_schedule(struct sdma_engine *sde)
 static void sdma_err_progress_check(struct timer_list *t)
 {
        unsigned index;
-       struct sdma_engine *sde = from_timer(sde, t, err_progress_check_timer);
+       struct sdma_engine *sde = timer_container_of(sde, t,
+                                                    err_progress_check_timer);
 
        dd_dev_err(sde->dd, "SDE progress check event\n");
        for (index = 0; index < sde->dd->num_sdma; index++) {
index 78bf4a48c03550a671ea146ebc52cbc6ee614ae4..eafd2f157e32fb693ef709785df26e3fc1d60033 100644 (file)
@@ -3981,7 +3981,7 @@ void hfi1_del_tid_reap_timer(struct rvt_qp *qp)
 
 static void hfi1_tid_timeout(struct timer_list *t)
 {
-       struct hfi1_qp_priv *qpriv = from_timer(qpriv, t, s_tid_timer);
+       struct hfi1_qp_priv *qpriv = timer_container_of(qpriv, t, s_tid_timer);
        struct rvt_qp *qp = qpriv->owner;
        struct rvt_dev_info *rdi = ib_to_rvt(qp->ibqp.device);
        unsigned long flags;
@@ -4797,7 +4797,8 @@ void hfi1_del_tid_retry_timer(struct rvt_qp *qp)
 
 static void hfi1_tid_retry_timeout(struct timer_list *t)
 {
-       struct hfi1_qp_priv *priv = from_timer(priv, t, s_tid_retry_timer);
+       struct hfi1_qp_priv *priv = timer_container_of(priv, t,
+                                                      s_tid_retry_timer);
        struct rvt_qp *qp = priv->owner;
        struct rvt_swqe *wqe;
        unsigned long flags;
index 49e0f79b950c72d81dc2a70c9b66b5a2daeaabcb..3cbbfccdd8cdd148695a5aef5648db8bb9e947e8 100644 (file)
@@ -554,7 +554,7 @@ void hfi1_16B_rcv(struct hfi1_packet *packet)
  */
 static void mem_timer(struct timer_list *t)
 {
-       struct hfi1_ibdev *dev = from_timer(dev, t, mem_timer);
+       struct hfi1_ibdev *dev = timer_container_of(dev, t, mem_timer);
        struct list_head *list = &dev->memwait;
        struct rvt_qp *qp = NULL;
        struct iowait *wait;
index 23207f13ac1bcd51e711df876876ec5703c68700..c6a0a661d6e7eeeeab212fc6e435a964a9ed7731 100644 (file)
@@ -1263,7 +1263,8 @@ static void irdma_cm_timer_tick(struct timer_list *t)
        struct irdma_timer_entry *send_entry, *close_entry;
        struct list_head *list_core_temp;
        struct list_head *list_node;
-       struct irdma_cm_core *cm_core = from_timer(cm_core, t, tcp_timer);
+       struct irdma_cm_core *cm_core = timer_container_of(cm_core, t,
+                                                          tcp_timer);
        struct irdma_sc_vsi *vsi;
        u32 settimer = 0;
        unsigned long timetosend;
index d66b4f7a84ec95863fbd1a52122c50150ab3be66..b510ef747399b38d0f11ddd11f651d08c13e5687 100644 (file)
@@ -930,7 +930,7 @@ void irdma_terminate_done(struct irdma_sc_qp *qp, int timeout_occurred)
 
 static void irdma_terminate_timeout(struct timer_list *t)
 {
-       struct irdma_qp *iwqp = from_timer(iwqp, t, terminate_timer);
+       struct irdma_qp *iwqp = timer_container_of(iwqp, t, terminate_timer);
        struct irdma_sc_qp *qp = &iwqp->sc_qp;
 
        irdma_terminate_done(qp, 1);
@@ -1537,7 +1537,7 @@ int irdma_puda_get_tcpip_info(struct irdma_puda_cmpl_info *info,
 static void irdma_hw_stats_timeout(struct timer_list *t)
 {
        struct irdma_vsi_pestat *pf_devstat =
-               from_timer(pf_devstat, t, stats_timer);
+               timer_container_of(pf_devstat, t, stats_timer);
        struct irdma_sc_vsi *sc_vsi = pf_devstat->vsi;
 
        if (sc_vsi->dev->hw_attrs.uk_attrs.hw_rev >= IRDMA_GEN_2)
index 6dd813bac5b2c392a31109232f6465ab656d001d..57f9bc2a4a3ac127cb4138d2a944e56af5a915f4 100644 (file)
@@ -838,7 +838,7 @@ static void mlx5_mkey_cache_debugfs_init(struct mlx5_ib_dev *dev)
 
 static void delay_time_func(struct timer_list *t)
 {
-       struct mlx5_ib_dev *dev = from_timer(dev, t, delay_timer);
+       struct mlx5_ib_dev *dev = timer_container_of(dev, t, delay_timer);
 
        WRITE_ONCE(dev->fill_delay, 0);
 }
index 6eabef9aa2110005346a8e9fd60d873230a10728..f1d79968c985547c537a709c2f4cba66d56e2cc4 100644 (file)
@@ -132,7 +132,7 @@ static void handle_catas(struct mthca_dev *dev)
 
 static void poll_catas(struct timer_list *t)
 {
-       struct mthca_dev *dev = from_timer(dev, t, catas_err.timer);
+       struct mthca_dev *dev = timer_container_of(dev, t, catas_err.timer);
        int i;
 
        for (i = 0; i < dev->catas_err.size; ++i)
index bdd724add147699b028b8621c42f78f61f8bb2f6..91fa5e160c0d71e0e8b10a6f2fbd4bca95cb26ce 100644 (file)
@@ -659,8 +659,8 @@ int qib_set_lid(struct qib_pportdata *ppd, u32 lid, u8 lmc)
 
 static void qib_run_led_override(struct timer_list *t)
 {
-       struct qib_pportdata *ppd = from_timer(ppd, t,
-                                                   led_override_timer);
+       struct qib_pportdata *ppd = timer_container_of(ppd, t,
+                                                      led_override_timer);
        struct qib_devdata *dd = ppd->dd;
        int timeoff;
        int ph_idx;
index 277769fa97452c5dd5760d378a54126a0d3441c1..2640d283eee6af27e72d4c98df319a58858136f1 100644 (file)
@@ -2615,7 +2615,7 @@ static void qib_chk_6120_errormask(struct qib_devdata *dd)
  */
 static void qib_get_6120_faststats(struct timer_list *t)
 {
-       struct qib_devdata *dd = from_timer(dd, t, stats_timer);
+       struct qib_devdata *dd = timer_container_of(dd, t, stats_timer);
        struct qib_pportdata *ppd = dd->pport;
        unsigned long flags;
        u64 traffic_wds;
@@ -2905,7 +2905,7 @@ static int qib_6120_set_loopback(struct qib_pportdata *ppd, const char *what)
 
 static void pma_6120_timer(struct timer_list *t)
 {
-       struct qib_chip_specific *cs = from_timer(cs, t, pma_timer);
+       struct qib_chip_specific *cs = timer_container_of(cs, t, pma_timer);
        struct qib_pportdata *ppd = cs->ppd;
        struct qib_ibport *ibp = &ppd->ibport_data;
        unsigned long flags;
index 302c0d19f57dcc5a3b4dc73bc9444537b12bc368..0b347d1129face6ed1d58e4664bfb94bae424ed3 100644 (file)
@@ -1044,8 +1044,8 @@ done:
 
 static void reenable_7220_chase(struct timer_list *t)
 {
-       struct qib_chippport_specific *cpspec = from_timer(cpspec, t,
-                                                        chase_timer);
+       struct qib_chippport_specific *cpspec = timer_container_of(cpspec, t,
+                                                                  chase_timer);
        struct qib_pportdata *ppd = &cpspec->pportdata;
 
        ppd->cpspec->chase_timer.expires = 0;
@@ -3240,7 +3240,7 @@ done:
  */
 static void qib_get_7220_faststats(struct timer_list *t)
 {
-       struct qib_devdata *dd = from_timer(dd, t, stats_timer);
+       struct qib_devdata *dd = timer_container_of(dd, t, stats_timer);
        struct qib_pportdata *ppd = dd->pport;
        unsigned long flags;
        u64 traffic_wds;
index 7b4bf06c3b38631159254bcf0590f9dbbe6c2301..781b6a4fb002af02d66827e021d2c216f6eb03dc 100644 (file)
@@ -1721,7 +1721,8 @@ static void qib_error_tasklet(struct tasklet_struct *t)
 
 static void reenable_chase(struct timer_list *t)
 {
-       struct qib_chippport_specific *cp = from_timer(cp, t, chase_timer);
+       struct qib_chippport_specific *cp = timer_container_of(cp, t,
+                                                              chase_timer);
        struct qib_pportdata *ppd = cp->ppd;
 
        ppd->cpspec->chase_timer.expires = 0;
@@ -5084,7 +5085,7 @@ done:
  */
 static void qib_get_7322_faststats(struct timer_list *t)
 {
-       struct qib_devdata *dd = from_timer(dd, t, stats_timer);
+       struct qib_devdata *dd = timer_container_of(dd, t, stats_timer);
        struct qib_pportdata *ppd;
        unsigned long flags;
        u64 traffic_wds;
index 33c23adec101a73d3449c5e94614e4b8cc512167..1c45814f5646b0a5ac9c7df056f16fcb6e583d4c 100644 (file)
@@ -493,7 +493,7 @@ static void enable_chip(struct qib_devdata *dd)
 
 static void verify_interrupt(struct timer_list *t)
 {
-       struct qib_devdata *dd = from_timer(dd, t, intrchk_timer);
+       struct qib_devdata *dd = timer_container_of(dd, t, intrchk_timer);
        u64 int_counter;
 
        if (!dd)
index 85c3187d796d9edf6548a4ebef8abf07fa4789c9..93357823c6c05a16d9bfc97c2722ea3d145960f1 100644 (file)
@@ -172,7 +172,8 @@ skip_ibchange:
 
 void qib_clear_symerror_on_linkup(struct timer_list *t)
 {
-       struct qib_pportdata *ppd = from_timer(ppd, t, symerr_clear_timer);
+       struct qib_pportdata *ppd = timer_container_of(ppd, t,
+                                                      symerr_clear_timer);
 
        if (ppd->lflags & QIBL_LINKACTIVE)
                return;
index 568deb77ab4dea0526e27b3d88fa887c97f30d0a..d99932b2ce217f8a95fd7c830e3764639ee695c8 100644 (file)
@@ -2398,7 +2398,8 @@ bail:
 
 static void xmit_wait_timer_func(struct timer_list *t)
 {
-       struct qib_pportdata *ppd = from_timer(ppd, t, cong_stats.timer);
+       struct qib_pportdata *ppd = timer_container_of(ppd, t,
+                                                      cong_stats.timer);
        struct qib_devdata *dd = dd_from_ppd(ppd);
        unsigned long flags;
        u8 status;
index c4ee120ac7fb7ecceb7520d4fd7c3a0819168048..40bc0a34273e54be49b6550fe8b235c4a8b7a939 100644 (file)
@@ -1385,7 +1385,7 @@ MODULE_PARM_DESC(relock_by_timer, "Allow relock attempt if link not up");
 
 static void qib_run_relock(struct timer_list *t)
 {
-       struct qib_chip_specific *cs = from_timer(cs, t, relock_timer);
+       struct qib_chip_specific *cs = timer_container_of(cs, t, relock_timer);
        struct qib_devdata *dd = cs->dd;
        struct qib_pportdata *ppd = dd->pport;
        int timeoff;
index 1325110237cd9ae4cea2c752dc6999dfdd3f1cbe..397928c80f7c709c68672d8a975edd7afc640db6 100644 (file)
@@ -548,7 +548,7 @@ void qib_hol_up(struct qib_pportdata *ppd)
  */
 void qib_hol_event(struct timer_list *t)
 {
-       struct qib_pportdata *ppd = from_timer(ppd, t, hol_timer);
+       struct qib_pportdata *ppd = timer_container_of(ppd, t, hol_timer);
 
        /* If hardware error, etc, skip. */
        if (!(ppd->dd->flags & QIB_INITTED))
index 9832567a8bb80d82dd4a03782c111f744ab6124c..bab657f93084d47d9819dadb993d31ab7fa72a78 100644 (file)
@@ -361,7 +361,7 @@ drop:
  */
 static void mem_timer(struct timer_list *t)
 {
-       struct qib_ibdev *dev = from_timer(dev, t, mem_timer);
+       struct qib_ibdev *dev = timer_container_of(dev, t, mem_timer);
        struct list_head *list = &dev->memwait;
        struct rvt_qp *qp = NULL;
        struct qib_qp_priv *priv = NULL;
index 583debe4b9a207bff1e3bdbfbb9e6338fd94947d..e825e2ef7966b37c01aac1f6f7c2a4329e372ce8 100644 (file)
@@ -2585,7 +2585,7 @@ EXPORT_SYMBOL(rvt_del_timers_sync);
  */
 static void rvt_rc_timeout(struct timer_list *t)
 {
-       struct rvt_qp *qp = from_timer(qp, t, s_timer);
+       struct rvt_qp *qp = timer_container_of(qp, t, s_timer);
        struct rvt_dev_info *rdi = ib_to_rvt(qp->ibqp.device);
        unsigned long flags;
 
index d48af218074588cfb7c16594d162e62b4174f7d1..a5b2b62f596b05162c9e84b34b0a7d14cef8dd05 100644 (file)
@@ -114,7 +114,7 @@ static enum ib_wc_opcode wr_to_wc_opcode(enum ib_wr_opcode opcode)
 
 void retransmit_timer(struct timer_list *t)
 {
-       struct rxe_qp *qp = from_timer(qp, t, retrans_timer);
+       struct rxe_qp *qp = timer_container_of(qp, t, retrans_timer);
        unsigned long flags;
 
        rxe_dbg_qp(qp, "retransmit timer fired\n");
index 9d0392df8a92f8c2abca5acc43e31c5081a9b916..373b03f223bebce8502d98892bb5484da4c000bd 100644 (file)
@@ -97,7 +97,7 @@ static void req_retry(struct rxe_qp *qp)
 
 void rnr_nak_timer(struct timer_list *t)
 {
-       struct rxe_qp *qp = from_timer(qp, t, rnr_nak_timer);
+       struct rxe_qp *qp = timer_container_of(qp, t, rnr_nak_timer);
        unsigned long flags;
 
        rxe_dbg_qp(qp, "nak timer fired\n");
index 009822fa61b844f487be1bdb9b28dbcceadd3f38..91636479ee3cb893e905532fbe97866eaa5404a8 100644 (file)
@@ -399,7 +399,7 @@ static void ml_play_effects(struct ml_device *ml)
 
 static void ml_effect_timer(struct timer_list *t)
 {
-       struct ml_device *ml = from_timer(ml, t, timer);
+       struct ml_device *ml = timer_container_of(ml, t, timer);
        struct input_dev *dev = ml->dev;
 
        pr_debug("timer: updating effects\n");
index ae51f108bfae024dec72b8ba68bf9ffb77885ffb..a832bc46bc928257570ea7c316acbd780ab747ad 100644 (file)
@@ -199,7 +199,8 @@ EXPORT_SYMBOL(gameport_stop_polling);
 
 static void gameport_run_poll_handler(struct timer_list *t)
 {
-       struct gameport *gameport = from_timer(gameport, t, poll_timer);
+       struct gameport *gameport = timer_container_of(gameport, t,
+                                                      poll_timer);
 
        gameport->poll_handler(gameport);
        if (gameport->poll_cnt)
index ec4346f20efdd00395777de80d95318865148e4d..44887e51e04972b169285c460a4e8b3a0e98b967 100644 (file)
@@ -2249,7 +2249,7 @@ static void devm_input_device_unregister(struct device *dev, void *res)
  */
 static void input_repeat_key(struct timer_list *t)
 {
-       struct input_dev *dev = from_timer(dev, t, timer);
+       struct input_dev *dev = timer_container_of(dev, t, timer);
 
        guard(spinlock_irqsave)(&dev->event_lock);
 
index d7a253835889a6c65b9df736fc76900dc1c4c26d..d5c67a927404b68aea31f8dce355d606c29d39b6 100644 (file)
@@ -351,7 +351,7 @@ static int db9_saturn(int mode, struct parport *port, struct input_dev *devs[])
 
 static void db9_timer(struct timer_list *t)
 {
-       struct db9 *db9 = from_timer(db9, t, timer);
+       struct db9 *db9 = timer_container_of(db9, t, timer);
        struct parport *port = db9->pd->port;
        struct input_dev *dev = db9->dev[0];
        struct input_dev *dev2 = db9->dev[1];
index 9fc629ad58b86cb926ef32713893121cb5442ec4..ae95cb3d0ae9ed6aa66448ebefd3e8d78ebff2bf 100644 (file)
@@ -726,7 +726,7 @@ static void gc_psx_process_packet(struct gc *gc)
 
 static void gc_timer(struct timer_list *t)
 {
-       struct gc *gc = from_timer(gc, t, timer);
+       struct gc *gc = timer_container_of(gc, t, timer);
 
 /*
  * N64 pads - must be read first, any read confuses them for 200 us
index aa3e7d471b96e1e48d0fc0d273ac0d5bf79449b8..5f69aef01791451637884cc5340b0aeee6db1879 100644 (file)
@@ -72,7 +72,7 @@ static struct tgfx {
 
 static void tgfx_timer(struct timer_list *t)
 {
-       struct tgfx *tgfx = from_timer(tgfx, t, timer);
+       struct tgfx *tgfx = timer_container_of(tgfx, t, timer);
        struct input_dev *dev;
        int data1, data2, i;
 
index 3cd47fa44efc419fbbc749777582771f9633a6a5..069c1d6376e1823c8b72674e088c71cda98578ff 100644 (file)
@@ -183,7 +183,8 @@ static void imx_keypad_fire_events(struct imx_keypad *keypad,
  */
 static void imx_keypad_check_for_events(struct timer_list *t)
 {
-       struct imx_keypad *keypad = from_timer(keypad, t, check_matrix_timer);
+       struct imx_keypad *keypad = timer_container_of(keypad, t,
+                                                      check_matrix_timer);
        unsigned short matrix_volatile_state[MAX_MATRIX_KEY_COLS];
        unsigned short reg_val;
        bool state_changed, is_zero_matrix;
index c501a93a4417862824f0ea4d4c8efd4214fed793..58d4f2096cf95f12add72919c735b097a0d0e2e6 100644 (file)
@@ -194,7 +194,7 @@ static irqreturn_t locomokbd_interrupt(int irq, void *dev_id)
  */
 static void locomokbd_timer_callback(struct timer_list *t)
 {
-       struct locomokbd *locomokbd = from_timer(locomokbd, t, timer);
+       struct locomokbd *locomokbd = timer_container_of(locomokbd, t, timer);
 
        locomokbd_scankeyboard(locomokbd);
 }
index fe7398eeb828a6e96684f8e4552303c8ac6e6e18..954055aaf6e29527f22f8129fd47ca17722e2bc9 100644 (file)
@@ -46,7 +46,8 @@ struct pwrkey_drv_data {
 
 static void imx_imx_snvs_check_for_events(struct timer_list *t)
 {
-       struct pwrkey_drv_data *pdata = from_timer(pdata, t, check_timer);
+       struct pwrkey_drv_data *pdata = timer_container_of(pdata, t,
+                                                          check_timer);
        struct input_dev *input = pdata->input;
        u32 state;
 
index 32a676f0de5397a06da430eacdb3a6ea991f1bdb..bc1c80a456f2aee3fac115ad2a0bb3155297dc75 100644 (file)
@@ -240,7 +240,7 @@ static void tegra_kbc_set_fifo_interrupt(struct tegra_kbc *kbc, bool enable)
 
 static void tegra_kbc_keypress_timer(struct timer_list *t)
 {
-       struct tegra_kbc *kbc = from_timer(kbc, t, timer);
+       struct tegra_kbc *kbc = timer_container_of(kbc, t, timer);
        u32 val;
        unsigned int i;
 
index 7ba8d166d68c18b396e616f6f9074ae98c4629b7..0c7b8f8ef4a5500a4fa4990563f778267673111a 100644 (file)
@@ -45,7 +45,7 @@ struct bbnsm_pwrkey {
 
 static void bbnsm_pwrkey_check_for_events(struct timer_list *t)
 {
-       struct bbnsm_pwrkey *bbnsm = from_timer(bbnsm, t, check_timer);
+       struct bbnsm_pwrkey *bbnsm = timer_container_of(bbnsm, t, check_timer);
        struct input_dev *input = bbnsm->input;
        u32 state;
 
index 0bd7b09b0aa3b099518e3fbd8e01ab2239ff7ef2..be734d65ea721f310acf758dbc07d7b0f3a94a92 100644 (file)
@@ -1582,7 +1582,7 @@ static psmouse_ret_t alps_handle_interleaved_ps2(struct psmouse *psmouse)
 
 static void alps_flush_packet(struct timer_list *t)
 {
-       struct alps_data *priv = from_timer(priv, t, timer);
+       struct alps_data *priv = timer_container_of(priv, t, timer);
        struct psmouse *psmouse = priv->psmouse;
 
        guard(serio_pause_rx)(psmouse->ps2dev.serio);
index 4ee084e00a7cea713cd95da399d9f396cf7dbf5e..71aa23dd7d8d038467b24f6d4b58ea834256721f 100644 (file)
@@ -251,7 +251,7 @@ static void byd_report_input(struct psmouse *psmouse)
 
 static void byd_clear_touch(struct timer_list *t)
 {
-       struct byd_data *priv = from_timer(priv, t, timer);
+       struct byd_data *priv = timer_container_of(priv, t, timer);
        struct psmouse *psmouse = priv->psmouse;
 
        guard(serio_pause_rx)(psmouse->ps2dev.serio);
index 8d8392ce7005a9b38377a13ad9fb71039f3039a5..c9aa1847265a27737aa05c40f744af27496ac209 100644 (file)
@@ -375,7 +375,7 @@ static inline void ad7877_ts_event_release(struct ad7877 *ts)
 
 static void ad7877_timer(struct timer_list *t)
 {
-       struct ad7877 *ts = from_timer(ts, t, timer);
+       struct ad7877 *ts = timer_container_of(ts, t, timer);
        unsigned long flags;
 
        spin_lock_irqsave(&ts->lock, flags);
index f661e199b63c1700814cef12a230d59043637f6d..f9db5cefb25bca45e18e80fafc9cad5dd78f4f68 100644 (file)
@@ -237,7 +237,7 @@ static void ad7879_ts_event_release(struct ad7879 *ts)
 
 static void ad7879_timer(struct timer_list *t)
 {
-       struct ad7879 *ts = from_timer(ts, t, timer);
+       struct ad7879 *ts = timer_container_of(ts, t, timer);
 
        ad7879_ts_event_release(ts);
 }
index 3c997fba7048afc6588050194ba9ff4053856a27..64f474e67312f0cb7873817b4064ca41bff5088b 100644 (file)
@@ -209,7 +209,8 @@ static void bu21029_touch_report(struct bu21029_ts_data *bu21029, const u8 *buf)
 
 static void bu21029_touch_release(struct timer_list *t)
 {
-       struct bu21029_ts_data *bu21029 = from_timer(bu21029, t, timer);
+       struct bu21029_ts_data *bu21029 = timer_container_of(bu21029, t,
+                                                            timer);
 
        input_report_abs(bu21029->in_dev, ABS_PRESSURE, 0);
        input_report_key(bu21029->in_dev, BTN_TOUCH, 0);
index 9a5977d8cad2b980264c414f095d88a03bb6bcdb..28da7ba55a4bbfd305fcf34e95b075a530eac33f 100644 (file)
@@ -105,7 +105,7 @@ static void exc3000_report_slots(struct input_dev *input,
 
 static void exc3000_timer(struct timer_list *t)
 {
-       struct exc3000_data *data = from_timer(data, t, timer);
+       struct exc3000_data *data = timer_container_of(data, t, timer);
 
        input_mt_sync_frame(data->input);
        input_sync(data->input);
index e59b8d0ed19e70d16ce815b07765251e3213c121..5fa47a1a6fdce42c193b3696ca4848b7263bb7e1 100644 (file)
@@ -116,7 +116,7 @@ static inline void sx865x_penrelease(struct sx8654 *ts)
 
 static void sx865x_penrelease_timer_handler(struct timer_list *t)
 {
-       struct sx8654 *ts = from_timer(ts, t, timer);
+       struct sx8654 *ts = timer_container_of(ts, t, timer);
        unsigned long flags;
 
        spin_lock_irqsave(&ts->lock, flags);
index 252a93753ee5aa24a7899959da06eaabe0d0a04d..82d7d1cf5010937f7ae29a51792c994b930bc7df 100644 (file)
@@ -194,7 +194,7 @@ out:
 
 static void tsc200x_penup_timer(struct timer_list *t)
 {
-       struct tsc200x *ts = from_timer(ts, t, penup_timer);
+       struct tsc200x *ts = timer_container_of(ts, t, penup_timer);
 
        guard(spinlock_irqsave)(&ts->lock);
        tsc200x_update_pen_state(ts, 0, 0, 0);
index 6c708fec48d194d6dd2861ebced4d70bfeb44742..ea2ef53bd4fef0d78403cf81b6b4a777884e8a49 100644 (file)
@@ -179,7 +179,8 @@ static void fq_flush_iotlb(struct iommu_dma_cookie *cookie)
 
 static void fq_flush_timeout(struct timer_list *t)
 {
-       struct iommu_dma_cookie *cookie = from_timer(cookie, t, fq_timer);
+       struct iommu_dma_cookie *cookie = timer_container_of(cookie, t,
+                                                            fq_timer);
        int cpu;
 
        atomic_set(&cookie->fq_timer_on, 0);
index e3870d9426994c07f44cbe396a5f66bb1a5da56b..2b05722d4dbe8b07bb52d2b6f6e00f2775f8ad9e 100644 (file)
@@ -291,7 +291,7 @@ reset_hfcpci(struct hfc_pci *hc)
 static void
 hfcpci_Timer(struct timer_list *t)
 {
-       struct hfc_pci *hc = from_timer(hc, t, hw.timer);
+       struct hfc_pci *hc = timer_container_of(hc, t, hw.timer);
        hc->hw.timer.expires = jiffies + 75;
        /* WD RESET */
 /*
index 165a63994f0477c6021aecb3e50bd3b890edf352..a34ea6058960550b93d6a4e486734a9ab85d227a 100644 (file)
@@ -713,7 +713,7 @@ isac_release(struct isac_hw *isac)
 static void
 dbusy_timer_handler(struct timer_list *t)
 {
-       struct isac_hw *isac = from_timer(isac, t, dch.timer);
+       struct isac_hw *isac = timer_container_of(isac, t, dch.timer);
        int rbch, star;
        u_long flags;
 
index e48f89cbecf88b8c85101253fdccaabe3a9567bc..dace91ba412b705a59036deed3af2908c27c96c2 100644 (file)
@@ -1135,7 +1135,7 @@ EXPORT_SYMBOL(mISDNisar_irq);
 static void
 ftimer_handler(struct timer_list *t)
 {
-       struct isar_ch *ch = from_timer(ch, t, ftimer);
+       struct isar_ch *ch = timer_container_of(ch, t, ftimer);
 
        pr_debug("%s: ftimer flags %lx\n", ch->is->name, ch->bch.Flags);
        test_and_clear_bit(FLG_FTI_RUN, &ch->bch.Flags);
index da933f4bdf4e769fa70cd095b49b4ae15134a989..168fc345dcdcc841318751675d06bf02d50f0c72 100644 (file)
@@ -802,7 +802,7 @@ w6692_irq(int intno, void *dev_id)
 static void
 dbusy_timer_handler(struct timer_list *t)
 {
-       struct dchannel *dch = from_timer(dch, t, timer);
+       struct dchannel *dch = timer_container_of(dch, t, timer);
        struct w6692_hw *card = dch->hw;
        int             rbch, star;
        u_long          flags;
index 456b313bfa764cd7f9585d2dcae38e5fa71b4f9b..fa7813ae8d976186f80ece4bdbf2e672e545a23b 100644 (file)
@@ -459,7 +459,7 @@ dsp_tone_hw_message(struct dsp *dsp, u8 *sample, int len)
 void
 dsp_tone_timeout(struct timer_list *t)
 {
-       struct dsp *dsp = from_timer(dsp, t, tone.tl);
+       struct dsp *dsp = timer_container_of(dsp, t, tone.tl);
        struct dsp_tone *tone = &dsp->tone;
        struct pattern *pat = (struct pattern *)tone->pattern;
        int index = tone->index;
index 5ed0a611068765b2855b56a1435b49330b975e2c..825b686496d23ea4371ed251a0bb9644c94242ad 100644 (file)
@@ -95,7 +95,7 @@ EXPORT_SYMBOL(mISDN_FsmChangeState);
 static void
 FsmExpireTimer(struct timer_list *t)
 {
-       struct FsmTimer *ft = from_timer(ft, t, tl);
+       struct FsmTimer *ft = timer_container_of(ft, t, tl);
 #if FSM_TIMER_DEBUG
        if (ft->fi->debug)
                ft->fi->printdebug(ft->fi, "FsmExpireTimer %lx", (long) ft);
index a5ad88a960d0ec5c18fe7d0142abe49eababad49..f732f6614d3707bfc8699ae25a6400d89e00720a 100644 (file)
@@ -822,7 +822,7 @@ l1oip_send_bh(struct work_struct *work)
 static void
 l1oip_keepalive(struct timer_list *t)
 {
-       struct l1oip *hc = from_timer(hc, t, keep_tl);
+       struct l1oip *hc = timer_container_of(hc, t, keep_tl);
 
        schedule_work(&hc->workq);
 }
@@ -830,8 +830,8 @@ l1oip_keepalive(struct timer_list *t)
 static void
 l1oip_timeout(struct timer_list *t)
 {
-       struct l1oip                    *hc = from_timer(hc, t,
-                                                                 timeout_tl);
+       struct l1oip                    *hc = timer_container_of(hc, t,
+                                                                    timeout_tl);
        struct dchannel         *dch = hc->chan[hc->d_idx].dch;
 
        if (debug & DEBUG_L1OIP_MSG)
index 7cfa8c61dba0a6adfe66b7cd473bd57336ec7786..df98144a953946df0fc8669ae3e446d043b98155 100644 (file)
@@ -155,7 +155,7 @@ mISDN_poll(struct file *filep, poll_table *wait)
 static void
 dev_expire_timer(struct timer_list *t)
 {
-       struct mISDNtimer *timer = from_timer(timer, t, tl);
+       struct mISDNtimer *timer = timer_container_of(timer, t, tl);
        u_long                  flags;
 
        spin_lock_irqsave(&timer->dev->lock, flags);
index 32ba397a33d22596aef33e1c20543f751ca771d2..6af0d2c7fc56e3d00f95663a4d50ce2f50e77aee 100644 (file)
@@ -165,7 +165,7 @@ static const struct led_flash_ops rt8515_flash_ops = {
 
 static void rt8515_powerdown_timer(struct timer_list *t)
 {
-       struct rt8515 *rt = from_timer(rt, t, powerdown_timer);
+       struct rt8515 *rt = timer_container_of(rt, t, powerdown_timer);
 
        /* Turn the LED off */
        rt8515_gpio_led_off(rt);
index 48fb8a9ec70329b0f9296a2a0ef33443270f4a33..3e83200675f266063dd7ea2c7c64a30e46487127 100644 (file)
@@ -135,7 +135,7 @@ static int sgm3140_brightness_set(struct led_classdev *led_cdev,
 
 static void sgm3140_powerdown_timer(struct timer_list *t)
 {
-       struct sgm3140 *priv = from_timer(priv, t, powerdown_timer);
+       struct sgm3140 *priv = timer_container_of(priv, t, powerdown_timer);
 
        gpiod_set_value(priv->enable_gpio, 0);
        gpiod_set_value(priv->flash_gpio, 0);
index 1a59a4f384791477848982601a033513ffd7dc0b..59473f286b31f1ccbf6131e1b1da42f5b9144f68 100644 (file)
@@ -64,7 +64,8 @@ static int __led_set_brightness_blocking(struct led_classdev *led_cdev, unsigned
 
 static void led_timer_function(struct timer_list *t)
 {
-       struct led_classdev *led_cdev = from_timer(led_cdev, t, blink_timer);
+       struct led_classdev *led_cdev = timer_container_of(led_cdev, t,
+                                                          blink_timer);
        unsigned long brightness;
        unsigned long delay;
 
index b3ee33aed36e2bf75ca4e845ba3622a814a2694e..c973246a57f946f8b6bd6a41e3a2085bb82054f1 100644 (file)
@@ -32,8 +32,8 @@ struct activity_data {
 
 static void led_activity_function(struct timer_list *t)
 {
-       struct activity_data *activity_data = from_timer(activity_data, t,
-                                                        timer);
+       struct activity_data *activity_data = timer_container_of(activity_data,
+                                                                t, timer);
        struct led_classdev *led_cdev = activity_data->led_cdev;
        unsigned int target;
        unsigned int usage;
index 393b3ae832f49f257e05334f93f53ebef3ebea52..40eb61b6d54e0d8623f014e45dacc00365fde2ea 100644 (file)
@@ -33,7 +33,7 @@ struct heartbeat_trig_data {
 static void led_heartbeat_function(struct timer_list *t)
 {
        struct heartbeat_trig_data *heartbeat_data =
-               from_timer(heartbeat_data, t, timer);
+               timer_container_of(heartbeat_data, t, timer);
        struct led_classdev *led_cdev;
        unsigned long brightness = LED_OFF;
        unsigned long delay = 0;
index 06d052957d373e088205f1da0d5476f61d3fa6db..9af3c18f14f4bd586c4b0052226774e335a6566b 100644 (file)
@@ -150,7 +150,7 @@ static void pattern_trig_timer_common_function(struct pattern_trig_data *data)
 
 static void pattern_trig_timer_function(struct timer_list *t)
 {
-       struct pattern_trig_data *data = from_timer(data, t, timer);
+       struct pattern_trig_data *data = timer_container_of(data, t, timer);
 
        return pattern_trig_timer_common_function(data);
 }
index e103c7ed830b81e01d72b87f021bd03d4948ac84..20f1351464b106f062612293979b08453c49e37b 100644 (file)
@@ -32,7 +32,7 @@ struct transient_trig_data {
 static void transient_timer_function(struct timer_list *t)
 {
        struct transient_trig_data *transient_data =
-               from_timer(transient_data, t, timer);
+               timer_container_of(transient_data, t, timer);
        struct led_classdev *led_cdev = transient_data->led_cdev;
 
        transient_data->activate = 0;
index 748128661892d2465d1f91137cf7b6db3db8aba0..17278c2571d3415cabeccafa89e6c7e9f27bd691 100644 (file)
@@ -130,7 +130,7 @@ static void altera_mbox_rx_data(struct mbox_chan *chan)
 
 static void altera_mbox_poll_rx(struct timer_list *t)
 {
-       struct altera_mbox *mbox = from_timer(mbox, t, rxpoll_timer);
+       struct altera_mbox *mbox = timer_container_of(mbox, t, rxpoll_timer);
 
        altera_mbox_rx_data(mbox->chan);
 
index d39dec34b7a3f472a2d85d631a865dad6815fe42..0056106495a7c75d470144cc475326c46b8048b6 100644 (file)
@@ -149,7 +149,7 @@ static void scale_stats(struct cache_stats *stats, unsigned long rescale_at)
 
 static void scale_accounting(struct timer_list *t)
 {
-       struct cache_accounting *acc = from_timer(acc, t, timer);
+       struct cache_accounting *acc = timer_container_of(acc, t, timer);
 
 #define move_stat(name) do {                                           \
        unsigned int t = atomic_xchg(&acc->collector.name, 0);          \
index 16d3d454fb0a007ba2947673782a4e2deca6ed89..4bb6553278c74630c8c015f963ebd8e1f7e86bcb 100644 (file)
@@ -56,7 +56,7 @@ struct dm_delay_info {
 
 static void handle_delayed_timer(struct timer_list *t)
 {
-       struct delay_c *dc = from_timer(dc, t, delay_timer);
+       struct delay_c *dc = timer_container_of(dc, t, delay_timer);
 
        queue_work(dc->kdelayd_wq, &dc->flush_expired_bios);
 }
index 1f626066e8cc6e082f9cf1172ec1ab0f2dddf1e9..4395657fa5838efbc96d98f7420986b0544d9847 100644 (file)
@@ -1540,7 +1540,8 @@ static void sleep_on_endio_wait(struct dm_integrity_c *ic)
 
 static void autocommit_fn(struct timer_list *t)
 {
-       struct dm_integrity_c *ic = from_timer(ic, t, autocommit_timer);
+       struct dm_integrity_c *ic = timer_container_of(ic, t,
+                                                      autocommit_timer);
 
        if (likely(!dm_integrity_failed(ic)))
                queue_work(ic->commit_wq, &ic->commit_work);
index 81fec2e1e0ef3510e26acfadc28d4a25d88807c8..aaf4a0a4b0ebb66fb5f2427d1f504c9a1b11502e 100644 (file)
@@ -790,7 +790,7 @@ static int queue_if_no_path(struct multipath *m, bool f_queue_if_no_path,
  */
 static void queue_if_no_path_timeout_work(struct timer_list *t)
 {
-       struct multipath *m = from_timer(m, t, nopath_timer);
+       struct multipath *m = timer_container_of(m, t, nopath_timer);
 
        DMWARN("queue_if_no_path timeout on %s, failing queued IO",
               dm_table_device_name(m->ti->table));
index 785af481658406a9d41f43ec0e38d8ac9d2c39ee..268f734ca9c38ab8f4d1110ff60fa279613fdaba 100644 (file)
@@ -103,7 +103,7 @@ static void wakeup_mirrord(void *context)
 
 static void delayed_wake_fn(struct timer_list *t)
 {
-       struct mirror_set *ms = from_timer(ms, t, timer);
+       struct mirror_set *ms = timer_container_of(ms, t, timer);
 
        clear_bit(0, &ms->timer_pending);
        wakeup_mirrord(ms);
index 3c58b941e0678937f31a2dfef998287e53ae2a66..4d983092a15224f56cbc3871c9ac3ec34e66f948 100644 (file)
@@ -2337,7 +2337,7 @@ static void timeout_index_operations_callback(struct vdo_completion *completion)
 
 static void timeout_index_operations(struct timer_list *t)
 {
-       struct hash_zone *zone = from_timer(zone, t, timer);
+       struct hash_zone *zone = timer_container_of(zone, t, timer);
 
        if (change_timer_state(zone, DEDUPE_QUERY_TIMER_RUNNING,
                               DEDUPE_QUERY_TIMER_FIRED))
index d6a04a57472d8067ef20b286587bb71939cb95f0..a428e1cacf07fbdb388d3eec8a892e5c049dbdb0 100644 (file)
@@ -706,7 +706,7 @@ static inline void writecache_verify_watermark(struct dm_writecache *wc)
 
 static void writecache_max_age_timer(struct timer_list *t)
 {
-       struct dm_writecache *wc = from_timer(wc, t, max_age_timer);
+       struct dm_writecache *wc = timer_container_of(wc, t, max_age_timer);
 
        if (!dm_suspended(wc->ti) && !writecache_has_error(wc)) {
                queue_work(wc->writeback_wq, &wc->writeback_work);
@@ -866,7 +866,7 @@ static void writecache_flush_work(struct work_struct *work)
 
 static void writecache_autocommit_timer(struct timer_list *t)
 {
-       struct dm_writecache *wc = from_timer(wc, t, autocommit_timer);
+       struct dm_writecache *wc = timer_container_of(wc, t, autocommit_timer);
 
        if (!writecache_has_error(wc))
                queue_work(wc->writeback_wq, &wc->flush_work);
index 09042b060086bc71cf72e036f22a6d4dd2e0dde7..0f03b21e66e45468d6cbcc014d339de3a100d885 100644 (file)
@@ -6048,7 +6048,7 @@ static int add_named_array(const char *val, const struct kernel_param *kp)
 
 static void md_safemode_timeout(struct timer_list *t)
 {
-       struct mddev *mddev = from_timer(mddev, t, safemode_timer);
+       struct mddev *mddev = timer_container_of(mddev, t, safemode_timer);
 
        mddev->safemode = 1;
        if (mddev->external)
index 2952678cce458dcae432f7fac702c1852e86cc8c..9d0362a75ecd5e6ef064c6449b70201f7ac05556 100644 (file)
@@ -153,7 +153,7 @@ void saa7146_buffer_next(struct saa7146_dev *dev,
 
 void saa7146_buffer_timeout(struct timer_list *t)
 {
-       struct saa7146_dmaqueue *q = from_timer(q, t, timeout);
+       struct saa7146_dmaqueue *q = timer_container_of(q, t, timeout);
        struct saa7146_dev *dev = q->dev;
        unsigned long flags;
 
index 6c324a683be9404841f57aa0ea6b5cf50fbeaefb..1ffcc025d1a46d68c2da3642723a9abe8adfac1e 100644 (file)
@@ -330,7 +330,7 @@ static void vbi_stop(struct saa7146_dev *dev)
 
 static void vbi_read_timeout(struct timer_list *t)
 {
-       struct saa7146_vv *vv = from_timer(vv, t, vbi_read_timeout);
+       struct saa7146_vv *vv = timer_container_of(vv, t, vbi_read_timeout);
        struct saa7146_dev *dev = vv->vbi_dmaq.dev;
 
        DEB_VBI("dev:%p\n", dev);
index 1e985f9439449e44f1b87584c74c010069f940fe..151177e5a06d8fa58385acf458c6ab04cbdae259 100644 (file)
@@ -352,7 +352,8 @@ static int dvb_dmxdev_set_buffer_size(struct dmxdev_filter *dmxdevfilter,
 
 static void dvb_dmxdev_filter_timeout(struct timer_list *t)
 {
-       struct dmxdev_filter *dmxdevfilter = from_timer(dmxdevfilter, t, timer);
+       struct dmxdev_filter *dmxdevfilter = timer_container_of(dmxdevfilter,
+                                                               t, timer);
 
        dmxdevfilter->buffer.error = -ETIMEDOUT;
        spin_lock_irq(&dmxdevfilter->dev->lock);
index dcef93e1a3bcdf2874844ba2a5128d94f1a651ae..3d6703b75bfa5418d0b8e84708136633fb49c00b 100644 (file)
@@ -1505,7 +1505,7 @@ static irqreturn_t tc358743_irq_handler(int irq, void *dev_id)
 
 static void tc358743_irq_poll_timer(struct timer_list *t)
 {
-       struct tc358743_state *state = from_timer(state, t, timer);
+       struct tc358743_state *state = timer_container_of(state, t, timer);
        unsigned int msecs;
 
        schedule_work(&state->work_i2c_poll);
index 42115118a0bdefc7103273eb00a227e565d35c49..6267e9ad39c01b9d2c673d8114de1f43b2ab7043 100644 (file)
@@ -318,7 +318,7 @@ static int chip_cmd(struct CHIPSTATE *chip, char *name, audiocmd *cmd)
 
 static void chip_thread_wake(struct timer_list *t)
 {
-       struct CHIPSTATE *chip = from_timer(chip, t, wt);
+       struct CHIPSTATE *chip = timer_container_of(chip, t, wt);
        wake_up_process(chip->thread);
 }
 
index 377a7e7f0499037fbaf8b2ef5c719888b1f39564..9ce67f5158434b9704c79fc3559f14e494ec0a7d 100644 (file)
@@ -2798,7 +2798,7 @@ bttv_irq_wakeup_vbi(struct bttv *btv, struct bttv_buffer *wakeup,
 
 static void bttv_irq_timeout(struct timer_list *t)
 {
-       struct bttv *btv = from_timer(btv, t, timeout);
+       struct bttv *btv = timer_container_of(btv, t, timeout);
        struct bttv_buffer_set old,new;
        struct bttv_buffer *ovbi;
        struct bttv_buffer *item;
index 9eb7a5356b4c821af5cc8be566fc14ae6b9cb6b7..84aa269248fd368a738670f49cdb62d8101f5a70 100644 (file)
@@ -126,7 +126,7 @@ void bttv_input_irq(struct bttv *btv)
 
 static void bttv_input_timer(struct timer_list *t)
 {
-       struct bttv_ir *ir = from_timer(ir, t, timer);
+       struct bttv_ir *ir = timer_container_of(ir, t, timer);
        struct bttv *btv = ir->btv;
 
        if (btv->c.type == BTTV_BOARD_ENLTV_FM_2)
@@ -182,7 +182,7 @@ static u32 bttv_rc5_decode(unsigned int code)
 
 static void bttv_rc5_timer_end(struct timer_list *t)
 {
-       struct bttv_ir *ir = from_timer(ir, t, timer);
+       struct bttv_ir *ir = timer_container_of(ir, t, timer);
        ktime_t tv;
        u32 gap, rc5, scancode;
        u8 toggle, command, system;
index 7e742733391b6f69870f16115768bc5c733da860..315577d71d95e7dd69b12f5e6fca493ff3ea1a98 100644 (file)
@@ -628,7 +628,7 @@ __poll_t cx18_v4l2_enc_poll(struct file *filp, poll_table *wait)
 
 void cx18_vb_timeout(struct timer_list *t)
 {
-       struct cx18_stream *s = from_timer(s, t, vb_timeout);
+       struct cx18_stream *s = timer_container_of(s, t, vb_timeout);
 
        /*
         * Return all of the buffers in error state, so the vbi/vid inode
index b3b670b6ef70ee223ae218f09a2b96d1d6d31346..748c14e879632ae6f62c3cc1981a168b01ed060d 100644 (file)
@@ -1064,7 +1064,7 @@ irqreturn_t ivtv_irq_handler(int irq, void *dev_id)
 
 void ivtv_unfinished_dma(struct timer_list *t)
 {
-       struct ivtv *itv = from_timer(itv, t, dma_timer);
+       struct ivtv *itv = timer_container_of(itv, t, dma_timer);
 
        if (!test_bit(IVTV_F_I_DMA, &itv->i_flags))
                return;
index 16338d13d9c8c8ca2fbb713c7f3ac49aad6cf463..9f2ac33cffa7ffd765319218e2739d58070b8f26 100644 (file)
@@ -637,7 +637,7 @@ static void netup_unidvb_queue_cleanup(struct netup_dma *dma)
 
 static void netup_unidvb_dma_timeout(struct timer_list *t)
 {
-       struct netup_dma *dma = from_timer(dma, t, timeout);
+       struct netup_dma *dma = timer_container_of(dma, t, timeout);
        struct netup_unidvb_dev *ndev = dma->ndev;
 
        dev_dbg(&ndev->pci_dev->dev, "%s()\n", __func__);
index 84295bdb8ce4e0d829bacddee05318a021716871..537aa65acdc8e081dd43d6e5403c3fbbd56dbbf7 100644 (file)
@@ -328,7 +328,7 @@ void saa7134_buffer_next(struct saa7134_dev *dev,
 
 void saa7134_buffer_timeout(struct timer_list *t)
 {
-       struct saa7134_dmaqueue *q = from_timer(q, t, timeout);
+       struct saa7134_dmaqueue *q = timer_container_of(q, t, timeout);
        struct saa7134_dev *dev = q->dev;
        unsigned long flags;
 
index d7d97c7d4a2b85e91dcf99ae268a2f45fb97b628..468dbe8d552f8241989abd3206ed2cdcff2391d2 100644 (file)
@@ -431,7 +431,7 @@ void saa7134_input_irq(struct saa7134_dev *dev)
 
 static void saa7134_input_timer(struct timer_list *t)
 {
-       struct saa7134_card_ir *ir = from_timer(ir, t, timer);
+       struct saa7134_card_ir *ir = timer_container_of(ir, t, timer);
        struct saa7134_dev *dev = ir->dev->priv;
 
        build_key(dev);
index 80bd268926cc6173fa7b9b711d4d07cb20d573fb..f39e0e34deb6847e722c91733a5c977d9fffde3d 100644 (file)
@@ -125,7 +125,7 @@ void tw686x_enable_channel(struct tw686x_dev *dev, unsigned int channel)
  */
 static void tw686x_dma_delay(struct timer_list *t)
 {
-       struct tw686x_dev *dev = from_timer(dev, t, dma_delay_timer);
+       struct tw686x_dev *dev = timer_container_of(dev, t, dma_delay_timer);
        unsigned long flags;
 
        spin_lock_irqsave(&dev->lock, flags);
index 9f89bd2620c70a09922e5b4117978f7b2d9225b3..73fdcd362265ad123b3633b832e40fd3ca70c227 100644 (file)
@@ -143,7 +143,7 @@ void s5p_mfc_cleanup_queue(struct list_head *lh, struct vb2_queue *vq)
 
 static void s5p_mfc_watchdog(struct timer_list *t)
 {
-       struct s5p_mfc_dev *dev = from_timer(dev, t, watchdog_timer);
+       struct s5p_mfc_dev *dev = timer_container_of(dev, t, watchdog_timer);
 
        if (test_bit(0, &dev->hw_lock))
                atomic_inc(&dev->watchdog_cnt);
index 87a817dda4a9cc7d7ab1bfd59792bd15a667c81f..602c37cbe177e2dfd6b66c1637c6646ef12abb10 100644 (file)
@@ -62,7 +62,7 @@ static int load_c8sectpfe_fw(struct c8sectpfei *fei);
 
 static void c8sectpfe_timer_interrupt(struct timer_list *t)
 {
-       struct c8sectpfei *fei = from_timer(fei, t, timer);
+       struct c8sectpfei *fei = timer_container_of(fei, t, timer);
        struct channel_info *channel;
        int chan_num;
 
index 2ddf1dfa05223877b43e344a036d6471e7528a90..5110754e1a31782b74d4c9dcbfa79642a532543a 100644 (file)
@@ -284,7 +284,7 @@ static bool cadet_has_rds_data(struct cadet *dev)
 
 static void cadet_handler(struct timer_list *t)
 {
-       struct cadet *dev = from_timer(dev, t, readtimer);
+       struct cadet *dev = timer_container_of(dev, t, readtimer);
 
        /* Service the RDS fifo */
        if (mutex_trylock(&dev->lock)) {
index 9435cba3f4d9028448d57f05d8227df16df24f85..d6c54a3bccc26d62156ca5cb1fcc897f2ded885e 100644 (file)
@@ -659,7 +659,7 @@ exit:
 /* timer to simulate tx done interrupt */
 static void ene_tx_irqsim(struct timer_list *t)
 {
-       struct ene_device *dev = from_timer(dev, t, tx_sim_timer);
+       struct ene_device *dev = timer_container_of(dev, t, tx_sim_timer);
        unsigned long flags;
 
        spin_lock_irqsave(&dev->hw_lock, flags);
index bfe86588c69be4ac4a7368f5df78dbe8d0665ad5..e034c93d57cf03221f420febb87d2470b63da7ea 100644 (file)
@@ -131,7 +131,7 @@ static void igorplugusb_cmd(struct igorplugusb *ir, int cmd)
 
 static void igorplugusb_timer(struct timer_list *t)
 {
-       struct igorplugusb *ir = from_timer(ir, t, timer);
+       struct igorplugusb *ir = timer_container_of(ir, t, timer);
 
        igorplugusb_cmd(ir, GET_INFRACODE);
 }
index da89ddf771c322ccaa1d248aafcfcfa15ab4d79f..63f6f5b36838d095406570e1d31d3c0e84e0a7eb 100644 (file)
@@ -865,7 +865,7 @@ static void img_ir_handle_data(struct img_ir_priv *priv, u32 len, u64 raw)
 /* timer function to end waiting for repeat. */
 static void img_ir_end_timer(struct timer_list *t)
 {
-       struct img_ir_priv *priv = from_timer(priv, t, hw.end_timer);
+       struct img_ir_priv *priv = timer_container_of(priv, t, hw.end_timer);
 
        spin_lock_irq(&priv->lock);
        img_ir_end_repeat(priv);
@@ -879,7 +879,8 @@ static void img_ir_end_timer(struct timer_list *t)
  */
 static void img_ir_suspend_timer(struct timer_list *t)
 {
-       struct img_ir_priv *priv = from_timer(priv, t, hw.suspend_timer);
+       struct img_ir_priv *priv = timer_container_of(priv, t,
+                                                     hw.suspend_timer);
 
        spin_lock_irq(&priv->lock);
        /*
index 669f3309e237f8ca9046159c07b8aa044b1fb97c..92fb7b555a0f65f2360a81f8a560eca8c3f4d75c 100644 (file)
@@ -65,7 +65,7 @@ void img_ir_isr_raw(struct img_ir_priv *priv, u32 irq_status)
  */
 static void img_ir_echo_timer(struct timer_list *t)
 {
-       struct img_ir_priv *priv = from_timer(priv, t, raw.timer);
+       struct img_ir_priv *priv = timer_container_of(priv, t, raw.timer);
 
        spin_lock_irq(&priv->lock);
 
index cb6f36ebe5c8e9bf8cf2003a5894c4da71fea443..f5221b01880813c8f15657a81662fad0774716a0 100644 (file)
@@ -1091,7 +1091,7 @@ static void usb_tx_callback(struct urb *urb)
  */
 static void imon_touch_display_timeout(struct timer_list *t)
 {
-       struct imon_context *ictx = from_timer(ictx, t, ttimer);
+       struct imon_context *ictx = timer_container_of(ictx, t, ttimer);
 
        if (ictx->display_type != IMON_DISPLAY_TYPE_VGA)
                return;
index 817030fb50c9560eb0bf57c3a6cbd2eb2127c0b3..bb2d7c37c263694fbbebb6d8bbd05a4384423239 100644 (file)
@@ -109,7 +109,8 @@ static unsigned char kbd_keycodes[256] = {
 
 static void mce_kbd_rx_timeout(struct timer_list *t)
 {
-       struct ir_raw_event_ctrl *raw = from_timer(raw, t, mce_kbd.rx_timeout);
+       struct ir_raw_event_ctrl *raw = timer_container_of(raw, t,
+                                                          mce_kbd.rx_timeout);
        unsigned char maskcode;
        unsigned long flags;
        int i;
index aa4ac43c66fa049275fc8a115687091497bbdb6a..5dafe11f61c6b170e813a9de9be08c0aed7d15c8 100644 (file)
@@ -552,7 +552,8 @@ EXPORT_SYMBOL(ir_raw_encode_scancode);
  */
 static void ir_raw_edge_handle(struct timer_list *t)
 {
-       struct ir_raw_event_ctrl *raw = from_timer(raw, t, edge_handle);
+       struct ir_raw_event_ctrl *raw = timer_container_of(raw, t,
+                                                          edge_handle);
        struct rc_dev *dev = raw->dev;
        unsigned long flags;
        ktime_t interval;
index e46358fb8ac0daf7dac768beccc30a4f71b67a76..b9bf5cdcde4ae3477f2da6a6eb4d9638cdfc2e6a 100644 (file)
@@ -674,7 +674,7 @@ EXPORT_SYMBOL_GPL(rc_keyup);
  */
 static void ir_timer_keyup(struct timer_list *t)
 {
-       struct rc_dev *dev = from_timer(dev, t, timer_keyup);
+       struct rc_dev *dev = timer_container_of(dev, t, timer_keyup);
        unsigned long flags;
 
        /*
@@ -703,7 +703,7 @@ static void ir_timer_keyup(struct timer_list *t)
  */
 static void ir_timer_repeat(struct timer_list *t)
 {
-       struct rc_dev *dev = from_timer(dev, t, timer_repeat);
+       struct rc_dev *dev = timer_container_of(dev, t, timer_repeat);
        struct input_dev *input = dev->input_dev;
        unsigned long flags;
 
index 3666f4452d119bda06dca8f44006978af61e7a9d..5d0447ff7d06ed2d6bde86ceabaef401ae74d809 100644 (file)
@@ -97,7 +97,7 @@ static void au0828_restart_dvb_streaming(struct work_struct *work);
 
 static void au0828_bulk_timeout(struct timer_list *t)
 {
-       struct au0828_dev *dev = from_timer(dev, t, bulk_timeout);
+       struct au0828_dev *dev = timer_container_of(dev, t, bulk_timeout);
 
        dprintk(1, "%s called\n", __func__);
        dev->bulk_timeout_running = 0;
index 33d1fad0f7b8b0773e977b1845f14763a5b475f8..e5dff969ed57e5c214bdc4b522ca8beabfa9c1e8 100644 (file)
@@ -948,7 +948,7 @@ int au0828_analog_unregister(struct au0828_dev *dev)
    such as tvtime from hanging) */
 static void au0828_vid_buffer_timeout(struct timer_list *t)
 {
-       struct au0828_dev *dev = from_timer(dev, t, vid_timeout);
+       struct au0828_dev *dev = timer_container_of(dev, t, vid_timeout);
        struct au0828_dmaqueue *dma_q = &dev->vidq;
        struct au0828_buffer *buf;
        unsigned char *vid_data;
@@ -972,7 +972,7 @@ static void au0828_vid_buffer_timeout(struct timer_list *t)
 
 static void au0828_vbi_buffer_timeout(struct timer_list *t)
 {
-       struct au0828_dev *dev = from_timer(dev, t, vbi_timeout);
+       struct au0828_dev *dev = timer_container_of(dev, t, vbi_timeout);
        struct au0828_dmaqueue *dma_q = &dev->vbiq;
        struct au0828_buffer *buf;
        unsigned char *vbi_data;
index e23b0de1e0aabb25b5a19f5b0defa178690d8096..f21c2806eb9fe3966e2c8ea01b4d965b5016a312 100644 (file)
@@ -3562,7 +3562,7 @@ struct hdw_timer {
 
 static void pvr2_ctl_timeout(struct timer_list *t)
 {
-       struct hdw_timer *timer = from_timer(timer, t, timer);
+       struct hdw_timer *timer = timer_container_of(timer, t, timer);
        struct pvr2_hdw *hdw = timer->hdw;
 
        if (hdw->ctl_write_pend_flag || hdw->ctl_read_pend_flag) {
@@ -4421,7 +4421,7 @@ static int state_eval_encoder_run(struct pvr2_hdw *hdw)
 /* Timeout function for quiescent timer. */
 static void pvr2_hdw_quiescent_timeout(struct timer_list *t)
 {
-       struct pvr2_hdw *hdw = from_timer(hdw, t, quiescent_timer);
+       struct pvr2_hdw *hdw = timer_container_of(hdw, t, quiescent_timer);
        hdw->state_decoder_quiescent = !0;
        trace_stbit("state_decoder_quiescent",hdw->state_decoder_quiescent);
        hdw->state_stale = !0;
@@ -4432,7 +4432,8 @@ static void pvr2_hdw_quiescent_timeout(struct timer_list *t)
 /* Timeout function for decoder stabilization timer. */
 static void pvr2_hdw_decoder_stabilization_timeout(struct timer_list *t)
 {
-       struct pvr2_hdw *hdw = from_timer(hdw, t, decoder_stabilization_timer);
+       struct pvr2_hdw *hdw = timer_container_of(hdw, t,
+                                                 decoder_stabilization_timer);
        hdw->state_decoder_ready = !0;
        trace_stbit("state_decoder_ready", hdw->state_decoder_ready);
        hdw->state_stale = !0;
@@ -4443,7 +4444,7 @@ static void pvr2_hdw_decoder_stabilization_timeout(struct timer_list *t)
 /* Timeout function for encoder wait timer. */
 static void pvr2_hdw_encoder_wait_timeout(struct timer_list *t)
 {
-       struct pvr2_hdw *hdw = from_timer(hdw, t, encoder_wait_timer);
+       struct pvr2_hdw *hdw = timer_container_of(hdw, t, encoder_wait_timer);
        hdw->state_encoder_waitok = !0;
        trace_stbit("state_encoder_waitok",hdw->state_encoder_waitok);
        hdw->state_stale = !0;
@@ -4454,7 +4455,7 @@ static void pvr2_hdw_encoder_wait_timeout(struct timer_list *t)
 /* Timeout function for encoder run timer. */
 static void pvr2_hdw_encoder_run_timeout(struct timer_list *t)
 {
-       struct pvr2_hdw *hdw = from_timer(hdw, t, encoder_run_timer);
+       struct pvr2_hdw *hdw = timer_container_of(hdw, t, encoder_run_timer);
        if (!hdw->state_encoder_runok) {
                hdw->state_encoder_runok = !0;
                trace_stbit("state_encoder_runok",hdw->state_encoder_runok);
index 899a7a67e2baf16012719006c7cbbf0504462608..8332f2c5aed7067035ef6475e0b3d528e7fc804f 100644 (file)
@@ -471,7 +471,7 @@ static void s2255_reset_dsppower(struct s2255_dev *dev)
  */
 static void s2255_timer(struct timer_list *t)
 {
-       struct s2255_dev *dev = from_timer(dev, t, timer);
+       struct s2255_dev *dev = timer_container_of(dev, t, timer);
        struct s2255_fw *data = dev->fw_data;
        if (usb_submit_urb(data->fw_urb, GFP_ATOMIC) < 0) {
                pr_err("s2255: can't submit urb\n");
index e63f6269057106ded054dea94d92d96cb9c13c06..e96ca4157d48182574310f8caf72687bed7cc16a 100644 (file)
@@ -558,7 +558,7 @@ tegra210_emc_table_register_offsets = {
 
 static void tegra210_emc_train(struct timer_list *timer)
 {
-       struct tegra210_emc *emc = from_timer(emc, timer, training);
+       struct tegra210_emc *emc = timer_container_of(emc, timer, training);
        unsigned long flags;
 
        if (!emc->last)
@@ -614,7 +614,8 @@ static unsigned int tegra210_emc_get_temperature(struct tegra210_emc *emc)
 
 static void tegra210_emc_poll_refresh(struct timer_list *timer)
 {
-       struct tegra210_emc *emc = from_timer(emc, timer, refresh_timer);
+       struct tegra210_emc *emc = timer_container_of(emc, timer,
+                                                     refresh_timer);
        unsigned int temperature;
 
        if (!emc->debugfs.temperature)
index 7dc2c9987982351c9bf04daf7ef0b71c2cd47b5d..d34892782f6e47e1a8bde3d5e77a3fbc4101078d 100644 (file)
@@ -1498,7 +1498,7 @@ static int msb_ftl_scan(struct msb_data *msb)
 
 static void msb_cache_flush_timer(struct timer_list *t)
 {
-       struct msb_data *msb = from_timer(msb, t, cache_flush_timer);
+       struct msb_data *msb = timer_container_of(msb, t, cache_flush_timer);
 
        msb->need_flush_cache = true;
        queue_work(msb->io_queue, &msb->io_work);
index a5a9bb3f16be9c4d53fe45ebb009015d62d49212..cddddb3a5a27f56d3a8c515c2ae6ae9e5f10733c 100644 (file)
@@ -590,7 +590,7 @@ static irqreturn_t jmb38x_ms_isr(int irq, void *dev_id)
 
 static void jmb38x_ms_abort(struct timer_list *t)
 {
-       struct jmb38x_ms_host *host = from_timer(host, t, timer);
+       struct jmb38x_ms_host *host = timer_container_of(host, t, timer);
        struct memstick_host *msh = host->msh;
        unsigned long flags;
 
index 488ef8eecb26c4319e0b251a0f42edb5b26b5da5..605b2265536fbc8d1b25fe8702cd4afbb0bdfe8a 100644 (file)
@@ -614,7 +614,7 @@ static void r592_update_card_detect(struct r592_device *dev)
 /* Timer routine that fires 1 second after last card detection event, */
 static void r592_detect_timer(struct timer_list *t)
 {
-       struct r592_device *dev = from_timer(dev, t, detect_timer);
+       struct r592_device *dev = timer_container_of(dev, t, detect_timer);
        r592_update_card_detect(dev);
        memstick_detect_change(dev->host);
 }
index 676348eee0150c54f874d2e5d5a4e606b261358d..db7f3a088fb093c12e354898acec329ea9cf2977 100644 (file)
@@ -535,7 +535,7 @@ static int tifm_ms_set_param(struct memstick_host *msh,
 
 static void tifm_ms_abort(struct timer_list *t)
 {
-       struct tifm_ms *host = from_timer(host, t, timer);
+       struct tifm_ms *host = timer_container_of(host, t, timer);
 
        dev_dbg(&host->dev->dev, "status %x\n",
                readl(host->dev->addr + SOCK_MS_STATUS));
index 44a2dd80054dc01ebc77fb7150966295d5572c7b..e6c42b772e966f03efab196779a9656c4a8953db 100644 (file)
@@ -43,7 +43,7 @@ struct bcm_vk_tty_chan {
 
 static void bcm_vk_tty_poll(struct timer_list *t)
 {
-       struct bcm_vk *vk = from_timer(vk, t, serial_timer);
+       struct bcm_vk *vk = timer_container_of(vk, t, serial_timer);
 
        queue_work(vk->tty_wq_thread, &vk->tty_wq_work);
        mod_timer(&vk->serial_timer, jiffies + SERIAL_TIMER_VALUE);
index 7314c8d9ae75a761728c6d06bf92aea22af79aa3..148107a4547c39badcb9a1de3f4271b126efaf1c 100644 (file)
@@ -31,7 +31,7 @@ static const struct mfd_cell rtsx_usb_cells[] = {
 
 static void rtsx_usb_sg_timed_out(struct timer_list *t)
 {
-       struct rtsx_ucr *ucr = from_timer(ucr, t, sg_timer);
+       struct rtsx_ucr *ucr = timer_container_of(ucr, t, sg_timer);
 
        dev_dbg(&ucr->pusb_intf->dev, "%s: sg transfer timed out", __func__);
        usb_sg_cancel(&ucr->current_sg);
index 697a008c14d39a98b56bbe19a063c32e6698f80c..9fe816bf3957af4500a7d37dd13ba24e72f8c04b 100644 (file)
@@ -164,7 +164,8 @@ struct xpc_arch_operations xpc_arch_ops;
 static void
 xpc_timeout_partition_disengage(struct timer_list *t)
 {
-       struct xpc_partition *part = from_timer(part, t, disengage_timer);
+       struct xpc_partition *part = timer_container_of(part, t,
+                                                       disengage_timer);
 
        DBUG_ON(time_is_after_jiffies(part->disengage_timeout));
 
index dacb5bd9bb714dd39e1cd883ed9eeadc79361f68..f14671ea571628be81c705f64520e1f01882e5be 100644 (file)
@@ -212,7 +212,7 @@ out:
 
 static void mmc_retune_timer(struct timer_list *t)
 {
-       struct mmc_host *host = from_timer(host, t, retune_timer);
+       struct mmc_host *host = timer_container_of(host, t, retune_timer);
 
        mmc_retune_needed(host);
 }
index 14e981b834b672c6eb3f27e0c82640bfaa3e2751..0e0666c0bb6ee835868572be8ef47a5b0579051a 100644 (file)
@@ -714,7 +714,7 @@ static inline unsigned int atmci_convert_chksize(struct atmel_mci *host,
 
 static void atmci_timeout_timer(struct timer_list *t)
 {
-       struct atmel_mci *host = from_timer(host, t, timer);
+       struct atmel_mci *host = timer_container_of(host, t, timer);
        struct device *dev = host->dev;
 
        dev_dbg(dev, "software timeout\n");
@@ -1652,7 +1652,8 @@ static void atmci_command_complete(struct atmel_mci *host,
 
 static void atmci_detect_change(struct timer_list *t)
 {
-       struct atmel_mci_slot   *slot = from_timer(slot, t, detect_timer);
+       struct atmel_mci_slot   *slot = timer_container_of(slot, t,
+                                                               detect_timer);
        bool                    present;
        bool                    present_old;
 
index 2bfcc47dcf3e4bc575a4421b809ebd60402d68be..988492237707882e2fef23cba1a8ad5a326394f9 100644 (file)
@@ -3179,7 +3179,7 @@ no_dma:
 
 static void dw_mci_cmd11_timer(struct timer_list *t)
 {
-       struct dw_mci *host = from_timer(host, t, cmd11_timer);
+       struct dw_mci *host = timer_container_of(host, t, cmd11_timer);
 
        if (host->state != STATE_SENDING_CMD11) {
                dev_warn(host->dev, "Unexpected CMD11 timeout\n");
@@ -3193,7 +3193,7 @@ static void dw_mci_cmd11_timer(struct timer_list *t)
 
 static void dw_mci_cto_timer(struct timer_list *t)
 {
-       struct dw_mci *host = from_timer(host, t, cto_timer);
+       struct dw_mci *host = timer_container_of(host, t, cto_timer);
        unsigned long irqflags;
        u32 pending;
 
@@ -3248,7 +3248,7 @@ exit:
 
 static void dw_mci_dto_timer(struct timer_list *t)
 {
-       struct dw_mci *host = from_timer(host, t, dto_timer);
+       struct dw_mci *host = timer_container_of(host, t, dto_timer);
        unsigned long irqflags;
        u32 pending;
 
index bd1662e275d490f63aeda733db93a9b882bea262..0fbbf57db52e39e51dbe2926d0b747b285ad9f69 100644 (file)
@@ -641,7 +641,8 @@ poll_timeout:
 
 static void jz4740_mmc_timeout(struct timer_list *t)
 {
-       struct jz4740_mmc_host *host = from_timer(host, t, timeout_timer);
+       struct jz4740_mmc_host *host = timer_container_of(host, t,
+                                                         timeout_timer);
 
        if (!test_and_clear_bit(0, &host->waiting))
                return;
index e0ae5a0c967042016faaa305fcd1d9b7e2ee1ae4..8a49c32fd3f9999bd1f2cdd1c953ff53c05c5e41 100644 (file)
@@ -467,7 +467,8 @@ static irqreturn_t meson_mx_mmc_irq_thread(int irq, void *irq_data)
 
 static void meson_mx_mmc_timeout(struct timer_list *t)
 {
-       struct meson_mx_mmc_host *host = from_timer(host, t, cmd_timeout);
+       struct meson_mx_mmc_host *host = timer_container_of(host, t,
+                                                           cmd_timeout);
        unsigned long irqflags;
        u32 irqc;
 
index 912ffacbad881aea91c6863da9d5b362056bceaf..101f36de7b63bd77a066dc862a778250239903e1 100644 (file)
@@ -509,7 +509,7 @@ static irqreturn_t mvsd_irq(int irq, void *dev)
 
 static void mvsd_timeout_timer(struct timer_list *t)
 {
-       struct mvsd_host *host = from_timer(host, t, timer);
+       struct mvsd_host *host = timer_container_of(host, t, timer);
        void __iomem *iobase = host->base;
        struct mmc_request *mrq;
        unsigned long flags;
index 95d8d40a06a86264a764e71c20dcb4456a084773..e588e24256cc87fe3026d6b4e21e02830f0f0f70 100644 (file)
@@ -955,7 +955,7 @@ static bool filter(struct dma_chan *chan, void *param)
 
 static void mxcmci_watchdog(struct timer_list *t)
 {
-       struct mxcmci_host *host = from_timer(host, t, watchdog);
+       struct mxcmci_host *host = timer_container_of(host, t, watchdog);
        struct mmc_request *req = host->req;
        unsigned int stat = mxcmci_readl(host, MMC_REG_STATUS);
 
index c50617d03709b6b958e051b93b8851e129930e88..c2be0f04439dc6d7ab95920c1be466afae491371 100644 (file)
@@ -639,7 +639,8 @@ static void mmc_omap_abort_command(struct work_struct *work)
 static void
 mmc_omap_cmd_timer(struct timer_list *t)
 {
-       struct mmc_omap_host *host = from_timer(host, t, cmd_abort_timer);
+       struct mmc_omap_host *host = timer_container_of(host, t,
+                                                       cmd_abort_timer);
        unsigned long flags;
 
        spin_lock_irqsave(&host->slot_lock, flags);
@@ -655,7 +656,7 @@ mmc_omap_cmd_timer(struct timer_list *t)
 static void
 mmc_omap_clk_timer(struct timer_list *t)
 {
-       struct mmc_omap_host *host = from_timer(host, t, clk_timer);
+       struct mmc_omap_host *host = timer_container_of(host, t, clk_timer);
 
        mmc_omap_fclk_enable(host, 0);
 }
@@ -879,7 +880,7 @@ void omap_mmc_notify_cover_event(struct device *dev, int num, int is_closed)
 
 static void mmc_omap_cover_timer(struct timer_list *t)
 {
-       struct mmc_omap_slot *slot = from_timer(slot, t, cover_timer);
+       struct mmc_omap_slot *slot = timer_container_of(slot, t, cover_timer);
        queue_work(system_bh_wq, &slot->cover_bh_work);
 }
 
index 32fa0b2bb912107fbb02fb579440148182475ea3..f008167d186387baeaac2682379532b7a9f31606 100644 (file)
@@ -3245,7 +3245,7 @@ static void sdhci_timeout_timer(struct timer_list *t)
        struct sdhci_host *host;
        unsigned long flags;
 
-       host = from_timer(host, t, timer);
+       host = timer_container_of(host, t, timer);
 
        spin_lock_irqsave(&host->lock, flags);
 
@@ -3267,7 +3267,7 @@ static void sdhci_timeout_data_timer(struct timer_list *t)
        struct sdhci_host *host;
        unsigned long flags;
 
-       host = from_timer(host, t, data_timer);
+       host = timer_container_of(host, t, data_timer);
 
        spin_lock_irqsave(&host->lock, flags);
 
index 713223f2d377071297356caca8addb3c7b192c51..5e5ec92f80e6c84c742fa49ba920d8d239a040d2 100644 (file)
@@ -777,7 +777,7 @@ static void tifm_sd_end_cmd(struct work_struct *t)
 
 static void tifm_sd_abort(struct timer_list *t)
 {
-       struct tifm_sd *host = from_timer(host, t, timer);
+       struct tifm_sd *host = timer_container_of(host, t, timer);
 
        pr_err("%s : card failed to respond for a long period of time "
               "(%x, %x)\n",
index 909d80a02824cae34ca9b925e8c09a4718132c25..9903966c2f5478c458a585f34d96464e0dec5078 100644 (file)
@@ -937,7 +937,7 @@ static void via_sdc_timeout(struct timer_list *t)
        struct via_crdr_mmc_host *sdhost;
        unsigned long flags;
 
-       sdhost = from_timer(sdhost, t, timer);
+       sdhost = timer_container_of(sdhost, t, timer);
 
        spin_lock_irqsave(&sdhost->lock, flags);
 
index dd71e5b8e1a5275f45a64a3c067cf34da06f55eb..f498fe11ecdf195d9f11af00f3809ab84aea91e2 100644 (file)
@@ -740,8 +740,8 @@ static void vub300_deadwork_thread(struct work_struct *work)
 
 static void vub300_inactivity_timer_expired(struct timer_list *t)
 {                              /* softirq */
-       struct vub300_mmc_host *vub300 = from_timer(vub300, t,
-                                                   inactivity_timer);
+       struct vub300_mmc_host *vub300 = timer_container_of(vub300, t,
+                                                           inactivity_timer);
        if (!vub300->interface) {
                kref_put(&vub300->kref, vub300_delete);
        } else if (vub300->cmd) {
@@ -1180,8 +1180,8 @@ static void send_command(struct vub300_mmc_host *vub300)
  */
 static void vub300_sg_timed_out(struct timer_list *t)
 {
-       struct vub300_mmc_host *vub300 = from_timer(vub300, t,
-                                                   sg_transfer_timer);
+       struct vub300_mmc_host *vub300 = timer_container_of(vub300, t,
+                                                           sg_transfer_timer);
        vub300->usb_timed_out = 1;
        usb_sg_cancel(&vub300->sg_request);
        usb_unlink_urb(vub300->command_out_urb);
index d5974b355a5a79d6147d1f644d863d557cbc1a53..2ae787d966de1975315262ea42064a14e2ff871a 100644 (file)
@@ -947,7 +947,7 @@ static const struct mmc_host_ops wbsd_ops = {
 
 static void wbsd_reset_ignore(struct timer_list *t)
 {
-       struct wbsd_host *host = from_timer(host, t, ignore_timer);
+       struct wbsd_host *host = timer_container_of(host, t, ignore_timer);
 
        BUG_ON(host == NULL);
 
index 2199ba821922b6f6e40046cfc869fe19d79854a2..cf5be9c449a55819e2807a26984b5726a779004a 100644 (file)
@@ -667,7 +667,7 @@ static void hdm_request_netinfo(struct most_interface *iface, int channel,
  */
 static void link_stat_timer_handler(struct timer_list *t)
 {
-       struct most_dev *mdev = from_timer(mdev, t, link_stat_timer);
+       struct most_dev *mdev = timer_container_of(mdev, t, link_stat_timer);
 
        schedule_work(&mdev->poll_work_obj);
        mdev->link_stat_timer.expires = jiffies + (2 * HZ);
index d28d4f1790f5715d507997b876fccfd80655ded5..abc7b186353ff8b3fddcaecb3561868b8888bcba 100644 (file)
@@ -993,7 +993,7 @@ restart:
 /* flush timer, runs a second after last write */
 static void sm_cache_flush_timer(struct timer_list *t)
 {
-       struct sm_ftl *ftl = from_timer(ftl, t, timer);
+       struct sm_ftl *ftl = timer_container_of(ftl, t, timer);
        queue_work(cache_flush_workqueue, &ftl->flush_work);
 }
 
index 602e6e1adf00a2a816b87a49396e517722186105..882972604c82db41754fba17a8028d9d4621057e 100644 (file)
@@ -382,7 +382,7 @@ static void arcdev_setup(struct net_device *dev)
 
 static void arcnet_timer(struct timer_list *t)
 {
-       struct arcnet_local *lp = from_timer(lp, t, timer);
+       struct arcnet_local *lp = timer_container_of(lp, t, timer);
        struct net_device *dev = lp->dev;
 
        spin_lock_irq(&lp->lock);
index adf3970f070fd57f34b9a17c49d85515619f9637..c5784d9779ef518ac253e66923ef542d52584373 100644 (file)
@@ -806,7 +806,7 @@ static irqreturn_t grcan_interrupt(int irq, void *dev_id)
  */
 static void grcan_running_reset(struct timer_list *t)
 {
-       struct grcan_priv *priv = from_timer(priv, t, rr_timer);
+       struct grcan_priv *priv = timer_container_of(priv, t, rr_timer);
        struct net_device *dev = priv->dev;
        struct grcan_registers __iomem *regs = priv->regs;
        unsigned long flags;
@@ -897,7 +897,7 @@ static inline void grcan_reset_timer(struct timer_list *timer, __u32 bitrate)
 /* Disable channels and schedule a running reset */
 static void grcan_initiate_running_reset(struct timer_list *t)
 {
-       struct grcan_priv *priv = from_timer(priv, t, hang_timer);
+       struct grcan_priv *priv = timer_container_of(priv, t, hang_timer);
        struct net_device *dev = priv->dev;
        struct grcan_registers __iomem *regs = priv->regs;
        unsigned long flags;
index 52301511ed1b0bbd71d0edd8ac6847c660496742..09510663988c7e7af4b9519c73140940d40b4236 100644 (file)
@@ -937,7 +937,8 @@ static int kvaser_pciefd_get_berr_counter(const struct net_device *ndev,
 
 static void kvaser_pciefd_bec_poll_timer(struct timer_list *data)
 {
-       struct kvaser_pciefd_can *can = from_timer(can, data, bec_poll_timer);
+       struct kvaser_pciefd_can *can = timer_container_of(can, data,
+                                                          bec_poll_timer);
 
        kvaser_pciefd_enable_err_gen(can);
        kvaser_pciefd_request_status(can);
index 6c7b1c58f85fa191ad59cf0d4f362aab50e52946..ce18e9e56059f7c97df5f952e24387b822c6a2bd 100644 (file)
@@ -374,7 +374,7 @@ static inline void pcan_set_can_power(struct pcan_pccard *card, int onoff)
  */
 static void pcan_led_timer(struct timer_list *t)
 {
-       struct pcan_pccard *card = from_timer(card, t, led_timer);
+       struct pcan_pccard *card = timer_container_of(card, t, led_timer);
        struct net_device *netdev;
        int i, up_count = 0;
        u8 ccr;
index c75df1755b3b9529c9231e107ad58778a5e734a9..6b293a9056c2d9a6600096ac79f2fb18f55ad46a 100644 (file)
@@ -319,7 +319,7 @@ static int pcan_usb_write_mode(struct peak_usb_device *dev, u8 onoff)
  */
 static void pcan_usb_restart(struct timer_list *t)
 {
-       struct pcan_usb *pdev = from_timer(pdev, t, restart_timer);
+       struct pcan_usb *pdev = timer_container_of(pdev, t, restart_timer);
        struct peak_usb_device *dev = &pdev->dev;
 
        /* notify candev and netdev */
index b6d249eb64e736d62073d91a2080bcb3bdd2e3c4..4e7827ee684a7209aa50850bdddf479b871edf7e 100644 (file)
@@ -182,7 +182,7 @@ static void mv88e6xxx_phy_ppu_reenable_work(struct work_struct *ugly)
 
 static void mv88e6xxx_phy_ppu_reenable_timer(struct timer_list *t)
 {
-       struct mv88e6xxx_chip *chip = from_timer(chip, t, ppu_timer);
+       struct mv88e6xxx_chip *chip = timer_container_of(chip, t, ppu_timer);
 
        schedule_work(&chip->ppu_work);
 }
index 5889759b8d8390f2e447e8d73c819bd54a0f4062..9ba10efd3794911eb5770d704f9f5417119163fb 100644 (file)
@@ -143,7 +143,7 @@ static void eql_kill_one_slave(slave_queue_t *queue, slave_t *slave);
 
 static void eql_timer(struct timer_list *t)
 {
-       equalizer_t *eql = from_timer(eql, t, timer);
+       equalizer_t *eql = timer_container_of(eql, t, timer);
        struct list_head *this, *tmp, *head;
 
        spin_lock(&eql->queue.lock);
index 8ba2ed87fe7c5904e675c106246e5ff6ebcfecde..ecdea58e6a21f838675ba7ddb5b9023f6befa731 100644 (file)
@@ -859,7 +859,7 @@ static int corkscrew_open(struct net_device *dev)
 static void corkscrew_timer(struct timer_list *t)
 {
 #ifdef AUTOMEDIA
-       struct corkscrew_private *vp = from_timer(vp, t, timer);
+       struct corkscrew_private *vp = timer_container_of(vp, t, timer);
        struct net_device *dev = vp->our_dev;
        int ioaddr = dev->base_addr;
        unsigned long flags;
index b295d528a2375a6ace3d433907502892133545a0..1f2070497a75b74d7e268efc55ae1d94e4883c70 100644 (file)
@@ -858,7 +858,7 @@ static irqreturn_t el3_interrupt(int irq, void *dev_id)
 */
 static void media_check(struct timer_list *t)
 {
-       struct el3_private *lp = from_timer(lp, t, media);
+       struct el3_private *lp = timer_container_of(lp, t, media);
        struct net_device *dev = lp->p_dev->priv;
        unsigned int ioaddr = dev->base_addr;
        unsigned long flags;
index ff331a3bde734672ad0aacea9fa2295d118b5d3b..ea49be43b8c3a8ce4a27edc21171fc08b54ac242 100644 (file)
@@ -685,7 +685,7 @@ static irqreturn_t el3_interrupt(int irq, void *dev_id)
 
 static void media_check(struct timer_list *t)
 {
-       struct el3_private *lp = from_timer(lp, t, media);
+       struct el3_private *lp = timer_container_of(lp, t, media);
        struct net_device *dev = lp->p_dev->priv;
        unsigned int ioaddr = dev->base_addr;
        u16 media, errs;
index 1a10f5dbc4d7e5bcdc20bffcd185ed256ee265e6..8c9cc97efd4eefbf2a110da48301526db0f143b1 100644 (file)
@@ -1783,7 +1783,7 @@ out:
 static void
 vortex_timer(struct timer_list *t)
 {
-       struct vortex_private *vp = from_timer(vp, t, timer);
+       struct vortex_private *vp = timer_container_of(vp, t, timer);
        struct net_device *dev = vp->mii.dev;
        void __iomem *ioaddr = vp->ioaddr;
        int next_tick = 60*HZ;
index e5be5044e1d4e82f5cce6302d327f8ffb4f05444..7c8213011b5cfe78c682d0f5b7b2d2959a469f1c 100644 (file)
@@ -550,7 +550,7 @@ static irqreturn_t ei_irq_wrapper(int irq, void *dev_id)
 
 static void ei_watchdog(struct timer_list *t)
 {
-    struct axnet_dev *info = from_timer(info, t, watchdog);
+    struct axnet_dev *info = timer_container_of(info, t, watchdog);
     struct net_device *dev = info->p_dev->priv;
     unsigned int nic_base = dev->base_addr;
     unsigned int mii_addr = nic_base + AXNET_MII_EEP;
index a326f25dda09d92d5baddc6264209c29ca241633..19f9c5db3f3ba797e418394ec57a7a23b5947aef 100644 (file)
@@ -1018,7 +1018,7 @@ static irqreturn_t ei_irq_wrapper(int irq, void *dev_id)
 
 static void ei_watchdog(struct timer_list *t)
 {
-    struct pcnet_dev *info = from_timer(info, t, watchdog);
+    struct pcnet_dev *info = timer_container_of(info, t, watchdog);
     struct net_device *dev = info->p_dev->priv;
     unsigned int nic_base = dev->base_addr;
     unsigned int mii_addr = nic_base + DLINK_GPIO;
index b398adacda915e3844dc91f8610a2bd08f5c8e6c..678eddb3617294511c2246f992a2dc71e73fc1d9 100644 (file)
@@ -3076,7 +3076,8 @@ err_out:
  */
 static void et131x_error_timer_handler(struct timer_list *t)
 {
-       struct et131x_adapter *adapter = from_timer(adapter, t, error_timer);
+       struct et131x_adapter *adapter = timer_container_of(adapter, t,
+                                                           error_timer);
        struct phy_device *phydev = adapter->netdev->phydev;
 
        if (et1310_in_phy_coma(adapter)) {
index 7d9ee9867a400e78ba9c46d808c00de10101c4c1..86fd08f375df1ceeeb54f06f58d1aedae2917649 100644 (file)
@@ -3667,7 +3667,8 @@ static void ena_update_host_info(struct ena_admin_host_info *host_info,
 
 static void ena_timer_service(struct timer_list *t)
 {
-       struct ena_adapter *adapter = from_timer(adapter, t, timer_service);
+       struct ena_adapter *adapter = timer_container_of(adapter, t,
+                                                        timer_service);
        u8 *debug_area = adapter->ena_dev->host_attr.debug_area_virt_addr;
        struct ena_admin_host_info *host_info =
                adapter->ena_dev->host_attr.host_info;
index b923ad9e15819f55aa6f86c57d96c903d0518ff3..ce94454250453bf6ad956b7769cdef6cabaef162 100644 (file)
@@ -636,7 +636,7 @@ static void lance_set_multicast(struct net_device *dev)
 
 static void lance_set_multicast_retry(struct timer_list *t)
 {
-       struct lance_private *lp = from_timer(lp, t, multicast_timer);
+       struct lance_private *lp = timer_container_of(lp, t, multicast_timer);
 
        lance_set_multicast(lp->dev);
 }
index 86522e8574cb8d8c69fc63f18b992c01395c6d92..76e8c13d59857cfaf79f32760aa13ce782d1ab3d 100644 (file)
@@ -1641,7 +1641,8 @@ static int __maybe_unused amd8111e_resume(struct device *dev_d)
 
 static void amd8111e_config_ipg(struct timer_list *t)
 {
-       struct amd8111e_priv *lp = from_timer(lp, t, ipg_data.ipg_timer);
+       struct amd8111e_priv *lp = timer_container_of(lp, t,
+                                                     ipg_data.ipg_timer);
        struct ipg_info *ipg_data = &lp->ipg_data;
        void __iomem *mmio = lp->mmio;
        unsigned int prev_col_cnt = ipg_data->col_cnt;
index b072ca5930fca071a83ec83871f1a11ffcd19334..8d05a0c5f2d5d1870ee2970d34f44b6a9550fd0d 100644 (file)
@@ -1004,7 +1004,7 @@ static void lance_set_multicast(struct net_device *dev)
 
 static void lance_set_multicast_retry(struct timer_list *t)
 {
-       struct lance_private *lp = from_timer(lp, t, multicast_timer);
+       struct lance_private *lp = timer_container_of(lp, t, multicast_timer);
        struct net_device *dev = lp->dev;
 
        lance_set_multicast(dev);
index e5adafecc686fe855ebcab440bf95f65ab9f2400..9eaefa0f5e80c5af308fe6a1b39b992b12353b12 100644 (file)
@@ -2905,7 +2905,7 @@ static void pcnet32_check_media(struct net_device *dev, int verbose)
 
 static void pcnet32_watchdog(struct timer_list *t)
 {
-       struct pcnet32_private *lp = from_timer(lp, t, watchdog_timer);
+       struct pcnet32_private *lp = timer_container_of(lp, t, watchdog_timer);
        struct net_device *dev = lp->dev;
        unsigned long flags;
 
index 4843f9249a31d7cdd35720c93792d839ca3d92f9..9b81e1c260c2fc56972c2a747d43da177e53f873 100644 (file)
@@ -23,7 +23,7 @@ MODULE_DEVICE_TABLE(pci, pdsc_id_table);
 
 static void pdsc_wdtimer_cb(struct timer_list *t)
 {
-       struct pdsc *pdsc = from_timer(pdsc, t, wdtimer);
+       struct pdsc *pdsc = timer_container_of(pdsc, t, wdtimer);
 
        dev_dbg(pdsc->dev, "%s: jiffies %ld\n", __func__, jiffies);
        mod_timer(&pdsc->wdtimer,
index 3cd31855a5f6c3c9504a54cc3d23b068c3794516..0b273327f5a61388f20794b4303ebd908e23f4ae 100644 (file)
@@ -1246,7 +1246,7 @@ static void lance_set_multicast(struct net_device *dev)
 
 static void lance_set_multicast_retry(struct timer_list *t)
 {
-       struct lance_private *lp = from_timer(lp, t, multicast_timer);
+       struct lance_private *lp = timer_container_of(lp, t, multicast_timer);
        struct net_device *dev = lp->dev;
 
        lance_set_multicast(dev);
index 76c328721fcd5a9f7ee015f5573ee8ae12f9eb21..65447f9a0a59d90babede08da8655c769891ff63 100644 (file)
@@ -534,7 +534,8 @@ static irqreturn_t xgbe_dma_isr(int irq, void *data)
 
 static void xgbe_tx_timer(struct timer_list *t)
 {
-       struct xgbe_channel *channel = from_timer(channel, t, tx_timer);
+       struct xgbe_channel *channel = timer_container_of(channel, t,
+                                                         tx_timer);
        struct xgbe_prv_data *pdata = channel->pdata;
        struct napi_struct *napi;
 
@@ -572,7 +573,8 @@ static void xgbe_service(struct work_struct *work)
 
 static void xgbe_service_timer(struct timer_list *t)
 {
-       struct xgbe_prv_data *pdata = from_timer(pdata, t, service_timer);
+       struct xgbe_prv_data *pdata = timer_container_of(pdata, t,
+                                                        service_timer);
        struct xgbe_channel *channel;
        unsigned int i;
 
index b50052c25a916150eb73160b1e0a2023878b94cf..b3bf8d6f88e84af93b845f524b5e0e01d5ad217f 100644 (file)
@@ -1410,7 +1410,7 @@ bmac_output(struct sk_buff *skb, struct net_device *dev)
 
 static void bmac_tx_timeout(struct timer_list *t)
 {
-       struct bmac_data *bp = from_timer(bp, t, tx_timeout);
+       struct bmac_data *bp = timer_container_of(bp, t, tx_timeout);
        struct net_device *dev = macio_get_drvdata(bp->mdev);
        volatile struct dbdma_regs __iomem *td = bp->tx_dma;
        volatile struct dbdma_regs __iomem *rd = bp->rx_dma;
index 1fed112f4e6841780ee00ac03ff455ba8ce45b30..af26905e44e3a9c004c2aecd1f608746ccf5cb27 100644 (file)
@@ -805,7 +805,7 @@ static irqreturn_t mace_interrupt(int irq, void *dev_id)
 
 static void mace_tx_timeout(struct timer_list *t)
 {
-    struct mace_data *mp = from_timer(mp, t, tx_timeout);
+    struct mace_data *mp = timer_container_of(mp, t, tx_timeout);
     struct net_device *dev = macio_get_drvdata(mp->mdev);
     volatile struct mace __iomem *mb = mp->mace;
     volatile struct dbdma_regs __iomem *td = mp->tx_dma;
index e71cd10e4e1f14f3dfcc612b7d32a25f221d6e9b..b24eaa5283fa195c0ebccc32c07a2cf8abb0d975 100644 (file)
@@ -254,7 +254,7 @@ static void aq_nic_service_task(struct work_struct *work)
 
 static void aq_nic_service_timer_cb(struct timer_list *t)
 {
-       struct aq_nic_s *self = from_timer(self, t, service_timer);
+       struct aq_nic_s *self = timer_container_of(self, t, service_timer);
 
        mod_timer(&self->service_timer,
                  jiffies + AQ_CFG_SERVICE_TIMER_INTERVAL);
@@ -264,7 +264,7 @@ static void aq_nic_service_timer_cb(struct timer_list *t)
 
 static void aq_nic_polling_timer_cb(struct timer_list *t)
 {
-       struct aq_nic_s *self = from_timer(self, t, polling_timer);
+       struct aq_nic_s *self = timer_container_of(self, t, polling_timer);
        unsigned int i = 0U;
 
        for (i = 0U; self->aq_vecs > i; ++i)
index 67b654889caed0b4d0ea685181edbd72eca6d2ea..d8e6f23e143201618f0a54f265b68f3aa3edfd48 100644 (file)
@@ -1563,7 +1563,7 @@ err_drop:
 
 static void ag71xx_oom_timer_handler(struct timer_list *t)
 {
-       struct ag71xx *ag = from_timer(ag, t, oom_timer);
+       struct ag71xx *ag = timer_container_of(ag, t, oom_timer);
 
        napi_schedule(&ag->napi);
 }
index 82137f9deae94d6b499c3363b9a1f4c3a205992c..ef1a51347351bc734afd7ec9a5a3c23907bcc274 100644 (file)
@@ -231,8 +231,8 @@ static u32 atl1c_wait_until_idle(struct atl1c_hw *hw, u32 modu_ctrl)
  */
 static void atl1c_phy_config(struct timer_list *t)
 {
-       struct atl1c_adapter *adapter = from_timer(adapter, t,
-                                                  phy_config_timer);
+       struct atl1c_adapter *adapter = timer_container_of(adapter, t,
+                                                          phy_config_timer);
        struct atl1c_hw *hw = &adapter->hw;
        unsigned long flags;
 
index f664a0edbc49000fa7514f13564a893af3cabdb6..40290028580ba34463ec43353d83e3af337332d0 100644 (file)
@@ -115,8 +115,8 @@ static inline void atl1e_irq_reset(struct atl1e_adapter *adapter)
  */
 static void atl1e_phy_config(struct timer_list *t)
 {
-       struct atl1e_adapter *adapter = from_timer(adapter, t,
-                                                  phy_config_timer);
+       struct atl1e_adapter *adapter = timer_container_of(adapter, t,
+                                                          phy_config_timer);
        struct atl1e_hw *hw = &adapter->hw;
        unsigned long flags;
 
index 38cd84b7677cfd2b03c68bcd8ac853f64b8ccd3f..cfdb546a09e7c156faf93fe66ec808a7addb81d1 100644 (file)
@@ -2556,8 +2556,8 @@ static irqreturn_t atl1_intr(int irq, void *data)
  */
 static void atl1_phy_config(struct timer_list *t)
 {
-       struct atl1_adapter *adapter = from_timer(adapter, t,
-                                                 phy_config_timer);
+       struct atl1_adapter *adapter = timer_container_of(adapter, t,
+                                                         phy_config_timer);
        struct atl1_hw *hw = &adapter->hw;
        unsigned long flags;
 
index 88f65f8cf4d3499e8f66b311d2a8611d28dbd973..280e2f5f4aa54ccc05818f981d652297cccd7577 100644 (file)
@@ -1010,7 +1010,8 @@ static void atl2_tx_timeout(struct net_device *netdev, unsigned int txqueue)
  */
 static void atl2_watchdog(struct timer_list *t)
 {
-       struct atl2_adapter *adapter = from_timer(adapter, t, watchdog_timer);
+       struct atl2_adapter *adapter = timer_container_of(adapter, t,
+                                                         watchdog_timer);
 
        if (!test_bit(__ATL2_DOWN, &adapter->flags)) {
                u32 drop_rxd, drop_rxs;
@@ -1035,8 +1036,8 @@ static void atl2_watchdog(struct timer_list *t)
  */
 static void atl2_phy_config(struct timer_list *t)
 {
-       struct atl2_adapter *adapter = from_timer(adapter, t,
-                                                 phy_config_timer);
+       struct atl2_adapter *adapter = timer_container_of(adapter, t,
+                                                         phy_config_timer);
        struct atl2_hw *hw = &adapter->hw;
        unsigned long flags;
 
index c91884373429a92f4109e1e8d52c466d53b2f2f0..8267417b3750a39f563f97ed79199a8adcc0a959 100644 (file)
@@ -575,7 +575,7 @@ static void b44_check_phy(struct b44 *bp)
 
 static void b44_timer(struct timer_list *t)
 {
-       struct b44 *bp = from_timer(bp, t, timer);
+       struct b44 *bp = timer_container_of(bp, t, timer);
 
        spin_lock_irq(&bp->lock);
 
index 19611bdd86e65eedac29b1a2689d7000266cf7c3..92204fea1f08b6fc8e5b79ca2626db7b978907ff 100644 (file)
@@ -286,7 +286,7 @@ static int bcm_enet_refill_rx(struct net_device *dev, bool napi_mode)
  */
 static void bcm_enet_refill_rx_timer(struct timer_list *t)
 {
-       struct bcm_enet_priv *priv = from_timer(priv, t, rx_timeout);
+       struct bcm_enet_priv *priv = timer_container_of(priv, t, rx_timeout);
        struct net_device *dev = priv->net_dev;
 
        spin_lock(&priv->rx_lock);
@@ -2001,7 +2001,7 @@ static inline int bcm_enet_port_is_rgmii(int portid)
  */
 static void swphy_poll_timer(struct timer_list *t)
 {
-       struct bcm_enet_priv *priv = from_timer(priv, t, swphy_poll);
+       struct bcm_enet_priv *priv = timer_container_of(priv, t, swphy_poll);
        unsigned int i;
 
        for (i = 0; i < priv->num_ports; i++) {
index ec0c9584f3bbfb5e1b0705ef86c02cf12f3f8efc..cb1011f6fd30729e5041ab3368269d337695d3b7 100644 (file)
@@ -6163,7 +6163,7 @@ bnx2_5708_serdes_timer(struct bnx2 *bp)
 static void
 bnx2_timer(struct timer_list *t)
 {
-       struct bnx2 *bp = from_timer(bp, t, timer);
+       struct bnx2 *bp = timer_container_of(bp, t, timer);
 
        if (!netif_running(bp->dev))
                return;
index f522ca8ff66bb49fd141389e273de16c3fa5e359..c9a1a1d504c0f3ebad4197b42ea30f3db76864dc 100644 (file)
@@ -5783,7 +5783,7 @@ void bnx2x_drv_pulse(struct bnx2x *bp)
 
 static void bnx2x_timer(struct timer_list *t)
 {
-       struct bnx2x *bp = from_timer(bp, t, timer);
+       struct bnx2x *bp = timer_container_of(bp, t, timer);
 
        if (!netif_running(bp->dev))
                return;
index d5495762c945b6b24db92779799714a7d82bcb3c..869580b6f70ddf10f0f9b92c69c435b00bcec895 100644 (file)
@@ -13995,7 +13995,7 @@ fw_reset:
 
 static void bnxt_timer(struct timer_list *t)
 {
-       struct bnxt *bp = from_timer(bp, t, timer);
+       struct bnxt *bp = timer_container_of(bp, t, timer);
        struct net_device *dev = bp->dev;
 
        if (!netif_running(dev) || !test_bit(BNXT_STATE_OPEN, &bp->state))
index ff47e96b912485c252e3bc54a3b5cf5c8aa4dfd5..91104cc2c2385d43564f992a588b3fc5ed5846fa 100644 (file)
@@ -11062,7 +11062,7 @@ static void tg3_chk_missed_msi(struct tg3 *tp)
 
 static void tg3_timer(struct timer_list *t)
 {
-       struct tg3 *tp = from_timer(tp, t, timer);
+       struct tg3 *tp = timer_container_of(tp, t, timer);
 
        spin_lock(&tp->lock);
 
index 50eb54ecf1bad00938b458e33650008689e70130..9bed332958394fe56d62f68f6abc3fae39fe24fc 100644 (file)
@@ -1688,7 +1688,8 @@ err_return:
 static void
 bnad_ioc_timeout(struct timer_list *t)
 {
-       struct bnad *bnad = from_timer(bnad, t, bna.ioceth.ioc.ioc_timer);
+       struct bnad *bnad = timer_container_of(bnad, t,
+                                              bna.ioceth.ioc.ioc_timer);
        unsigned long flags;
 
        spin_lock_irqsave(&bnad->bna_lock, flags);
@@ -1699,7 +1700,8 @@ bnad_ioc_timeout(struct timer_list *t)
 static void
 bnad_ioc_hb_check(struct timer_list *t)
 {
-       struct bnad *bnad = from_timer(bnad, t, bna.ioceth.ioc.hb_timer);
+       struct bnad *bnad = timer_container_of(bnad, t,
+                                              bna.ioceth.ioc.hb_timer);
        unsigned long flags;
 
        spin_lock_irqsave(&bnad->bna_lock, flags);
@@ -1710,7 +1712,8 @@ bnad_ioc_hb_check(struct timer_list *t)
 static void
 bnad_iocpf_timeout(struct timer_list *t)
 {
-       struct bnad *bnad = from_timer(bnad, t, bna.ioceth.ioc.iocpf_timer);
+       struct bnad *bnad = timer_container_of(bnad, t,
+                                              bna.ioceth.ioc.iocpf_timer);
        unsigned long flags;
 
        spin_lock_irqsave(&bnad->bna_lock, flags);
@@ -1721,7 +1724,8 @@ bnad_iocpf_timeout(struct timer_list *t)
 static void
 bnad_iocpf_sem_timeout(struct timer_list *t)
 {
-       struct bnad *bnad = from_timer(bnad, t, bna.ioceth.ioc.sem_timer);
+       struct bnad *bnad = timer_container_of(bnad, t,
+                                              bna.ioceth.ioc.sem_timer);
        unsigned long flags;
 
        spin_lock_irqsave(&bnad->bna_lock, flags);
@@ -1743,7 +1747,7 @@ bnad_iocpf_sem_timeout(struct timer_list *t)
 static void
 bnad_dim_timeout(struct timer_list *t)
 {
-       struct bnad *bnad = from_timer(bnad, t, dim_timer);
+       struct bnad *bnad = timer_container_of(bnad, t, dim_timer);
        struct bnad_rx_info *rx_info;
        struct bnad_rx_ctrl *rx_ctrl;
        int i, j;
@@ -1776,7 +1780,7 @@ bnad_dim_timeout(struct timer_list *t)
 static void
 bnad_stats_timeout(struct timer_list *t)
 {
-       struct bnad *bnad = from_timer(bnad, t, stats_timer);
+       struct bnad *bnad = timer_container_of(bnad, t, stats_timer);
        unsigned long flags;
 
        if (!netif_running(bnad->netdev) ||
index a10923c7e25cf27ecbc06f584b29ad7d247660fc..5f354cf62cdddd377753ddd2a4fab56102447312 100644 (file)
@@ -1922,7 +1922,7 @@ send:
 static void sge_tx_reclaim_cb(struct timer_list *t)
 {
        int i;
-       struct sge *sge = from_timer(sge, t, tx_reclaim_timer);
+       struct sge *sge = timer_container_of(sge, t, tx_reclaim_timer);
 
        for (i = 0; i < SGE_CMDQ_N; ++i) {
                struct cmdQ *q = &sge->cmdQ[i];
@@ -2017,7 +2017,7 @@ void t1_sge_start(struct sge *sge)
  */
 static void espibug_workaround_t204(struct timer_list *t)
 {
-       struct sge *sge = from_timer(sge, t, espibug_timer);
+       struct sge *sge = timer_container_of(sge, t, espibug_timer);
        struct adapter *adapter = sge->adapter;
        unsigned int nports = adapter->params.nports;
        u32 seop[MAX_NPORTS];
@@ -2060,7 +2060,7 @@ static void espibug_workaround_t204(struct timer_list *t)
 
 static void espibug_workaround(struct timer_list *t)
 {
-       struct sge *sge = from_timer(sge, t, espibug_timer);
+       struct sge *sge = timer_container_of(sge, t, espibug_timer);
        struct adapter *adapter = sge->adapter;
 
        if (netif_running(adapter->port[0].dev)) {
index bd5c3b3fa5e38f3332c00b0edb1d6ba963383438..b59735d0e065fc6ec8b2ba1927d6b911bb0a5d61 100644 (file)
@@ -2906,7 +2906,7 @@ void t3_sge_err_intr_handler(struct adapter *adapter)
  */
 static void sge_timer_tx(struct timer_list *t)
 {
-       struct sge_qset *qs = from_timer(qs, t, tx_reclaim_timer);
+       struct sge_qset *qs = timer_container_of(qs, t, tx_reclaim_timer);
        struct port_info *pi = netdev_priv(qs->netdev);
        struct adapter *adap = pi->adapter;
        unsigned int tbd[SGE_TXQ_PER_SET] = {0, 0};
@@ -2947,7 +2947,7 @@ static void sge_timer_tx(struct timer_list *t)
 static void sge_timer_rx(struct timer_list *t)
 {
        spinlock_t *lock;
-       struct sge_qset *qs = from_timer(qs, t, rx_reclaim_timer);
+       struct sge_qset *qs = timer_container_of(qs, t, rx_reclaim_timer);
        struct port_info *pi = netdev_priv(qs->netdev);
        struct adapter *adap = pi->adapter;
        u32 status;
index 69d045d769c4b03fecddb4d5c43e469e95b47836..0765d000eaef08c5082a0d0a945d26679f2d97cc 100644 (file)
@@ -1051,7 +1051,7 @@ static void ch_flower_stats_handler(struct work_struct *work)
 
 static void ch_flower_stats_cb(struct timer_list *t)
 {
-       struct adapter *adap = from_timer(adap, t, flower_stats_timer);
+       struct adapter *adap = timer_container_of(adap, t, flower_stats_timer);
 
        schedule_work(&adap->flower_stats_work);
 }
index f2d533acb056fcb4df5545b479771930c3eea8dd..64402e3646b3c440b4e4e57ba3f846dc0aebb1b7 100644 (file)
@@ -4234,7 +4234,7 @@ static void sge_rx_timer_cb(struct timer_list *t)
 {
        unsigned long m;
        unsigned int i;
-       struct adapter *adap = from_timer(adap, t, sge.rx_timer);
+       struct adapter *adap = timer_container_of(adap, t, sge.rx_timer);
        struct sge *s = &adap->sge;
 
        for (i = 0; i < BITS_TO_LONGS(s->egr_sz); i++)
@@ -4269,7 +4269,7 @@ done:
 
 static void sge_tx_timer_cb(struct timer_list *t)
 {
-       struct adapter *adap = from_timer(adap, t, sge.tx_timer);
+       struct adapter *adap = timer_container_of(adap, t, sge.tx_timer);
        struct sge *s = &adap->sge;
        unsigned long m, period;
        unsigned int i, budget;
index f42af01f41140af3839bfd70a2144549d2d709c2..4e6ecb9c8dccf055ca81c9c3db2e8d0a8588c175 100644 (file)
@@ -2062,7 +2062,7 @@ irq_handler_t t4vf_intr_handler(struct adapter *adapter)
  */
 static void sge_rx_timer_cb(struct timer_list *t)
 {
-       struct adapter *adapter = from_timer(adapter, t, sge.rx_timer);
+       struct adapter *adapter = timer_container_of(adapter, t, sge.rx_timer);
        struct sge *s = &adapter->sge;
        unsigned int i;
 
@@ -2121,7 +2121,7 @@ static void sge_rx_timer_cb(struct timer_list *t)
  */
 static void sge_tx_timer_cb(struct timer_list *t)
 {
-       struct adapter *adapter = from_timer(adapter, t, sge.tx_timer);
+       struct adapter *adapter = timer_container_of(adapter, t, sge.tx_timer);
        struct sge *s = &adapter->sge;
        unsigned int i, budget;
 
index 9900993b6aea66ea6abef2b05425af0a8bafa838..837f954873eef623afd68e57ab192a31910b18e9 100644 (file)
@@ -125,7 +125,7 @@ struct enic_rfs_fltr_node *htbl_fltr_search(struct enic *enic, u16 fltr_id)
 #ifdef CONFIG_RFS_ACCEL
 void enic_flow_may_expire(struct timer_list *t)
 {
-       struct enic *enic = from_timer(enic, t, rfs_h.rfs_may_expire);
+       struct enic *enic = timer_container_of(enic, t, rfs_h.rfs_may_expire);
        bool res;
        int j;
 
index 6ef8a0d90bce38781d931f62518cf9bafb223288..773f5ad972a249ac78df08d2e6164ba683ba8ca5 100644 (file)
@@ -1510,7 +1510,7 @@ static int enic_poll_msix_rq(struct napi_struct *napi, int budget)
 
 static void enic_notify_timer(struct timer_list *t)
 {
-       struct enic *enic = from_timer(enic, t, notify_timer);
+       struct enic *enic = timer_container_of(enic, t, notify_timer);
 
        enic_notify_check(enic);
 
index f9339d0772b5803d9b71c33c841e23f40f9cafe5..f9504f340c4aead1cbcf6c11231ac1950882531a 100644 (file)
@@ -963,7 +963,7 @@ static void de_next_media (struct de_private *de, const u32 *media,
 
 static void de21040_media_timer (struct timer_list *t)
 {
-       struct de_private *de = from_timer(de, t, media_timer);
+       struct de_private *de = timer_container_of(de, t, media_timer);
        struct net_device *dev = de->dev;
        u32 status = dr32(SIAStatus);
        unsigned int carrier;
@@ -1044,7 +1044,7 @@ static unsigned int de_ok_to_advertise (struct de_private *de, u32 new_media)
 
 static void de21041_media_timer (struct timer_list *t)
 {
-       struct de_private *de = from_timer(de, t, media_timer);
+       struct de_private *de = timer_container_of(de, t, media_timer);
        struct net_device *dev = de->dev;
        u32 status = dr32(SIAStatus);
        unsigned int carrier;
index ae34b95ed676bb2303a9d9d095b9d4fa323168be..2d3bd343b6e63be20e6fa98699166b94fe6789b0 100644 (file)
@@ -1115,7 +1115,7 @@ static const struct ethtool_ops netdev_ethtool_ops = {
 
 static void dmfe_timer(struct timer_list *t)
 {
-       struct dmfe_board_info *db = from_timer(db, t, timer);
+       struct dmfe_board_info *db = timer_container_of(db, t, timer);
        struct net_device *dev = pci_get_drvdata(db->pdev);
        void __iomem *ioaddr = db->ioaddr;
        u32 tmp_cr8;
index 2d926a26fbb9332c0c1dcab4b89d0367b5ff5e6d..0a12cb9b3ba78491999bb90471b0984e92c90e8d 100644 (file)
@@ -104,7 +104,7 @@ int tulip_refill_rx(struct net_device *dev)
 
 void oom_timer(struct timer_list *t)
 {
-       struct tulip_private *tp = from_timer(tp, t, oom_timer);
+       struct tulip_private *tp = timer_container_of(tp, t, oom_timer);
 
        napi_schedule(&tp->napi);
 }
index 653bde48ef444b55d3ecfed2dc7e712898804b6a..1de5ed967070dd424054344d4233c1fd7ede7c81 100644 (file)
@@ -86,7 +86,7 @@ void pnic_lnk_change(struct net_device *dev, int csr5)
 
 void pnic_timer(struct timer_list *t)
 {
-       struct tulip_private *tp = from_timer(tp, t, timer);
+       struct tulip_private *tp = timer_container_of(tp, t, timer);
        struct net_device *dev = tp->dev;
        void __iomem *ioaddr = tp->base_addr;
        int next_tick = 60*HZ;
index 2e3bdc0fcdc0fcb0ead76f3ab399cafceb0e8d06..39c410bf224ecf08a283a47362882a64fca33357 100644 (file)
@@ -78,7 +78,7 @@
 
 void pnic2_timer(struct timer_list *t)
 {
-       struct tulip_private *tp = from_timer(tp, t, timer);
+       struct tulip_private *tp = timer_container_of(tp, t, timer);
        struct net_device *dev = tp->dev;
        void __iomem *ioaddr = tp->base_addr;
        int next_tick = 60*HZ;
index 642e9dfc54515a9f7598ef15c8bce62791f791d7..ca0c509b601c470ba158975b17f27608e8894091 100644 (file)
@@ -139,7 +139,7 @@ void tulip_media_task(struct work_struct *work)
 
 void mxic_timer(struct timer_list *t)
 {
-       struct tulip_private *tp = from_timer(tp, t, timer);
+       struct tulip_private *tp = timer_container_of(tp, t, timer);
        struct net_device *dev = tp->dev;
        void __iomem *ioaddr = tp->base_addr;
        int next_tick = 60*HZ;
@@ -156,7 +156,7 @@ void mxic_timer(struct timer_list *t)
 
 void comet_timer(struct timer_list *t)
 {
-       struct tulip_private *tp = from_timer(tp, t, timer);
+       struct tulip_private *tp = timer_container_of(tp, t, timer);
        struct net_device *dev = tp->dev;
        int next_tick = 2*HZ;
 
index bec76e7bf5dd14f94e8fb720436d304678ee94ab..5b7e6eb080f32c8280243426b9ad7fe8d143183f 100644 (file)
@@ -114,7 +114,7 @@ int tulip_debug = 1;
 
 static void tulip_timer(struct timer_list *t)
 {
-       struct tulip_private *tp = from_timer(tp, t, timer);
+       struct tulip_private *tp = timer_container_of(tp, t, timer);
        struct net_device *dev = tp->dev;
 
        if (netif_running(dev))
index 3f1bd670700bc82fcd3d55b821a32d7a0ca13e06..6e4d8d31aba908b7a89ee5bb8610d94d0bc00daa 100644 (file)
@@ -1014,7 +1014,7 @@ static const struct ethtool_ops netdev_ethtool_ops = {
 
 static void uli526x_timer(struct timer_list *t)
 {
-       struct uli526x_board_info *db = from_timer(db, t, timer);
+       struct uli526x_board_info *db = timer_container_of(db, t, timer);
        struct net_device *dev = pci_get_drvdata(db->pdev);
        struct uli_phy_ops *phy = &db->phy;
        void __iomem *ioaddr = db->ioaddr;
index e593273b28675082f547bda247a20c6f544e7097..a24a25a5f73d54d332163510dad8d2a03e560aa7 100644 (file)
@@ -763,7 +763,7 @@ static inline void update_csr6(struct net_device *dev, int new)
 
 static void netdev_timer(struct timer_list *t)
 {
-       struct netdev_private *np = from_timer(np, t, timer);
+       struct netdev_private *np = timer_container_of(np, t, timer);
        struct net_device *dev = pci_get_drvdata(np->pci_dev);
        void __iomem *ioaddr = np->base_addr;
 
index 038a0400c1f956a5fceaa639d2895122d5e96dc4..da9b7715df050a6e7016fdb5aa35d6d97aa373da 100644 (file)
@@ -650,7 +650,7 @@ static int rio_open(struct net_device *dev)
 static void
 rio_timer (struct timer_list *t)
 {
-       struct netdev_private *np = from_timer(np, t, timer);
+       struct netdev_private *np = timer_container_of(np, t, timer);
        struct net_device *dev = pci_get_drvdata(np->pdev);
        unsigned int entry;
        int next_tick = 1*HZ;
index 670b682013764fd7d0a2488a3bdab2f343aabc60..6ac8547ef9b8dc13d31f4611527ddbfa11207ff4 100644 (file)
@@ -1074,7 +1074,7 @@ static void allocate_rx_buffers(struct net_device *dev)
 
 static void netdev_timer(struct timer_list *t)
 {
-       struct netdev_private *np = from_timer(np, t, timer);
+       struct netdev_private *np = timer_container_of(np, t, timer);
        struct net_device *dev = np->mii.dev;
        void __iomem *ioaddr = np->mem;
        int old_crvalue = np->crvalue;
@@ -1163,7 +1163,7 @@ static void enable_rxtx(struct net_device *dev)
 
 static void reset_timer(struct timer_list *t)
 {
-       struct netdev_private *np = from_timer(np, t, reset_timer);
+       struct netdev_private *np = timer_container_of(np, t, reset_timer);
        struct net_device *dev = np->mii.dev;
        unsigned long flags;
 
index 7cd1eda0b4499eb090d0f3b3015bb872d85bee88..dc35a23ec47fdd06d0e39378de98142ea5d7db03 100644 (file)
@@ -268,7 +268,8 @@ static void gve_stats_report_schedule(struct gve_priv *priv)
 
 static void gve_stats_report_timer(struct timer_list *t)
 {
-       struct gve_priv *priv = from_timer(priv, t, stats_report_timer);
+       struct gve_priv *priv = timer_container_of(priv, t,
+                                                  stats_report_timer);
 
        mod_timer(&priv->stats_report_timer,
                  round_jiffies(jiffies +
index d98f8d3ce7c8b7a0c116ca2d7ac6b29a95ef1779..e905f10b894e88d19f9142e519e23376b7bc28f8 100644 (file)
@@ -2075,7 +2075,7 @@ static void hns_nic_task_schedule(struct hns_nic_priv *priv)
 
 static void hns_nic_service_timer(struct timer_list *t)
 {
-       struct hns_nic_priv *priv = from_timer(priv, t, service_timer);
+       struct hns_nic_priv *priv = timer_container_of(priv, t, service_timer);
 
        (void)mod_timer(&priv->service_timer, jiffies + SERVICE_TIMER_HZ);
 
index 3e28a08934abd2e180d0f16b98723cc93c11d44d..a7de67699a013c1d48c48081d847478f029f11bc 100644 (file)
@@ -4503,7 +4503,7 @@ static void hclge_set_def_reset_request(struct hnae3_ae_dev *ae_dev,
 
 static void hclge_reset_timer(struct timer_list *t)
 {
-       struct hclge_dev *hdev = from_timer(hdev, t, reset_timer);
+       struct hclge_dev *hdev = timer_container_of(hdev, t, reset_timer);
 
        /* if default_reset_request has no value, it means that this reset
         * request has already be handled, so just return here
index dada42e7e0ec96a4e346dadb5045c72a73956615..c4f35e8e217760ff57ed680b81ad604cf405df18 100644 (file)
@@ -2057,7 +2057,7 @@ static enum hclgevf_evt_cause hclgevf_check_evt_cause(struct hclgevf_dev *hdev,
 
 static void hclgevf_reset_timer(struct timer_list *t)
 {
-       struct hclgevf_dev *hdev = from_timer(hdev, t, reset_timer);
+       struct hclgevf_dev *hdev = timer_container_of(hdev, t, reset_timer);
 
        hclgevf_clear_event_cause(hdev, HCLGEVF_VECTOR0_EVENT_RST);
        hclgevf_reset_task_schedule(hdev);
index c0ead54ea1860ff6fa3e6fc3b314f53fad338616..5c56c1edd492857e666f6fb7c355fcb3fe5ef70f 100644 (file)
@@ -1682,7 +1682,7 @@ static void e100_adjust_adaptive_ifs(struct nic *nic, int speed, int duplex)
 
 static void e100_watchdog(struct timer_list *t)
 {
-       struct nic *nic = from_timer(nic, t, watchdog);
+       struct nic *nic = timer_container_of(nic, t, watchdog);
        struct ethtool_cmd cmd = { .cmd = ETHTOOL_GSET };
        u32 speed;
 
index e0f492a6723face756cd02a3e475902c60690f63..a96f4cfa6e17218f49f63ee1a4623fd8364dc8b5 100644 (file)
@@ -4853,7 +4853,8 @@ static void e1000e_update_phy_task(struct work_struct *work)
  **/
 static void e1000_update_phy_info(struct timer_list *t)
 {
-       struct e1000_adapter *adapter = from_timer(adapter, t, phy_info_timer);
+       struct e1000_adapter *adapter = timer_container_of(adapter, t,
+                                                          phy_info_timer);
 
        if (test_bit(__E1000_DOWN, &adapter->state))
                return;
@@ -5189,7 +5190,8 @@ static void e1000e_check_82574_phy_workaround(struct e1000_adapter *adapter)
  **/
 static void e1000_watchdog(struct timer_list *t)
 {
-       struct e1000_adapter *adapter = from_timer(adapter, t, watchdog_timer);
+       struct e1000_adapter *adapter = timer_container_of(adapter, t,
+                                                          watchdog_timer);
 
        /* Do the rest outside of interrupt context */
        schedule_work(&adapter->watchdog_task);
index 21267ab603ef16d622ae7d4763e3f4d9da9418c1..ae5fe34659cfb1ed63432f95a9258d7b819e3bfd 100644 (file)
@@ -199,8 +199,8 @@ static void fm10k_start_service_event(struct fm10k_intfc *interface)
  **/
 static void fm10k_service_timer(struct timer_list *t)
 {
-       struct fm10k_intfc *interface = from_timer(interface, t,
-                                                  service_timer);
+       struct fm10k_intfc *interface = timer_container_of(interface, t,
+                                                          service_timer);
 
        /* Reset the timer */
        mod_timer(&interface->service_timer, (HZ * 2) + jiffies);
index 120d68654e3f74cef833a355ebbbd54c20142ee7..f1c9e575703eaa5ccf1b1f23c9c3b3364ae807d1 100644 (file)
@@ -11412,7 +11412,7 @@ static void i40e_service_task(struct work_struct *work)
  **/
 static void i40e_service_timer(struct timer_list *t)
 {
-       struct i40e_pf *pf = from_timer(pf, t, service_timer);
+       struct i40e_pf *pf = timer_container_of(pf, t, service_timer);
 
        mod_timer(&pf->service_timer,
                  round_jiffies(jiffies + pf->service_timer_period));
index d97d4b25b30d2834a233cc15a6cb63c66940d26e..0a11b4281092e25bb7b66d48867f7c4f9fb2286d 100644 (file)
@@ -1743,7 +1743,7 @@ static void ice_service_task_restart(struct ice_pf *pf)
  */
 static void ice_service_timer(struct timer_list *t)
 {
-       struct ice_pf *pf = from_timer(pf, t, serv_tmr);
+       struct ice_pf *pf = timer_container_of(pf, t, serv_tmr);
 
        mod_timer(&pf->serv_tmr, round_jiffies(pf->serv_tmr_period + jiffies));
        ice_service_task_schedule(pf);
index 1cca9b2262e866dfba4fd382922afdb73dc1fef3..ae83c3914e29f7b874051bb66e03c89d698a57dc 100644 (file)
@@ -1450,7 +1450,8 @@ err_free_pkt:
  */
 static void ice_vf_fdir_timer(struct timer_list *t)
 {
-       struct ice_vf_fdir_ctx *ctx_irq = from_timer(ctx_irq, t, rx_tmr);
+       struct ice_vf_fdir_ctx *ctx_irq = timer_container_of(ctx_irq, t,
+                                                            rx_tmr);
        struct ice_vf_fdir_ctx *ctx_done;
        struct ice_vf_fdir *fdir;
        unsigned long flags;
index 9e9a5900e6e5a0f70f5ef34d3b4c7decb02d660c..b76a154e635e0007911875e097f35acdcedaba76 100644 (file)
@@ -5465,7 +5465,8 @@ static void igb_spoof_check(struct igb_adapter *adapter)
  */
 static void igb_update_phy_info(struct timer_list *t)
 {
-       struct igb_adapter *adapter = from_timer(adapter, t, phy_info_timer);
+       struct igb_adapter *adapter = timer_container_of(adapter, t,
+                                                        phy_info_timer);
        igb_get_phy_info(&adapter->hw);
 }
 
@@ -5555,7 +5556,8 @@ static void igb_check_lvmmc(struct igb_adapter *adapter)
  **/
 static void igb_watchdog(struct timer_list *t)
 {
-       struct igb_adapter *adapter = from_timer(adapter, t, watchdog_timer);
+       struct igb_adapter *adapter = timer_container_of(adapter, t,
+                                                        watchdog_timer);
        /* Do the rest outside of interrupt context */
        schedule_work(&adapter->watchdog_task);
 }
index beb01248600f4ccf74a70fb32223edc06d1ee40a..e55dd93458334e63e20866037cced728a0cb55b6 100644 (file)
@@ -1900,7 +1900,8 @@ static bool igbvf_has_link(struct igbvf_adapter *adapter)
  **/
 static void igbvf_watchdog(struct timer_list *t)
 {
-       struct igbvf_adapter *adapter = from_timer(adapter, t, watchdog_timer);
+       struct igbvf_adapter *adapter = timer_container_of(adapter, t,
+                                                          watchdog_timer);
 
        /* Do the rest outside of interrupt context */
        schedule_work(&adapter->watchdog_task);
index 27575a1e1777fae67348499acdc36b8227e742cc..686793c539f272c97510384edd0324bc7b90412d 100644 (file)
@@ -5749,7 +5749,8 @@ static void igc_clear_interrupt_scheme(struct igc_adapter *adapter)
  */
 static void igc_update_phy_info(struct timer_list *t)
 {
-       struct igc_adapter *adapter = from_timer(adapter, t, phy_info_timer);
+       struct igc_adapter *adapter = timer_container_of(adapter, t,
+                                                        phy_info_timer);
 
        igc_get_phy_info(&adapter->hw);
 }
@@ -5791,7 +5792,8 @@ bool igc_has_link(struct igc_adapter *adapter)
  */
 static void igc_watchdog(struct timer_list *t)
 {
-       struct igc_adapter *adapter = from_timer(adapter, t, watchdog_timer);
+       struct igc_adapter *adapter = timer_container_of(adapter, t,
+                                                        watchdog_timer);
        /* Do the rest outside of interrupt context */
        schedule_work(&adapter->watchdog_task);
 }
index 03d31e5b131dc05e4bff30993f4af4ae7441619e..cba860f0e1f1549401fba64d160b147a32357fb7 100644 (file)
@@ -8310,7 +8310,8 @@ static void ixgbe_sfp_link_config_subtask(struct ixgbe_adapter *adapter)
  **/
 static void ixgbe_service_timer(struct timer_list *t)
 {
-       struct ixgbe_adapter *adapter = from_timer(adapter, t, service_timer);
+       struct ixgbe_adapter *adapter = timer_container_of(adapter, t,
+                                                          service_timer);
        unsigned long next_event_offset;
 
        /* poll faster when waiting for link */
index a217c5c048041cf6c9217eefbbeb0f6ffa439d0c..535d0f71f521491bd579ed5eea07d9ab690a4dbb 100644 (file)
@@ -3176,8 +3176,8 @@ void ixgbevf_update_stats(struct ixgbevf_adapter *adapter)
  **/
 static void ixgbevf_service_timer(struct timer_list *t)
 {
-       struct ixgbevf_adapter *adapter = from_timer(adapter, t,
-                                                    service_timer);
+       struct ixgbevf_adapter *adapter = timer_container_of(adapter, t,
+                                                            service_timer);
 
        /* Reset the timer */
        mod_timer(&adapter->service_timer, (HZ * 2) + jiffies);
index 1e2ac1a5f0994c9ad15fab78bcb38af6301e47b9..891a94d89f4b00f9cec5023889528734318c538c 100644 (file)
@@ -900,7 +900,8 @@ static void korina_check_media(struct net_device *dev, unsigned int init_media)
 
 static void korina_poll_media(struct timer_list *t)
 {
-       struct korina_private *lp = from_timer(lp, t, media_check_timer);
+       struct korina_private *lp = timer_container_of(lp, t,
+                                                      media_check_timer);
        struct net_device *dev = lp->dev;
 
        korina_check_media(dev, 0);
index 8cc888bf6094a7aec429ee512096bb999d12ee8c..0ab52c57c648094d0fbcbb37b71f2ed395b59d17 100644 (file)
@@ -1333,7 +1333,8 @@ static void mib_counters_update(struct mv643xx_eth_private *mp)
 
 static void mib_counters_timer_wrapper(struct timer_list *t)
 {
-       struct mv643xx_eth_private *mp = from_timer(mp, t, mib_counters_timer);
+       struct mv643xx_eth_private *mp = timer_container_of(mp, t,
+                                                           mib_counters_timer);
        mib_counters_update(mp);
        mod_timer(&mp->mib_counters_timer, jiffies + 30 * HZ);
 }
@@ -2306,7 +2307,7 @@ static int mv643xx_eth_poll(struct napi_struct *napi, int budget)
 
 static inline void oom_timer_wrapper(struct timer_list *t)
 {
-       struct mv643xx_eth_private *mp = from_timer(mp, t, rx_oom);
+       struct mv643xx_eth_private *mp = timer_container_of(mp, t, rx_oom);
 
        napi_schedule(&mp->napi);
 }
index 72c1967768f4ca89e6b1e4bf10c8c5f3dcd7c91f..e4cfdc8bc05524bea548b0243a2ec84fbac21242 100644 (file)
@@ -353,7 +353,7 @@ static void rxq_refill(struct net_device *dev)
 
 static inline void rxq_refill_timer_wrapper(struct timer_list *t)
 {
-       struct pxa168_eth_private *pep = from_timer(pep, t, timeout);
+       struct pxa168_eth_private *pep = timer_container_of(pep, t, timeout);
        napi_schedule(&pep->napi);
 }
 
index b2081d6e34f0eb015bb1c48f50c8677aa323bbb7..05349a0b2db1c1000c4ff31a3d5b41a7d9efbb5c 100644 (file)
@@ -1494,7 +1494,7 @@ static int xm_check_link(struct net_device *dev)
  */
 static void xm_link_timer(struct timer_list *t)
 {
-       struct skge_port *skge = from_timer(skge, t, link_timer);
+       struct skge_port *skge = timer_container_of(skge, t, link_timer);
        struct net_device *dev = skge->netdev;
        struct skge_hw *hw = skge->hw;
        int port = skge->port;
index e2a9aae8bc9b03642d245513410ffc2e64b3ddf2..3831f533b9db13e4fcca99a4e6a5cd646e76640f 100644 (file)
@@ -2961,7 +2961,7 @@ static int sky2_rx_hung(struct net_device *dev)
 
 static void sky2_watchdog(struct timer_list *t)
 {
-       struct sky2_hw *hw = from_timer(hw, t, watchdog_timer);
+       struct sky2_hw *hw = timer_container_of(hw, t, watchdog_timer);
 
        /* Check for lost IRQ once a second */
        if (sky2_read32(hw, B0_ISRC)) {
index 33ba0a5c38aced063233d5a0103e1b329d0aef1d..edcc6f6626180610a6f43aac8babf5b7a9a894db 100644 (file)
@@ -236,7 +236,7 @@ static void dump_err_buf(struct mlx4_dev *dev)
 
 static void poll_catas(struct timer_list *t)
 {
-       struct mlx4_priv *priv = from_timer(priv, t, catas_err.timer);
+       struct mlx4_priv *priv = timer_container_of(priv, t, catas_err.timer);
        struct mlx4_dev *dev = &priv->dev;
        u32 slave_read;
 
index 5442a02c409731bf9fabe29551af58874c4d564e..69933addd921e64aa8cd4e586828f12e6978a218 100644 (file)
@@ -278,7 +278,8 @@ static void mlx5_sync_reset_reload_work(struct work_struct *work)
 #define MLX5_RESET_POLL_INTERVAL       (HZ / 10)
 static void poll_sync_reset(struct timer_list *t)
 {
-       struct mlx5_fw_reset *fw_reset = from_timer(fw_reset, t, timer);
+       struct mlx5_fw_reset *fw_reset = timer_container_of(fw_reset, t,
+                                                           timer);
        struct mlx5_core_dev *dev = fw_reset->dev;
        u32 fatal_error;
 
index 624452ddebc0b2093161f1bcb610389728ed2fd4..cf7a1edd0530a35e207b231ce6d691ff8f6620a2 100644 (file)
@@ -779,7 +779,8 @@ static void mlx5_health_log_ts_update(struct work_struct *work)
 
 static void poll_health(struct timer_list *t)
 {
-       struct mlx5_core_dev *dev = from_timer(dev, t, priv.health.timer);
+       struct mlx5_core_dev *dev = timer_container_of(dev, t,
+                                                      priv.health.timer);
        struct mlx5_core_health *health = &dev->priv.health;
        struct health_buffer __iomem *h = health->health;
        u32 fatal_error;
index 1302aa8e0853656a4527b044fab179419610c657..cdde19b8edc46967d7427d41d4b24a54f660ebbd 100644 (file)
@@ -6304,7 +6304,8 @@ static void mib_read_work(struct work_struct *work)
 
 static void mib_monitor(struct timer_list *t)
 {
-       struct dev_info *hw_priv = from_timer(hw_priv, t, mib_timer_info.timer);
+       struct dev_info *hw_priv = timer_container_of(hw_priv, t,
+                                                     mib_timer_info.timer);
 
        mib_read_work(&hw_priv->mib_read);
 
@@ -6331,7 +6332,8 @@ static void mib_monitor(struct timer_list *t)
  */
 static void dev_monitor(struct timer_list *t)
 {
-       struct dev_priv *priv = from_timer(priv, t, monitor_timer_info.timer);
+       struct dev_priv *priv = timer_container_of(priv, t,
+                                                  monitor_timer_info.timer);
        struct net_device *dev = priv->mii_if.dev;
        struct dev_info *hw_priv = priv->adapter;
        struct ksz_hw *hw = &hw_priv->hw;
index 7c501a758325fc0ba352bd509c90e6e2ab2816df..e611ff7fa3fabad1e0060c2befa280aa2f7f21d2 100644 (file)
@@ -3478,7 +3478,7 @@ static void myri10ge_watchdog_timer(struct timer_list *t)
        u32 rx_pause_cnt;
        u16 cmd;
 
-       mgp = from_timer(mgp, t, watchdog_timer);
+       mgp = timer_container_of(mgp, t, watchdog_timer);
 
        rx_pause_cnt = ntohl(mgp->ss[0].fw_stats->dropped_pause);
        busy_slice_cnt = 0;
index dd279788cf9eb65ff9c4f02761e81e82f97933ec..b253734dbc8054b48b4cccdb031742e08d0429e1 100644 (file)
@@ -1786,7 +1786,7 @@ static void init_registers(struct net_device *dev)
  */
 static void netdev_timer(struct timer_list *t)
 {
-       struct netdev_private *np = from_timer(np, t, timer);
+       struct netdev_private *np = timer_container_of(np, t, timer);
        struct net_device *dev = np->dev;
        void __iomem * ioaddr = ns_ioaddr(dev);
        int next_tick = NATSEMI_TIMER_FREQ;
index bf0347715a059e76fa5189ead4726850b873dd32..56d5464222d97a00de32e74cc9effded9ef3f388 100644 (file)
@@ -1587,7 +1587,7 @@ static void ns83820_tx_timeout(struct net_device *ndev, unsigned int txqueue)
 
 static void ns83820_tx_watch(struct timer_list *t)
 {
-       struct ns83820 *dev = from_timer(dev, t, tx_watchdog);
+       struct ns83820 *dev = timer_container_of(dev, t, tx_watchdog);
        struct net_device *ndev = dev->ndev;
 
 #if defined(DEBUG)
index 3e55e8dc664cef9541ebd4df470d2e98fb5900d2..27443e346f9f7baadd8e8502fe8bb72556905d9f 100644 (file)
@@ -4195,7 +4195,7 @@ pci_map_failed:
 static void
 s2io_alarm_handle(struct timer_list *t)
 {
-       struct s2io_nic *sp = from_timer(sp, t, alarm_timer);
+       struct s2io_nic *sp = timer_container_of(sp, t, alarm_timer);
        struct net_device *dev = sp->dev;
 
        s2io_handle_errors(dev);
index 28997ddab9664a8ea9bfdde98e8602e68954a7b9..932f59d70f41134c3a0deeb66259c958171c03f4 100644 (file)
@@ -159,7 +159,7 @@ static int nfp_net_reconfig_wait(struct nfp_net *nn, unsigned long deadline)
 
 static void nfp_net_reconfig_timer(struct timer_list *t)
 {
-       struct nfp_net *nn = from_timer(nn, t, reconfig_timer);
+       struct nfp_net *nn = timer_container_of(nn, t, reconfig_timer);
 
        spin_lock_bh(&nn->reconfig_lock);
 
index 29cb74ccb25a6df40434fe4983d22bdea136aa17..19aa1f1538aa3b2d63acdd2de499a143b1cd27a2 100644 (file)
@@ -1891,7 +1891,7 @@ packet_dropped:
 /* If rx bufs are exhausted called after 50ms to attempt to refresh */
 static void nv_do_rx_refill(struct timer_list *t)
 {
-       struct fe_priv *np = from_timer(np, t, oom_kick);
+       struct fe_priv *np = timer_container_of(np, t, oom_kick);
 
        /* Just reschedule NAPI rx processing */
        napi_schedule(&np->napi);
@@ -4140,7 +4140,7 @@ static void nv_free_irq(struct net_device *dev)
 
 static void nv_do_nic_poll(struct timer_list *t)
 {
-       struct fe_priv *np = from_timer(np, t, nic_poll);
+       struct fe_priv *np = timer_container_of(np, t, nic_poll);
        struct net_device *dev = np->dev;
        u8 __iomem *base = get_hwbase(dev);
        u32 mask = 0;
@@ -4259,7 +4259,7 @@ static void nv_do_stats_poll(struct timer_list *t)
        __acquires(&netdev_priv(dev)->hwstats_lock)
        __releases(&netdev_priv(dev)->hwstats_lock)
 {
-       struct fe_priv *np = from_timer(np, t, stats_poll);
+       struct fe_priv *np = timer_container_of(np, t, stats_poll);
        struct net_device *dev = np->dev;
 
        /* If lock is currently taken, the stats are being refreshed
index 1651df8a7c2114dd4b8ec083351af85ef94a7aed..e5a6f59af0b63dcd39f2134024853235b37f5029 100644 (file)
@@ -1014,8 +1014,8 @@ static void pch_gbe_set_mode(struct pch_gbe_adapter *adapter, u16 speed,
  */
 static void pch_gbe_watchdog(struct timer_list *t)
 {
-       struct pch_gbe_adapter *adapter = from_timer(adapter, t,
-                                                    watchdog_timer);
+       struct pch_gbe_adapter *adapter = timer_container_of(adapter, t,
+                                                            watchdog_timer);
        struct net_device *netdev = adapter->netdev;
        struct pch_gbe_hw *hw = &adapter->hw;
 
index 26bc8b3b1ec8f92465a7c615087cee4883fb5563..b0de7e9f12a5da84da3297d1280dc60805c17384 100644 (file)
@@ -1025,7 +1025,7 @@ static inline int hamachi_tx(struct net_device *dev)
 
 static void hamachi_timer(struct timer_list *t)
 {
-       struct hamachi_private *hmp = from_timer(hmp, t, timer);
+       struct hamachi_private *hmp = timer_container_of(hmp, t, timer);
        struct net_device *dev = hmp->mii_if.dev;
        void __iomem *ioaddr = hmp->base;
        int next_tick = 10*HZ;
index 21b760e65d73e61a6674ab67daedac1950f56469..1e25ac13a7d8a6868295df6771fb44e722ebbf78 100644 (file)
@@ -652,7 +652,7 @@ err_free_irq:
 
 static void yellowfin_timer(struct timer_list *t)
 {
-       struct yellowfin_private *yp = from_timer(yp, t, timer);
+       struct yellowfin_private *yp = timer_container_of(yp, t, timer);
        struct net_device *dev = pci_get_drvdata(yp->pci_dev);
        void __iomem *ioaddr = yp->base;
        int next_tick = 60*HZ;
index 8013807290468aefbac5884f3b87358dfff9d3b8..fe58024b5901d3ca95d70cf3a0d280bf2f82333f 100644 (file)
@@ -934,7 +934,8 @@ static irqreturn_t pasemi_mac_rx_intr(int irq, void *data)
 
 static void pasemi_mac_tx_timer(struct timer_list *t)
 {
-       struct pasemi_mac_txring *txring = from_timer(txring, t, clean_timer);
+       struct pasemi_mac_txring *txring = timer_container_of(txring, t,
+                                                             clean_timer);
        struct pasemi_mac *mac = txring->mac;
 
        pasemi_mac_clean_tx(txring);
index 57edcde9e6f8c64dd9bfb0f2db7fcf6f3f1d529c..18b9c8a810aecc763be42c3e7ef4164ccec0ddbe 100644 (file)
@@ -13,7 +13,7 @@
 
 static void ionic_watchdog_cb(struct timer_list *t)
 {
-       struct ionic *ionic = from_timer(ionic, t, watchdog_timer);
+       struct ionic *ionic = timer_container_of(ionic, t, watchdog_timer);
        struct ionic_lif *lif = ionic->lif;
        struct ionic_deferred_work *work;
        int hb;
index bf5bf8c95c85510dc0b641ded2e74838537bd31e..aee4e63b4b8291c3273e9d1e03ba9cae00a3845e 100644 (file)
@@ -3735,7 +3735,7 @@ static void ql_get_board_info(struct ql3_adapter *qdev)
 
 static void ql3xxx_timer(struct timer_list *t)
 {
-       struct ql3_adapter *qdev = from_timer(qdev, t, adapter_timer);
+       struct ql3_adapter *qdev = timer_container_of(qdev, t, adapter_timer);
        queue_delayed_work(qdev->workqueue, &qdev->link_state_work, 0);
 }
 
index c73a57e4a144de46c5e86cc8a1627897f8c51808..0d65434982a24dab5081565dfc55928cdf24ea28 100644 (file)
@@ -717,7 +717,7 @@ static irqreturn_t atp_interrupt(int irq, void *dev_instance)
    problem where the adapter forgets its ethernet address. */
 static void atp_timed_checker(struct timer_list *t)
 {
-       struct net_local *lp = from_timer(lp, t, timer);
+       struct net_local *lp = timer_container_of(lp, t, timer);
        struct net_device *dev = lp->dev;
        long ioaddr = dev->base_addr;
        int tickssofar = jiffies - lp->last_rx_time;
index 19985d13e2434e54555d0d64390d22ecb525b435..61e50517c05b1bcd6e5bb9f009e4f596b00051f4 100644 (file)
@@ -1982,7 +1982,7 @@ err_out:
 
 static void ofdpa_fdb_cleanup(struct timer_list *t)
 {
-       struct ofdpa *ofdpa = from_timer(ofdpa, t, fdb_cleanup_timer);
+       struct ofdpa *ofdpa = timer_container_of(ofdpa, t, fdb_cleanup_timer);
        struct ofdpa_port *ofdpa_port;
        struct ofdpa_fdb_tbl_entry *entry;
        struct hlist_node *tmp;
index 36b63bf343a91d53bfcfa9b10f74962b01ad53b0..75bad561b352580b409c76f8455a2ac2de91f59a 100644 (file)
@@ -104,7 +104,8 @@ void sxgbe_disable_eee_mode(struct sxgbe_priv_data * const priv)
  */
 static void sxgbe_eee_ctrl_timer(struct timer_list *t)
 {
-       struct sxgbe_priv_data *priv = from_timer(priv, t, eee_ctrl_timer);
+       struct sxgbe_priv_data *priv = timer_container_of(priv, t,
+                                                         eee_ctrl_timer);
 
        sxgbe_enable_eee_mode(priv);
        mod_timer(&priv->eee_ctrl_timer, SXGBE_LPI_TIMER(eee_timer));
@@ -1012,7 +1013,7 @@ static void sxgbe_disable_mtl_engine(struct sxgbe_priv_data *priv)
  */
 static void sxgbe_tx_timer(struct timer_list *t)
 {
-       struct sxgbe_tx_queue *p = from_timer(p, t, txtimer);
+       struct sxgbe_tx_queue *p = timer_container_of(p, t, txtimer);
        sxgbe_tx_queue_clean(p);
 }
 
index 1d65113fab76c1945d73ccec59566457b34eaf43..20dad39b5ab94759c8c41ea6ff2fc534a0a72795 100644 (file)
@@ -170,7 +170,7 @@ ether3_setbuffer(struct net_device *dev, buffer_rw_t read, int start)
  */
 static void ether3_ledoff(struct timer_list *t)
 {
-       struct dev_priv *private = from_timer(private, t, timer);
+       struct dev_priv *private = timer_container_of(private, t, timer);
        struct net_device *dev = private->dev;
 
        ether3_outw(priv(dev)->regs.config2 |= CFG2_CTRLO, REG_CONFIG2);
index b865275beb661c23d2762d1e0b90737eaa7e43a9..c44df8e4dd30693422acbcce6059236e99902f6c 100644 (file)
@@ -1453,8 +1453,8 @@ static void falcon_stats_complete(struct ef4_nic *efx)
 
 static void falcon_stats_timer_func(struct timer_list *t)
 {
-       struct falcon_nic_data *nic_data = from_timer(nic_data, t,
-                                                     stats_timer);
+       struct falcon_nic_data *nic_data = timer_container_of(nic_data, t,
+                                                             stats_timer);
        struct ef4_nic *efx = nic_data->efx;
 
        spin_lock(&efx->stats_lock);
index 38ad7ac07726036bb3b5b05734823641fae444b7..f69fcf6caca8c4493bf569cf5ef2ff2128616dd4 100644 (file)
@@ -382,7 +382,8 @@ void ef4_fast_push_rx_descriptors(struct ef4_rx_queue *rx_queue, bool atomic)
 
 void ef4_rx_slow_fill(struct timer_list *t)
 {
-       struct ef4_rx_queue *rx_queue = from_timer(rx_queue, t, slow_fill);
+       struct ef4_rx_queue *rx_queue = timer_container_of(rx_queue, t,
+                                                          slow_fill);
 
        /* Post an event to cause NAPI to run and refill the queue */
        ef4_nic_generate_fill_event(rx_queue);
index dcef0588be9649a54a42a2ee61ee9a9ec1d10ede..5e9b8def5e423ca5da61077d71101fb65b6caf6b 100644 (file)
@@ -605,7 +605,7 @@ static void efx_mcdi_ev_cpl(struct efx_nic *efx, unsigned int seqno,
 
 static void efx_mcdi_timeout_async(struct timer_list *t)
 {
-       struct efx_mcdi_iface *mcdi = from_timer(mcdi, t, async_timer);
+       struct efx_mcdi_iface *mcdi = timer_container_of(mcdi, t, async_timer);
 
        efx_mcdi_complete_async(mcdi, true);
 }
index 8eb272ba674bf6d3bfb4027648c27cfa28902d8e..f4f75299dfa948e942b356c2cd2fbf1ce81ac2b4 100644 (file)
@@ -352,7 +352,8 @@ void efx_free_rx_buffers(struct efx_rx_queue *rx_queue,
 
 void efx_rx_slow_fill(struct timer_list *t)
 {
-       struct efx_rx_queue *rx_queue = from_timer(rx_queue, t, slow_fill);
+       struct efx_rx_queue *rx_queue = timer_container_of(rx_queue, t,
+                                                          slow_fill);
 
        /* Post an event to cause NAPI to run and refill the queue */
        efx_nic_generate_fill_event(rx_queue);
index 99ab5f2946915240f81c262c0fa91ec286f29032..c8f0fb43e2855cb769e79b4664bf8b95a98912cc 100644 (file)
@@ -609,7 +609,7 @@ static void efx_mcdi_ev_cpl(struct efx_nic *efx, unsigned int seqno,
 
 static void efx_mcdi_timeout_async(struct timer_list *t)
 {
-       struct efx_mcdi_iface *mcdi = from_timer(mcdi, t, async_timer);
+       struct efx_mcdi_iface *mcdi = timer_container_of(mcdi, t, async_timer);
 
        efx_mcdi_complete_async(mcdi, true);
 }
index ab493e529d5cc7eae61972df49216ef00cad6abe..98d27174015d4d7966b31ab0d99d4249b0effec3 100644 (file)
@@ -349,7 +349,8 @@ void efx_siena_free_rx_buffers(struct efx_rx_queue *rx_queue,
 
 void efx_siena_rx_slow_fill(struct timer_list *t)
 {
-       struct efx_rx_queue *rx_queue = from_timer(rx_queue, t, slow_fill);
+       struct efx_rx_queue *rx_queue = timer_container_of(rx_queue, t,
+                                                          slow_fill);
 
        /* Post an event to cause NAPI to run and refill the queue */
        efx_nic_generate_fill_event(rx_queue);
index 7196e1c607f36c35573af217dc36a96ca4ce3c0b..39731069d99e0beedeabee3ec5ce49652c11de30 100644 (file)
@@ -570,7 +570,7 @@ static inline void ioc3_setup_duplex(struct ioc3_private *ip)
 
 static void ioc3_timer(struct timer_list *t)
 {
-       struct ioc3_private *ip = from_timer(ip, t, ioc3_timer);
+       struct ioc3_private *ip = timer_container_of(ip, t, ioc3_timer);
 
        /* Print the link status if it has changed */
        mii_check_media(&ip->mii, 1, 0);
index d10b14787607562f03d3b17e6e81b84326964193..15e46e6ac262b19fcb341bfc597304e1cae72b3c 100644 (file)
@@ -1023,7 +1023,7 @@ out_unlock:
 
 static void sis190_phy_timer(struct timer_list *t)
 {
-       struct sis190_private *tp = from_timer(tp, t, timer);
+       struct sis190_private *tp = timer_container_of(tp, t, timer);
        struct net_device *dev = tp->dev;
 
        if (likely(netif_running(dev)))
index df869f82cae8a28650cef1a2ddc3f6ca57006cab..b461918dc5f49109968cfe2c71c72e769abee61a 100644 (file)
@@ -1314,7 +1314,8 @@ static void sis630_set_eq(struct net_device *net_dev, u8 revision)
 
 static void sis900_timer(struct timer_list *t)
 {
-       struct sis900_private *sis_priv = from_timer(sis_priv, t, timer);
+       struct sis900_private *sis_priv = timer_container_of(sis_priv, t,
+                                                            timer);
        struct net_device *net_dev = sis_priv->mii_info.dev;
        struct mii_phy *mii_phy = sis_priv->mii;
        static const int next_tick = 5*HZ;
index ca0ab3a35b73ed7bbdab031f42a6f76555c43bb2..45f703fe0e5ad8f8c8f26ca06dcf912b49e0f203 100644 (file)
@@ -850,7 +850,7 @@ static void check_media(struct net_device *dev)
 
 static void epic_timer(struct timer_list *t)
 {
-       struct epic_private *ep = from_timer(ep, t, timer);
+       struct epic_private *ep = timer_container_of(ep, t, timer);
        struct net_device *dev = ep->mii.dev;
        void __iomem *ioaddr = ep->ioaddr;
        int next_tick = 5*HZ;
index 6fa957fb523bc9f482959f821895e5cdd186615f..cc0c7569435131e9d313220b6446592ae9978b13 100644 (file)
@@ -1713,7 +1713,7 @@ static void smc_reset(struct net_device *dev)
 
 static void media_check(struct timer_list *t)
 {
-    struct smc_private *smc = from_timer(smc, t, media);
+    struct smc_private *smc = timer_container_of(smc, t, media);
     struct net_device *dev = smc->mii_if.dev;
     unsigned int ioaddr = dev->base_addr;
     u_short i, media, saved_bank;
index 1369fa70bc587e5c9e22fc33f69bc9ca0774be86..b948df1bff9a84966e6e7a43831585b81ca3748a 100644 (file)
@@ -481,7 +481,7 @@ static void stmmac_stop_sw_lpi(struct stmmac_priv *priv)
  */
 static void stmmac_eee_ctrl_timer(struct timer_list *t)
 {
-       struct stmmac_priv *priv = from_timer(priv, t, eee_ctrl_timer);
+       struct stmmac_priv *priv = timer_container_of(priv, t, eee_ctrl_timer);
 
        stmmac_try_to_start_sw_lpi(priv);
 }
index b777e5a099ebbf600a88adb12b2cef130b5fe1d4..acfb523214b9e739aedff0586ec20a4ba7758abb 100644 (file)
@@ -4021,7 +4021,7 @@ done:
 
 static void cas_link_timer(struct timer_list *t)
 {
-       struct cas *cp = from_timer(cp, t, link_timer);
+       struct cas *cp = timer_container_of(cp, t, link_timer);
        int mask, pending = 0, reset = 0;
        unsigned long flags;
 
index 379b6e90121d9f5f39645089306dc0d94a09b14c..ddca8fc7883eda13acbe4e853cd071da38b004b3 100644 (file)
@@ -2225,7 +2225,7 @@ static int niu_link_status(struct niu *np, int *link_up_p)
 
 static void niu_timer(struct timer_list *t)
 {
-       struct niu *np = from_timer(np, t, timer);
+       struct niu *np = timer_container_of(np, t, timer);
        unsigned long off;
        int err, link_up;
 
index d2c82102133c24439c101f1c931d08c50568fa1a..edb2fd3a6551b76cc25e00cb74e4b0eeb39508dd 100644 (file)
@@ -526,7 +526,7 @@ static int try_next_permutation(struct bigmac *bp, void __iomem *tregs)
 
 static void bigmac_timer(struct timer_list *t)
 {
-       struct bigmac *bp = from_timer(bp, t, bigmac_timer);
+       struct bigmac *bp = timer_container_of(bp, t, bigmac_timer);
        void __iomem *tregs = bp->tregs;
        int restart_timer = 0;
 
index 06579d7b5220b335da6c290587117615e18b9297..8e69d917d827caf6bd14b8156bd66be566b8bc1d 100644 (file)
@@ -1481,7 +1481,7 @@ static int gem_mdio_link_not_up(struct gem *gp)
 
 static void gem_link_timer(struct timer_list *t)
 {
-       struct gem *gp = from_timer(gp, t, link_timer);
+       struct gem *gp = timer_container_of(gp, t, link_timer);
        struct net_device *dev = gp->dev;
        int restart_aneg = 0;
 
index 9a7586623318a8cce83fd4a7023ce0b91d5c6b6a..4bc0e114d5ee71a134694c167cc03b9325117fba 100644 (file)
@@ -721,7 +721,7 @@ force_link:
 
 static void happy_meal_timer(struct timer_list *t)
 {
-       struct happy_meal *hp = from_timer(hp, t, happy_timer);
+       struct happy_meal *hp = timer_container_of(hp, t, happy_timer);
        void __iomem *tregs = hp->tcvregs;
        int restart_timer = 0;
 
index ddc6d46a7a868ea8f51b9c6b17fd382ac16e46ce..0212853c94300627f80076faf9b512689212fcd5 100644 (file)
@@ -1044,7 +1044,7 @@ static inline void vnet_free_skbs(struct sk_buff *skb)
 
 void sunvnet_clean_timer_expire_common(struct timer_list *t)
 {
-       struct vnet_port *port = from_timer(port, t, clean_timer);
+       struct vnet_port *port = timer_container_of(port, t, clean_timer);
        struct sk_buff *freeskbs;
        unsigned pending;
 
index 24e4b246f25fb4f9ebb96dd486ef3f664064bed4..37101dc50d04c36f38364fade631aee688ebbf99 100644 (file)
@@ -360,7 +360,8 @@ static irqreturn_t xlgmac_dma_isr(int irq, void *data)
 
 static void xlgmac_tx_timer(struct timer_list *t)
 {
-       struct xlgmac_channel *channel = from_timer(channel, t, tx_timer);
+       struct xlgmac_channel *channel = timer_container_of(channel, t,
+                                                           tx_timer);
        struct xlgmac_pdata *pdata = channel->pdata;
        struct napi_struct *napi;
 
index 7f77694ecfbaf2ce28b20c6164f99c43943e084a..fbe35af615a6f05861683032873fb6c30b2e057c 100644 (file)
@@ -1231,7 +1231,7 @@ int cpsw_ale_rx_ratelimit_bc(struct cpsw_ale *ale, int port, unsigned int rateli
 
 static void cpsw_ale_timer(struct timer_list *t)
 {
-       struct cpsw_ale *ale = from_timer(ale, t, timer);
+       struct cpsw_ale *ale = timer_container_of(ale, t, timer);
 
        cpsw_ale_control_set(ale, 0, ALE_AGEOUT, 1);
 
index fd2b7450898074b370f9eb825c1fb3baa61a84f3..55a1a96cd83499ea004f38911dc790b6a82ec57a 100644 (file)
@@ -2833,7 +2833,7 @@ static int gbe_ioctl(void *intf_priv, struct ifreq *req, int cmd)
 
 static void netcp_ethss_timer(struct timer_list *t)
 {
-       struct gbe_priv *gbe_dev = from_timer(gbe_dev, t, timer);
+       struct gbe_priv *gbe_dev = timer_container_of(gbe_dev, t, timer);
        struct gbe_intf *gbe_intf;
        struct gbe_slave *slave;
 
index d9240fb917470bd721c113b605f38a86f3254a2a..a55b0f951181f92fdb9a6abd9a9381bb5b0c77d4 100644 (file)
@@ -1815,7 +1815,7 @@ ThunderLAN driver timer function
 
 static void tlan_timer(struct timer_list *t)
 {
-       struct tlan_priv        *priv = from_timer(priv, t, timer);
+       struct tlan_priv        *priv = timer_container_of(priv, t, timer);
        struct net_device       *dev = priv->dev;
        u32             elapsed;
        unsigned long   flags = 0;
@@ -2746,7 +2746,7 @@ static void tlan_phy_finish_auto_neg(struct net_device *dev)
 
 static void tlan_phy_monitor(struct timer_list *t)
 {
-       struct tlan_priv *priv = from_timer(priv, t, media_timer);
+       struct tlan_priv *priv = timer_container_of(priv, t, media_timer);
        struct net_device *dev = priv->dev;
        u16     phy;
        u16     phy_status;
index 7ec0e3c13d54a309b9f153122c54e4ef68e316a4..7e0b3d694ac0ed7621a95a939dfb64093a10de8a 100644 (file)
@@ -1652,7 +1652,7 @@ regs_fail:
 
 static void tsi108_timed_checker(struct timer_list *t)
 {
-       struct tsi108_prv_data *data = from_timer(data, t, timer);
+       struct tsi108_prv_data *data = timer_container_of(data, t, timer);
        struct net_device *dev = data->dev;
 
        tsi108_check_phy(dev);
index 5c747509d56baebe48482dbcc550a656db055dc9..7f2e6cddfeb1063d51e0ea86d312b76e69d462bc 100644 (file)
@@ -3116,7 +3116,7 @@ EXPORT_SYMBOL(wx_service_event_complete);
 
 void wx_service_timer(struct timer_list *t)
 {
-       struct wx *wx = from_timer(wx, t, service_timer);
+       struct wx *wx = timer_container_of(wx, t, service_timer);
        unsigned long next_event_offset = HZ * 2;
 
        /* Reset the timer */
index 54b7f24f381039fed082ae9775eb3ddd8a1a594d..2098c3068d34f7b479d353301ab1eb1f9475d17f 100644 (file)
@@ -1044,7 +1044,7 @@ static irqreturn_t fza_interrupt(int irq, void *dev_id)
 
 static void fza_reset_timer(struct timer_list *t)
 {
-       struct fza_private *fp = from_timer(fp, t, reset_timer);
+       struct fza_private *fp = timer_container_of(fp, t, reset_timer);
 
        if (!fp->timer_state) {
                pr_err("%s: RESET timed out!\n", fp->name);
index b33d84ed5bbfaa21c9daae1ecd9c62be0026246c..c5e5423e18633a25e3c5d9925ba6a7c10cf531bf 100644 (file)
@@ -133,7 +133,7 @@ static int encode_sixpack(unsigned char *, unsigned char *, int, unsigned char);
 
 static void sp_xmit_on_air(struct timer_list *t)
 {
-       struct sixpack *sp = from_timer(sp, t, tx_t);
+       struct sixpack *sp = timer_container_of(sp, t, tx_t);
        int actual, when = sp->slottime;
        static unsigned char random;
 
@@ -491,7 +491,7 @@ static inline void tnc_set_sync_state(struct sixpack *sp, int new_tnc_state)
 
 static void resync_tnc(struct timer_list *t)
 {
-       struct sixpack *sp = from_timer(sp, t, resync_t);
+       struct sixpack *sp = timer_container_of(sp, t, resync_t);
        static char resync_cmd = 0xe8;
 
        /* clear any data that might have been received */
index f88721dec6817c7cf6f13457c5da59616b5c38de..ae5048efde686afd25eb0e4a9f8c26f603f05b79 100644 (file)
@@ -1127,7 +1127,7 @@ static inline int is_grouped(struct scc_channel *scc)
 
 static void t_dwait(struct timer_list *t)
 {
-       struct scc_channel *scc = from_timer(scc, t, tx_t);
+       struct scc_channel *scc = timer_container_of(scc, t, tx_t);
        
        if (scc->stat.tx_state == TXS_WAIT)     /* maxkeyup or idle timeout */
        {
@@ -1169,7 +1169,7 @@ static void t_dwait(struct timer_list *t)
 
 static void t_txdelay(struct timer_list *t)
 {
-       struct scc_channel *scc = from_timer(scc, t, tx_t);
+       struct scc_channel *scc = timer_container_of(scc, t, tx_t);
 
        scc_start_maxkeyup(scc);
 
@@ -1190,7 +1190,7 @@ static void t_txdelay(struct timer_list *t)
 
 static void t_tail(struct timer_list *t)
 {
-       struct scc_channel *scc = from_timer(scc, t, tx_t);
+       struct scc_channel *scc = timer_container_of(scc, t, tx_t);
        unsigned long flags;
        
        spin_lock_irqsave(&scc->lock, flags); 
@@ -1217,7 +1217,7 @@ static void t_tail(struct timer_list *t)
 
 static void t_busy(struct timer_list *t)
 {
-       struct scc_channel *scc = from_timer(scc, t, tx_wdog);
+       struct scc_channel *scc = timer_container_of(scc, t, tx_wdog);
 
        timer_delete(&scc->tx_t);
        netif_stop_queue(scc->dev);     /* don't pile on the wabbit! */
@@ -1236,7 +1236,7 @@ static void t_busy(struct timer_list *t)
 
 static void t_maxkeyup(struct timer_list *t)
 {
-       struct scc_channel *scc = from_timer(scc, t, tx_wdog);
+       struct scc_channel *scc = timer_container_of(scc, t, tx_wdog);
        unsigned long flags;
 
        spin_lock_irqsave(&scc->lock, flags);
@@ -1270,7 +1270,7 @@ static void t_maxkeyup(struct timer_list *t)
 
 static void t_idle(struct timer_list *t)
 {
-       struct scc_channel *scc = from_timer(scc, t, tx_t);
+       struct scc_channel *scc = timer_container_of(scc, t, tx_t);
        
        timer_delete(&scc->tx_wdog);
 
@@ -1403,7 +1403,7 @@ static unsigned long scc_get_param(struct scc_channel *scc, unsigned int cmd)
 
 static void scc_stop_calibrate(struct timer_list *t)
 {
-       struct scc_channel *scc = from_timer(scc, t, tx_wdog);
+       struct scc_channel *scc = timer_container_of(scc, t, tx_wdog);
        unsigned long flags;
        
        spin_lock_irqsave(&scc->lock, flags);
index 6342c319c0e4470b0c2969f0e671f8c9cadd67e8..7b7e7a47a75e1bcdf2fb2b2fc8d86761f71c0a31 100644 (file)
@@ -1154,7 +1154,7 @@ static inline void rr_raz_rx(struct rr_private *rrpriv,
 
 static void rr_timer(struct timer_list *t)
 {
-       struct rr_private *rrpriv = from_timer(rrpriv, t, timer);
+       struct rr_private *rrpriv = timer_container_of(rrpriv, t, timer);
        struct net_device *dev = pci_get_drvdata(rrpriv->pci_dev);
        struct rr_regs __iomem *regs = rrpriv->regs;
        unsigned long flags;
index ef4204638392d4d5ae6c8efa9d4ccc1679b28db7..fbeae05817e9ff05692e2ac6fb16a804b853fb36 100644 (file)
@@ -229,7 +229,7 @@ err:
 
 static void ntb_netdev_tx_timer(struct timer_list *t)
 {
-       struct ntb_netdev *dev = from_timer(dev, t, tx_timer);
+       struct ntb_netdev *dev = timer_container_of(dev, t, tx_timer);
        struct net_device *ndev = dev->ndev;
 
        if (ntb_transport_tx_free_entry(dev->qp) < tx_stop) {
index 3cfa17cd5073f523a142eef9d48e1984771e6549..c889fb3747030b72e207aa24e633319faccdab53 100644 (file)
@@ -1378,7 +1378,7 @@ module_exit(slip_exit);
 
 static void sl_outfill(struct timer_list *t)
 {
-       struct slip *sl = from_timer(sl, t, outfill_timer);
+       struct slip *sl = timer_container_of(sl, t, outfill_timer);
 
        spin_lock(&sl->lock);
 
@@ -1409,7 +1409,7 @@ out:
 
 static void sl_keepalive(struct timer_list *t)
 {
-       struct slip *sl = from_timer(sl, t, keepalive_timer);
+       struct slip *sl = timer_container_of(sl, t, keepalive_timer);
 
        spin_lock(&sl->lock);
 
index 1207196cbbedbf41c7bdd16a17a9dfffc87c8ebe..f8c5e2fd04dfa0a9543f322ae570b68cf993da43 100644 (file)
@@ -377,7 +377,7 @@ static void tun_flow_delete_by_queue(struct tun_struct *tun, u16 queue_index)
 
 static void tun_flow_cleanup(struct timer_list *t)
 {
-       struct tun_struct *tun = from_timer(tun, t, flow_gc_timer);
+       struct tun_struct *tun = timer_container_of(tun, t, flow_gc_timer);
        unsigned long delay = tun->ageing_time;
        unsigned long next_timer = jiffies + delay;
        unsigned long count = 0;
index fc5e441aa7c30885f1a76c2bca38769738e69e19..6759388692f8e98937ff39e002fcf332c90065f0 100644 (file)
@@ -602,7 +602,7 @@ static void catc_stats_done(struct catc *catc, struct ctrl_queue *q)
 
 static void catc_stats_timer(struct timer_list *t)
 {
-       struct catc *catc = from_timer(catc, t, timer);
+       struct catc *catc = timer_container_of(catc, t, timer);
        int i;
 
        for (i = 0; i < 8; i++)
index 759dab980a09aea9d49e9796ba2d20bcc1299b84..f53e255116ea1f5a2cd3dd4c55d0dc5960c42303 100644 (file)
@@ -4642,7 +4642,7 @@ static const struct net_device_ops lan78xx_netdev_ops = {
 
 static void lan78xx_stat_monitor(struct timer_list *t)
 {
-       struct lan78xx_net *dev = from_timer(dev, t, stat_monitor);
+       struct lan78xx_net *dev = timer_container_of(dev, t, stat_monitor);
 
        lan78xx_defer_kevent(dev, EVENT_STAT_UPDATE);
 }
index dec6e82eb0e03356d0020c439fca2d8e6ac33c5d..c30ca415d1d3df141982a834722bb4a5655477ac 100644 (file)
@@ -573,7 +573,7 @@ static void sierra_net_defer_kevent(struct usbnet *dev, int work)
  */
 static void sierra_sync_timer(struct timer_list *t)
 {
-       struct sierra_net_data *priv = from_timer(priv, t, sync_timer);
+       struct sierra_net_data *priv = timer_container_of(priv, t, sync_timer);
        struct usbnet *dev = priv->usbnet;
 
        dev_dbg(&dev->udev->dev, "%s", __func__);
index c39dfa17813a3fc49b80ea89ae63c98d33073c72..c04e715a4c2ade3bc5587b0df71643a25cf88c55 100644 (file)
@@ -1551,7 +1551,7 @@ static inline void usb_free_skb(struct sk_buff *skb)
 
 static void usbnet_bh (struct timer_list *t)
 {
-       struct usbnet           *dev = from_timer(dev, t, delay);
+       struct usbnet           *dev = timer_container_of(dev, t, delay);
        struct sk_buff          *skb;
        struct skb_data         *entry;
 
index a56d7239b1273481160314defc9d20c41dc65d50..97792de896b72f4516feed496ad52710d3efde77 100644 (file)
@@ -2809,7 +2809,7 @@ out:
 /* Walk the forwarding table and purge stale entries */
 static void vxlan_cleanup(struct timer_list *t)
 {
-       struct vxlan_dev *vxlan = from_timer(vxlan, t, age_timer);
+       struct vxlan_dev *vxlan = timer_container_of(vxlan, t, age_timer);
        unsigned long next_timer = jiffies + FDB_AGE_INTERVAL;
        struct vxlan_fdb *f;
 
index 7e653432c1399118c684973a476d2788c00b44d7..bfc978b15bc2ac677b615878322effb7b16847f5 100644 (file)
@@ -244,7 +244,7 @@ rx_error:
 
 static void cisco_timer(struct timer_list *t)
 {
-       struct cisco_state *st = from_timer(st, t, timer);
+       struct cisco_state *st = timer_container_of(st, t, timer);
        struct net_device *dev = st->dev;
 
        spin_lock(&st->lock);
index 34014f427060f64fe43c929e60c8b52ceacc3888..08a0ba5ca471a37b1a10f09de645895afe2b8d90 100644 (file)
@@ -581,7 +581,7 @@ static void fr_set_link_state(int reliable, struct net_device *dev)
 
 static void fr_timer(struct timer_list *t)
 {
-       struct frad_state *st = from_timer(st, t, timer);
+       struct frad_state *st = timer_container_of(st, t, timer);
        struct net_device *dev = st->dev;
        hdlc_device *hdlc = dev_to_hdlc(dev);
        int i, cnt = 0, reliable;
index 19921b02846ddb3ccbcb52cae1cd0dc0ebdcf29d..7496a2e9a28203e4610efc141d2e5fdaac08b35c 100644 (file)
@@ -561,7 +561,7 @@ out:
 
 static void ppp_timer(struct timer_list *t)
 {
-       struct proto *proto = from_timer(proto, t, timer);
+       struct proto *proto = timer_container_of(proto, t, timer);
        struct ppp *ppp = get_ppp(proto->dev);
        unsigned long flags;
 
index a9e0890c2f7769e155cb5a1595d59e72072b0c16..4016a306560205ccfd63cca4f07a8d364ad0f83b 100644 (file)
@@ -40,8 +40,8 @@ static inline void mod_peer_timer(struct wg_peer *peer,
 
 static void wg_expired_retransmit_handshake(struct timer_list *timer)
 {
-       struct wg_peer *peer = from_timer(peer, timer,
-                                         timer_retransmit_handshake);
+       struct wg_peer *peer = timer_container_of(peer, timer,
+                                                 timer_retransmit_handshake);
 
        if (peer->timer_handshake_attempts > MAX_TIMER_HANDSHAKES) {
                pr_debug("%s: Handshake for peer %llu (%pISpfsc) did not complete after %d attempts, giving up\n",
@@ -78,7 +78,8 @@ static void wg_expired_retransmit_handshake(struct timer_list *timer)
 
 static void wg_expired_send_keepalive(struct timer_list *timer)
 {
-       struct wg_peer *peer = from_timer(peer, timer, timer_send_keepalive);
+       struct wg_peer *peer = timer_container_of(peer, timer,
+                                                 timer_send_keepalive);
 
        wg_packet_send_keepalive(peer);
        if (peer->timer_need_another_keepalive) {
@@ -90,7 +91,8 @@ static void wg_expired_send_keepalive(struct timer_list *timer)
 
 static void wg_expired_new_handshake(struct timer_list *timer)
 {
-       struct wg_peer *peer = from_timer(peer, timer, timer_new_handshake);
+       struct wg_peer *peer = timer_container_of(peer, timer,
+                                                 timer_new_handshake);
 
        pr_debug("%s: Retrying handshake with peer %llu (%pISpfsc) because we stopped hearing back after %d seconds\n",
                 peer->device->dev->name, peer->internal_id,
@@ -104,7 +106,8 @@ static void wg_expired_new_handshake(struct timer_list *timer)
 
 static void wg_expired_zero_key_material(struct timer_list *timer)
 {
-       struct wg_peer *peer = from_timer(peer, timer, timer_zero_key_material);
+       struct wg_peer *peer = timer_container_of(peer, timer,
+                                                 timer_zero_key_material);
 
        rcu_read_lock_bh();
        if (!READ_ONCE(peer->is_dead)) {
@@ -134,8 +137,8 @@ static void wg_queued_expired_zero_key_material(struct work_struct *work)
 
 static void wg_expired_send_persistent_keepalive(struct timer_list *timer)
 {
-       struct wg_peer *peer = from_timer(peer, timer,
-                                         timer_persistent_keepalive);
+       struct wg_peer *peer = timer_container_of(peer, timer,
+                                                 timer_persistent_keepalive);
 
        if (likely(peer->persistent_keepalive_interval))
                wg_packet_send_keepalive(peer);
index 96dc2778022ab2cf77f56a038d028a38f70570ab..343c9de2749c08eea83c7550f9fd82027e5e3166 100644 (file)
@@ -902,7 +902,7 @@ static void ar5523_tx_work(struct work_struct *work)
 
 static void ar5523_tx_wd_timer(struct timer_list *t)
 {
-       struct ar5523 *ar = from_timer(ar, t, tx_wd_timer);
+       struct ar5523 *ar = timer_container_of(ar, t, tx_wd_timer);
 
        ar5523_dbg(ar, "TX watchdog timer triggered\n");
        ieee80211_queue_work(ar->hw, &ar->tx_wd_work);
index 52981052e211a0e23271779f8589618e0b9c8de4..fb0d5d4cae3a1c1bcb82c3bf83d57d79c3661f07 100644 (file)
@@ -257,7 +257,8 @@ static void ath10k_htt_rx_msdu_buff_replenish(struct ath10k_htt *htt)
 
 static void ath10k_htt_rx_ring_refill_retry(struct timer_list *t)
 {
-       struct ath10k_htt *htt = from_timer(htt, t, rx_ring.refill_retry_timer);
+       struct ath10k_htt *htt = timer_container_of(htt, t,
+                                                   rx_ring.refill_retry_timer);
 
        ath10k_htt_rx_msdu_buff_replenish(htt);
 }
index 20ec0a6d0f71c4fee3bf1a3d48b512ebcdfba856..1e6d43285138ece619b9d7dc49f113a439e2085d 100644 (file)
@@ -591,7 +591,7 @@ skip:
 
 static void ath10k_pci_ps_timer(struct timer_list *t)
 {
-       struct ath10k_pci *ar_pci = from_timer(ar_pci, t, ps_timer);
+       struct ath10k_pci *ar_pci = timer_container_of(ar_pci, t, ps_timer);
        struct ath10k *ar = ar_pci->ar;
        unsigned long flags;
 
@@ -844,7 +844,8 @@ void ath10k_pci_rx_post(struct ath10k *ar)
 
 void ath10k_pci_rx_replenish_retry(struct timer_list *t)
 {
-       struct ath10k_pci *ar_pci = from_timer(ar_pci, t, rx_post_retry);
+       struct ath10k_pci *ar_pci = timer_container_of(ar_pci, t,
+                                                      rx_post_retry);
        struct ath10k *ar = ar_pci->ar;
 
        ath10k_pci_rx_post(ar);
index f3212eab56a17c685d9b2c2e0e03225b9e87c63c..c06d50db40b8185e3b5c22088b57801852810725 100644 (file)
@@ -1447,7 +1447,8 @@ release:
 
 static void ath10k_sdio_sleep_timer_handler(struct timer_list *t)
 {
-       struct ath10k_sdio *ar_sdio = from_timer(ar_sdio, t, sleep_timer);
+       struct ath10k_sdio *ar_sdio = timer_container_of(ar_sdio, t,
+                                                        sleep_timer);
 
        ar_sdio->mbox_state = SDIO_MBOX_REQUEST_TO_SLEEP_STATE;
        queue_work(ar_sdio->workqueue, &ar_sdio->wr_async_work);
index 866bad2db3348787b8778a3c9429c0bc2acf1157..b2bf9d72b92fb9c0fb3ac039f6f2f8b74b614810 100644 (file)
@@ -644,7 +644,8 @@ static void ath10k_snoc_htt_rx_cb(struct ath10k_ce_pipe *ce_state)
 
 static void ath10k_snoc_rx_replenish_retry(struct timer_list *t)
 {
-       struct ath10k_snoc *ar_snoc = from_timer(ar_snoc, t, rx_post_retry);
+       struct ath10k_snoc *ar_snoc = timer_container_of(ar_snoc, t,
+                                                        rx_post_retry);
        struct ath10k *ar = ar_snoc->ar;
 
        ath10k_snoc_rx_post(ar);
index 9d8efec46508a1bda1c4345fe352517fa287586a..746038006eb46586c0e47fdeb89faf1ccc4f0c28 100644 (file)
@@ -907,7 +907,7 @@ EXPORT_SYMBOL(ath11k_ce_rx_post_buf);
 
 void ath11k_ce_rx_replenish_retry(struct timer_list *t)
 {
-       struct ath11k_base *ab = from_timer(ab, t, rx_replenish_retry);
+       struct ath11k_base *ab = timer_container_of(ab, t, rx_replenish_retry);
 
        ath11k_ce_rx_post_buf(ab);
 }
index 3a544e5fefca13fc5b8ec65ebed7d25a00c41534..bf3928ada995fe015ddbe455083f4125fa136749 100644 (file)
@@ -1117,8 +1117,9 @@ fail_link_desc_cleanup:
 
 static void ath11k_dp_shadow_timer_handler(struct timer_list *t)
 {
-       struct ath11k_hp_update_timer *update_timer = from_timer(update_timer,
-                                                                t, timer);
+       struct ath11k_hp_update_timer *update_timer = timer_container_of(update_timer,
+                                                                        t,
+                                                                        timer);
        struct ath11k_base *ab = update_timer->ab;
        struct hal_srng *srng = &ab->hal.srng_list[update_timer->ring_id];
 
index ea2959305dec65f7edd930c7751f49eecfef827c..9230a965f6f0eb99fa147d90e28679838209efef 100644 (file)
@@ -308,7 +308,7 @@ static u8 *ath11k_dp_rxdesc_mpdu_start_addr2(struct ath11k_base *ab,
 
 static void ath11k_dp_service_mon_ring(struct timer_list *t)
 {
-       struct ath11k_base *ab = from_timer(ab, t, mon_reap_timer);
+       struct ath11k_base *ab = timer_container_of(ab, t, mon_reap_timer);
        int i;
 
        for (i = 0; i < ab->hw_params.num_rxdma_per_pdev; i++)
@@ -3174,7 +3174,8 @@ move_next:
 
 static void ath11k_dp_rx_frag_timer(struct timer_list *timer)
 {
-       struct dp_rx_tid *rx_tid = from_timer(rx_tid, timer, frag_timer);
+       struct dp_rx_tid *rx_tid = timer_container_of(rx_tid, timer,
+                                                     frag_timer);
 
        spin_lock_bh(&rx_tid->ab->base_lock);
        if (rx_tid->last_frag_no &&
index 47821a3b060bfeb6e8bf70100707863adf0f4845..3f3439262cf47eb2d315c04f8f5bcaecb63a4675 100644 (file)
@@ -868,7 +868,7 @@ void ath12k_ce_rx_post_buf(struct ath12k_base *ab)
 
 void ath12k_ce_rx_replenish_retry(struct timer_list *t)
 {
-       struct ath12k_base *ab = from_timer(ab, t, rx_replenish_retry);
+       struct ath12k_base *ab = timer_container_of(ab, t, rx_replenish_retry);
 
        ath12k_ce_rx_post_buf(ab);
 }
index 7e1a8f29c7b6f0bd05f22ef2c2336b22bd7d25a0..57648febc4a4fc5dc7cff7b0a9bd83208290819d 100644 (file)
@@ -2955,7 +2955,8 @@ exit:
 
 static void ath12k_dp_rx_frag_timer(struct timer_list *timer)
 {
-       struct ath12k_dp_rx_tid *rx_tid = from_timer(rx_tid, timer, frag_timer);
+       struct ath12k_dp_rx_tid *rx_tid = timer_container_of(rx_tid, timer,
+                                                            frag_timer);
 
        spin_lock_bh(&rx_tid->ab->base_lock);
        if (rx_tid->last_frag_no &&
index 867089a3c096748b5508cb5e265aa6bcd4a47fb6..d62b9645975116ddedb2bf9eaf80935d77b6d4cf 100644 (file)
@@ -503,7 +503,7 @@ void ath6kl_connect_ap_mode_sta(struct ath6kl_vif *vif, u16 aid, u8 *mac_addr,
 
 void disconnect_timer_handler(struct timer_list *t)
 {
-       struct ath6kl_vif *vif = from_timer(vif, t, disconnect_timer);
+       struct ath6kl_vif *vif = timer_container_of(vif, t, disconnect_timer);
 
        ath6kl_init_profile_info(vif);
        ath6kl_disconnect(vif);
index fd2dceb8b63dc0ed169865e41f7ac0190146ebd3..43186c193df1a200e82a2d027eecbf1160bdecf4 100644 (file)
@@ -62,7 +62,7 @@ void ath6kl_recovery_hb_event(struct ath6kl *ar, u32 cookie)
 
 static void ath6kl_recovery_hb_timer(struct timer_list *t)
 {
-       struct ath6kl *ar = from_timer(ar, t, fw_recovery.hb_timer);
+       struct ath6kl *ar = timer_container_of(ar, t, fw_recovery.hb_timer);
        int err;
 
        if (test_bit(RECOVERY_CLEANUP, &ar->flag) ||
index 3a6f0b647e17ae3ce4effd1c485a9afe34fa6b3a..c3b06b515c4f410d5ab2dc2492a5d7b98ab79d01 100644 (file)
@@ -1623,7 +1623,8 @@ void ath6kl_rx(struct htc_target *target, struct htc_packet *packet)
 static void aggr_timeout(struct timer_list *t)
 {
        u8 i, j;
-       struct aggr_info_conn *aggr_conn = from_timer(aggr_conn, t, timer);
+       struct aggr_info_conn *aggr_conn = timer_container_of(aggr_conn, t,
+                                                             timer);
        struct rxtid *rxtid;
        struct rxtid_stats *stats;
 
index 3787b9fb0075599cfd9baf291bf94932cb6bf350..84317afe4651e4fb5bc36c00aed4afe0a7fa8b70 100644 (file)
@@ -1078,7 +1078,7 @@ static int ath6kl_wmi_tkip_micerr_event_rx(struct wmi *wmi, u8 *datap, int len,
 
 void ath6kl_wmi_sscan_timer(struct timer_list *t)
 {
-       struct ath6kl_vif *vif = from_timer(vif, t, sched_scan_timer);
+       struct ath6kl_vif *vif = timer_container_of(vif, t, sched_scan_timer);
 
        cfg80211_sched_scan_results(vif->ar->wiphy, 0);
 }
index 799be0be24f46638da559471df68f24d4c8cdc4b..121e51ce1bc0ea09dd005188151f2a2cbb06ce88 100644 (file)
@@ -1040,7 +1040,7 @@ static void ath_scan_channel_start(struct ath_softc *sc)
 
 static void ath_chanctx_timer(struct timer_list *t)
 {
-       struct ath_softc *sc = from_timer(sc, t, sched.timer);
+       struct ath_softc *sc = timer_container_of(sc, t, sched.timer);
        struct ath_common *common = ath9k_hw_common(sc->sc_ah);
 
        ath_dbg(common, CHAN_CTX,
@@ -1051,7 +1051,7 @@ static void ath_chanctx_timer(struct timer_list *t)
 
 static void ath_offchannel_timer(struct timer_list *t)
 {
-       struct ath_softc *sc = from_timer(sc, t, offchannel.timer);
+       struct ath_softc *sc = timer_container_of(sc, t, offchannel.timer);
        struct ath_chanctx *ctx;
        struct ath_common *common = ath9k_hw_common(sc->sc_ah);
 
index 5a26f1d05f045e6a26fbd30707968e648831bb57..2dbc7efdd637aa939303103a70b61f7655f433d9 100644 (file)
@@ -193,7 +193,7 @@ static void ath_mci_ftp_adjust(struct ath_softc *sc)
  */
 static void ath_btcoex_period_timer(struct timer_list *t)
 {
-       struct ath_softc *sc = from_timer(sc, t, btcoex.period_timer);
+       struct ath_softc *sc = timer_container_of(sc, t, btcoex.period_timer);
        struct ath_hw *ah = sc->sc_ah;
        struct ath_btcoex *btcoex = &sc->btcoex;
        enum ath_stomp_type stomp_type;
@@ -254,7 +254,8 @@ skip_hw_wakeup:
  */
 static void ath_btcoex_no_stomp_timer(struct timer_list *t)
 {
-       struct ath_softc *sc = from_timer(sc, t, btcoex.no_stomp_timer);
+       struct ath_softc *sc = timer_container_of(sc, t,
+                                                 btcoex.no_stomp_timer);
        struct ath_hw *ah = sc->sc_ah;
        struct ath_btcoex *btcoex = &sc->btcoex;
 
index ce9c04e418b8d7d8cfc23e9e5d40968022d73daa..ee5945cfc10ebc00a95b871ab3e724591aa1a9bb 100644 (file)
@@ -760,7 +760,8 @@ static void ath9k_htc_tx_cleanup_queue(struct ath9k_htc_priv *priv,
 
 void ath9k_htc_tx_cleanup_timer(struct timer_list *t)
 {
-       struct ath9k_htc_priv *priv = from_timer(priv, t, tx.cleanup_timer);
+       struct ath9k_htc_priv *priv = timer_container_of(priv, t,
+                                                        tx.cleanup_timer);
        struct ath_common *common = ath9k_hw_common(priv->ah);
        struct ath9k_htc_tx_event *event, *tmp;
        struct sk_buff *skb;
index 7f890997bb53102daa014949f2bb2db0468186cf..5d7e3ddb6dbc93287000faeaee045bad683aa79c 100644 (file)
@@ -332,7 +332,7 @@ fail_paprd:
  */
 void ath_ani_calibrate(struct timer_list *t)
 {
-       struct ath_common *common = from_timer(common, t, ani.timer);
+       struct ath_common *common = timer_container_of(common, t, ani.timer);
        struct ath_softc *sc = common->priv;
        struct ath_hw *ah = sc->sc_ah;
        bool longcal = false;
index 92fc5e3d756ef9c00d3fd372f034a35262cb9e31..c56f4f3b89907707ca6efca573a8058632a5be29 100644 (file)
@@ -98,7 +98,7 @@ static bool ath9k_setpower(struct ath_softc *sc, enum ath9k_power_mode mode)
 
 void ath_ps_full_sleep(struct timer_list *t)
 {
-       struct ath_softc *sc = from_timer(sc, t, sleep_timer);
+       struct ath_softc *sc = timer_container_of(sc, t, sleep_timer);
        struct ath_common *common = ath9k_hw_common(sc->sc_ah);
        unsigned long flags;
        bool reset;
index cc2a033e87f53ef6d4b8a6c44932c3f2bc94d340..0f4df5585fd92d3748ec99e638dc5ec433c7b7c4 100644 (file)
@@ -373,7 +373,7 @@ void wcn36xx_dxe_tx_ack_ind(struct wcn36xx *wcn, u32 status)
 
 static void wcn36xx_dxe_tx_timer(struct timer_list *t)
 {
-       struct wcn36xx *wcn = from_timer(wcn, t, tx_ack_timer);
+       struct wcn36xx *wcn = timer_container_of(wcn, t, tx_ack_timer);
        struct ieee80211_tx_info *info;
        unsigned long flags;
        struct sk_buff *skb;
index 59884e8e376522e3172b7d08db95e45e69dfc62e..55c267ab2893b7c48579bb16cbe005440f61a2a8 100644 (file)
@@ -227,7 +227,7 @@ static void wil_ndev_destructor(struct net_device *ndev)
 
 static void wil_connect_timer_fn(struct timer_list *t)
 {
-       struct wil6210_vif *vif = from_timer(vif, t, connect_timer);
+       struct wil6210_vif *vif = timer_container_of(vif, t, connect_timer);
        struct wil6210_priv *wil = vif_to_wil(vif);
        bool q;
 
@@ -243,7 +243,7 @@ static void wil_connect_timer_fn(struct timer_list *t)
 
 static void wil_scan_timer_fn(struct timer_list *t)
 {
-       struct wil6210_vif *vif = from_timer(vif, t, scan_timer);
+       struct wil6210_vif *vif = timer_container_of(vif, t, scan_timer);
        struct wil6210_priv *wil = vif_to_wil(vif);
 
        clear_bit(wil_status_fwready, wil->status);
@@ -253,7 +253,8 @@ static void wil_scan_timer_fn(struct timer_list *t)
 
 static void wil_p2p_discovery_timer_fn(struct timer_list *t)
 {
-       struct wil6210_vif *vif = from_timer(vif, t, p2p.discovery_timer);
+       struct wil6210_vif *vif = timer_container_of(vif, t,
+                                                    p2p.discovery_timer);
        struct wil6210_priv *wil = vif_to_wil(vif);
 
        wil_dbg_misc(wil, "p2p_discovery_timer_fn\n");
index e0de34a3e43a1ce736d9752e1aab594231b16a9d..69ef8cf203d24f1f2b268e19b908a6023cd62055 100644 (file)
@@ -272,7 +272,8 @@ static void brcmf_btcoex_restore_part1(struct brcmf_btcoex_info *btci)
  */
 static void brcmf_btcoex_timerfunc(struct timer_list *t)
 {
-       struct brcmf_btcoex_info *bt_local = from_timer(bt_local, t, timer);
+       struct brcmf_btcoex_info *bt_local = timer_container_of(bt_local, t,
+                                                               timer);
        brcmf_dbg(TRACE, "enter\n");
 
        bt_local->timer_on = false;
index dc2383faddd1229bd46b092cc21e074ef47a808c..b94c3619526cfafa4c3decd22c8bf01694a9ff64 100644 (file)
@@ -3557,7 +3557,7 @@ static void brcmf_cfg80211_escan_timeout_worker(struct work_struct *work)
 static void brcmf_escan_timeout(struct timer_list *t)
 {
        struct brcmf_cfg80211_info *cfg =
-                       from_timer(cfg, t, escan_timeout);
+                       timer_container_of(cfg, t, escan_timeout);
        struct brcmf_pub *drvr = cfg->pub;
 
        if (cfg->int_escan_map || cfg->scan_request) {
index 9f1854b3d1a58b9df6e528dd2380a3b1b347a479..8f97562811d7fcb9d705611327452e217461104d 100644 (file)
@@ -2328,7 +2328,8 @@ brcmf_pcie_fwcon_timer(struct brcmf_pciedev_info *devinfo, bool active)
 static void
 brcmf_pcie_fwcon(struct timer_list *t)
 {
-       struct brcmf_pciedev_info *devinfo = from_timer(devinfo, t, timer);
+       struct brcmf_pciedev_info *devinfo = timer_container_of(devinfo, t,
+                                                               timer);
 
        if (!devinfo->console_active)
                return;
index 93727b9a5f0d776bd9fa63beb275cc06be250da1..cf26ab15ee0c806b8e95eace86ce3a033526df98 100644 (file)
@@ -4121,7 +4121,7 @@ brcmf_sdio_watchdog_thread(void *data)
 static void
 brcmf_sdio_watchdog(struct timer_list *t)
 {
-       struct brcmf_sdio *bus = from_timer(bus, t, timer);
+       struct brcmf_sdio *bus = timer_container_of(bus, t, timer);
 
        if (bus->watchdog_tsk) {
                complete(&bus->watchdog_wait);
index dfcc12aa8620a76315b50160c0615043d6e0a079..243d0c5928a263e08f53d5e663cb44700691d7aa 100644 (file)
@@ -110,8 +110,8 @@ static void libipw_crypt_quiescing(struct libipw_crypt_info *info)
 
 static void libipw_crypt_deinit_handler(struct timer_list *t)
 {
-       struct libipw_crypt_info *info = from_timer(info, t,
-                                                   crypt_deinit_timer);
+       struct libipw_crypt_info *info = timer_container_of(info, t,
+                                                           crypt_deinit_timer);
        unsigned long flags;
 
        libipw_crypt_deinit_entries(info, 0);
index df1b8ec8665145d47e73c44957ea3b9b9a713934..1826c37c090c91b39229a8b2021bd908a97b4ef4 100644 (file)
@@ -168,7 +168,8 @@ il3945_rate_scale_flush_wins(struct il3945_rs_sta *rs_sta)
 static void
 il3945_bg_rate_scale_flush(struct timer_list *t)
 {
-       struct il3945_rs_sta *rs_sta = from_timer(rs_sta, t, rate_scale_flush);
+       struct il3945_rs_sta *rs_sta = timer_container_of(rs_sta, t,
+                                                         rate_scale_flush);
        struct il_priv *il __maybe_unused = rs_sta->il;
        int unflushed = 0;
        unsigned long flags;
index dc8c408902e6a635c9f97285bf697067247d26b7..8e58e97a148f8ca0aae88f4b57041a3d3d5f5d6f 100644 (file)
@@ -4051,7 +4051,7 @@ il4965_hdl_alive(struct il_priv *il, struct il_rx_buf *rxb)
 static void
 il4965_bg_stats_periodic(struct timer_list *t)
 {
-       struct il_priv *il = from_timer(il, t, stats_periodic);
+       struct il_priv *il = timer_container_of(il, t, stats_periodic);
 
        if (test_bit(S_EXIT_PENDING, &il->status))
                return;
index 09fb4b758704a97148e875dcd196ce1cd0a18f46..9a86688aea67594001f3233cb22d2636537d606b 100644 (file)
@@ -4804,7 +4804,7 @@ il_check_stuck_queue(struct il_priv *il, int cnt)
 void
 il_bg_watchdog(struct timer_list *t)
 {
-       struct il_priv *il = from_timer(il, t, watchdog);
+       struct il_priv *il = timer_container_of(il, t, watchdog);
        int cnt;
        unsigned long timeout;
 
index 1d619384c629dd76468a6f6fa6aced8d8dcfbb33..dbfd45948e8b84383361aade29a4ca245264609c 100644 (file)
@@ -381,7 +381,8 @@ int iwl_send_statistics_request(struct iwl_priv *priv, u8 flags, bool clear)
  */
 static void iwl_bg_statistics_periodic(struct timer_list *t)
 {
-       struct iwl_priv *priv = from_timer(priv, t, statistics_periodic);
+       struct iwl_priv *priv = timer_container_of(priv, t,
+                                                  statistics_periodic);
 
        if (test_bit(STATUS_EXIT_PENDING, &priv->status))
                return;
@@ -537,7 +538,7 @@ static void iwl_continuous_event_trace(struct iwl_priv *priv)
  */
 static void iwl_bg_ucode_trace(struct timer_list *t)
 {
-       struct iwl_priv *priv = from_timer(priv, t, ucode_trace);
+       struct iwl_priv *priv = timer_container_of(priv, t, ucode_trace);
 
        if (test_bit(STATUS_EXIT_PENDING, &priv->status))
                return;
index 98f0949b36835ae294faa90c2be870d10a413d06..96831ce8da6f16097704d8778190bf5e40c0b92e 100644 (file)
@@ -137,8 +137,8 @@ enum iwl_antenna_ok iwl_tx_ant_restriction(struct iwl_priv *priv)
  */
 static void iwl_tt_check_exit_ct_kill(struct timer_list *t)
 {
-       struct iwl_priv *priv = from_timer(priv, t,
-                                          thermal_throttle.ct_kill_exit_tm);
+       struct iwl_priv *priv = timer_container_of(priv, t,
+                                                  thermal_throttle.ct_kill_exit_tm);
        struct iwl_tt_mgmt *tt = &priv->thermal_throttle;
 
        if (test_bit(STATUS_EXIT_PENDING, &priv->status))
@@ -187,8 +187,8 @@ static void iwl_perform_ct_kill_task(struct iwl_priv *priv,
 
 static void iwl_tt_ready_for_ct_kill(struct timer_list *t)
 {
-       struct iwl_priv *priv = from_timer(priv, t,
-                                          thermal_throttle.ct_kill_waiting_tm);
+       struct iwl_priv *priv = timer_container_of(priv, t,
+                                                  thermal_throttle.ct_kill_waiting_tm);
        struct iwl_tt_mgmt *tt = &priv->thermal_throttle;
 
        if (test_bit(STATUS_EXIT_PENDING, &priv->status))
index 5c8f6dc9a3e00e9f9d951644a8062ed8f01088da..5240dacf13607b25db96f8e0da838708845c935e 100644 (file)
@@ -949,7 +949,7 @@ static void iwl_dbg_tlv_apply_config(struct iwl_fw_runtime *fwrt,
 static void iwl_dbg_tlv_periodic_trig_handler(struct timer_list *t)
 {
        struct iwl_dbg_tlv_timer_node *timer_node =
-               from_timer(timer_node, t, timer);
+               timer_container_of(timer_node, t, timer);
        struct iwl_fwrt_dump_data dump_data = {
                .trig = (void *)timer_node->tlv->data,
        };
index bda488ae9eec24567a3a53ac17925b7c7b16edf7..6b349270481d45dee07829f97bbc2181d89415c8 100644 (file)
@@ -317,7 +317,7 @@ EXPORT_SYMBOL_IF_IWLWIFI_KUNIT(iwl_mld_reorder);
 static void iwl_mld_rx_agg_session_expired(struct timer_list *t)
 {
        struct iwl_mld_baid_data *data =
-               from_timer(data, t, session_timer);
+               timer_container_of(data, t, session_timer);
        struct iwl_mld_baid_data __rcu **rcu_ptr = data->rcu_ptr;
        struct iwl_mld_baid_data *ba_data;
        struct ieee80211_link_sta *link_sta;
index 8ec4a007b4b07a43c395213405ebeb107324ebcc..5f67975989981379be437971aad7f743acddbd4c 100644 (file)
@@ -253,7 +253,7 @@ int iwl_mvm_sta_send_to_fw(struct iwl_mvm *mvm, struct ieee80211_sta *sta,
 static void iwl_mvm_rx_agg_session_expired(struct timer_list *t)
 {
        struct iwl_mvm_baid_data *data =
-               from_timer(data, t, session_timer);
+               timer_container_of(data, t, session_timer);
        struct iwl_mvm_baid_data __rcu **rcu_ptr = data->rcu_ptr;
        struct iwl_mvm_baid_data *ba_data;
        struct ieee80211_sta *sta;
index 7abd7c7daa89f61cb9dbe508c4084cdd75c77dd2..bb467e2b1779b52754f0cf83d03d7843e184c97d 100644 (file)
@@ -700,7 +700,7 @@ void iwl_txq_log_scd_error(struct iwl_trans *trans, struct iwl_txq *txq)
 
 static void iwl_txq_stuck_timer(struct timer_list *t)
 {
-       struct iwl_txq *txq = from_timer(txq, t, stuck_timer);
+       struct iwl_txq *txq = timer_container_of(txq, t, stuck_timer);
        struct iwl_trans *trans = txq->trans;
 
        spin_lock(&txq->lock);
index ea3cc2eaec36cbebdaa2d4cbf253f7a9f854382d..b3c4040257a6708bba4bbb39db740a2590eab542 100644 (file)
@@ -165,7 +165,7 @@ static void if_usb_setup_firmware(struct lbs_private *priv)
 
 static void if_usb_fw_timeo(struct timer_list *t)
 {
-       struct if_usb_card *cardp = from_timer(cardp, t, fw_timeout);
+       struct if_usb_card *cardp = timer_container_of(cardp, t, fw_timeout);
 
        if (cardp->fwdnldover) {
                lbs_deb_usb("Download complete, no event. Assuming success\n");
index 26d13e9b3c952da06dc28af2e49f8dcc360d432c..d44e02c6fe3852ca987543fad44dce6ec6d59e99 100644 (file)
@@ -693,7 +693,7 @@ EXPORT_SYMBOL_GPL(lbs_resume);
  */
 static void lbs_cmd_timeout_handler(struct timer_list *t)
 {
-       struct lbs_private *priv = from_timer(priv, t, command_timer);
+       struct lbs_private *priv = timer_container_of(priv, t, command_timer);
        unsigned long flags;
 
        spin_lock_irqsave(&priv->driver_lock, flags);
@@ -727,7 +727,8 @@ out:
  */
 static void lbs_tx_lockup_handler(struct timer_list *t)
 {
-       struct lbs_private *priv = from_timer(priv, t, tx_lockup_timer);
+       struct lbs_private *priv = timer_container_of(priv, t,
+                                                     tx_lockup_timer);
        unsigned long flags;
 
        spin_lock_irqsave(&priv->driver_lock, flags);
index 7c413dc81f9ac88fd9dd8e14a268dcb2b36a1859..5662a244f82a81d79f17b858134d6ef16c13e757 100644 (file)
@@ -113,7 +113,7 @@ static void if_usb_setup_firmware(struct lbtf_private *priv)
 
 static void if_usb_fw_timeo(struct timer_list *t)
 {
-       struct if_usb_card *cardp = from_timer(cardp, t, fw_timeout);
+       struct if_usb_card *cardp = timer_container_of(cardp, t, fw_timeout);
 
        lbtf_deb_enter(LBTF_DEB_USB);
        if (!cardp->fwdnldover) {
index a57a11be57d86fd6a1f2b5c892ce2955900d3e0e..50c0f6179e2da28d9d22b8acaf44f76031bc599e 100644 (file)
@@ -126,7 +126,7 @@ static void lbtf_cmd_work(struct work_struct *work)
  */
 static void command_timer_fn(struct timer_list *t)
 {
-       struct lbtf_private *priv = from_timer(priv, t, command_timer);
+       struct lbtf_private *priv = timer_container_of(priv, t, command_timer);
        unsigned long flags;
        lbtf_deb_enter(LBTF_DEB_CMD);
 
index 8aff1df09b40db1818b23e419bb20003bb0ee10b..354c5ce66045503cb4c60697d6206bfb887785ec 100644 (file)
@@ -300,7 +300,7 @@ static void
 mwifiex_flush_data(struct timer_list *t)
 {
        struct reorder_tmr_cnxt *ctx =
-               from_timer(ctx, t, timer);
+               timer_container_of(ctx, t, timer);
        int start_win, seq_num;
 
        ctx->timer_is_set = false;
index 3bf27efe4537027c338779c728ad7429b7e76a0c..0f466c31337fa929489261a1c27b69069dd0f705 100644 (file)
@@ -934,7 +934,8 @@ void mwifiex_process_assoc_resp(struct mwifiex_adapter *adapter)
 void
 mwifiex_cmd_timeout_func(struct timer_list *t)
 {
-       struct mwifiex_adapter *adapter = from_timer(adapter, t, cmd_timer);
+       struct mwifiex_adapter *adapter = timer_container_of(adapter, t,
+                                                            cmd_timer);
        struct cmd_ctrl_node *cmd_node;
 
        set_bit(MWIFIEX_IS_CMD_TIMEDOUT, &adapter->work_flags);
index 32c374e4779436f1ca95561ed963b8086b1ddbb5..4820010a86f6b1833c2886bcd27cd674700e3409 100644 (file)
@@ -41,7 +41,8 @@ static int mwifiex_add_bss_prio_tbl(struct mwifiex_private *priv)
 
 static void wakeup_timer_fn(struct timer_list *t)
 {
-       struct mwifiex_adapter *adapter = from_timer(adapter, t, wakeup_timer);
+       struct mwifiex_adapter *adapter = timer_container_of(adapter, t,
+                                                            wakeup_timer);
 
        mwifiex_dbg(adapter, ERROR, "Firmware wakeup failed\n");
        adapter->hw_status = MWIFIEX_HW_STATUS_RESET;
index 18e8c04d14c4eda45fbf70856d47d10506e2703e..77a9a6de636d1f748cfa859de8bf373bee0a5054 100644 (file)
@@ -1415,7 +1415,8 @@ void mwifiex_auto_tdls_update_peer_signal(struct mwifiex_private *priv,
 
 void mwifiex_check_auto_tdls(struct timer_list *t)
 {
-       struct mwifiex_private *priv = from_timer(priv, t, auto_tdls_timer);
+       struct mwifiex_private *priv = timer_container_of(priv, t,
+                                                         auto_tdls_timer);
        struct mwifiex_auto_tdls_peer *tdls_peer;
        u16 reason = WLAN_REASON_TDLS_TEARDOWN_UNSPECIFIED;
 
index 2f565397cf3622f5ee841f1619c66157db28b1a9..947ecb0a7b4050b759301edc9facac9118ab2f9d 100644 (file)
@@ -1125,7 +1125,7 @@ static void mwifiex_usb_tx_aggr_tmo(struct timer_list *t)
        struct urb_context *urb_cnxt = NULL;
        struct sk_buff *skb_send = NULL;
        struct tx_aggr_tmr_cnxt *timer_context =
-               from_timer(timer_context, t, hold_timer);
+               timer_container_of(timer_context, t, hold_timer);
        struct mwifiex_adapter *adapter = timer_context->adapter;
        struct usb_tx_data_port *port = timer_context->port;
        int err = 0;
index c54005df08ca0669b0efd630b2ddd19e8b1db82a..8a37fb37f77d2488b78ffeb7b3f2c8c03702c646 100644 (file)
@@ -1043,7 +1043,7 @@ void mt7615_roc_work(struct work_struct *work)
 
 void mt7615_roc_timer(struct timer_list *timer)
 {
-       struct mt7615_phy *phy = from_timer(phy, timer, roc_timer);
+       struct mt7615_phy *phy = timer_container_of(phy, timer, roc_timer);
 
        ieee80211_queue_work(phy->mt76->hw, &phy->roc_work);
 }
index 38dd58f6e49321ad3a40d5d338ee9e715e39101a..a50c1723ca290e001bf31ed1f081684a2ca1b82c 100644 (file)
@@ -283,7 +283,7 @@ EXPORT_SYMBOL_GPL(mt792x_tx_worker);
 
 void mt792x_roc_timer(struct timer_list *timer)
 {
-       struct mt792x_phy *phy = from_timer(phy, timer, roc_timer);
+       struct mt792x_phy *phy = timer_container_of(phy, timer, roc_timer);
 
        ieee80211_queue_work(phy->mt76->hw, &phy->roc_work);
 }
@@ -291,7 +291,7 @@ EXPORT_SYMBOL_GPL(mt792x_roc_timer);
 
 void mt792x_csa_timer(struct timer_list *timer)
 {
-       struct mt792x_vif *mvif = from_timer(mvif, timer, csa_timer);
+       struct mt792x_vif *mvif = timer_container_of(mvif, timer, csa_timer);
 
        ieee80211_queue_work(mvif->phy->mt76->hw, &mvif->csa_work);
 }
index cb46a39ef7579692670521f8aa2d9b30c41ec75f..a229c6cab3322decd1c698bc16ef2fe983660c0a 100644 (file)
@@ -953,8 +953,8 @@ static void wilc_handle_listen_state_expired(struct work_struct *work)
 
 static void listen_timer_cb(struct timer_list *t)
 {
-       struct host_if_drv *hif_drv = from_timer(hif_drv, t,
-                                                     remain_on_ch_timer);
+       struct host_if_drv *hif_drv = timer_container_of(hif_drv, t,
+                                                        remain_on_ch_timer);
        struct wilc_vif *vif = hif_drv->remain_on_ch_timer_vif;
        int result;
        struct host_if_msg *msg;
@@ -1075,7 +1075,8 @@ static void handle_scan_complete(struct work_struct *work)
 
 static void timer_scan_cb(struct timer_list *t)
 {
-       struct host_if_drv *hif_drv = from_timer(hif_drv, t, scan_timer);
+       struct host_if_drv *hif_drv = timer_container_of(hif_drv, t,
+                                                        scan_timer);
        struct wilc_vif *vif = hif_drv->scan_timer_vif;
        struct host_if_msg *msg;
        int result;
@@ -1091,8 +1092,8 @@ static void timer_scan_cb(struct timer_list *t)
 
 static void timer_connect_cb(struct timer_list *t)
 {
-       struct host_if_drv *hif_drv = from_timer(hif_drv, t,
-                                                     connect_timer);
+       struct host_if_drv *hif_drv = timer_container_of(hif_drv, t,
+                                                        connect_timer);
        struct wilc_vif *vif = hif_drv->connect_timer_vif;
        struct host_if_msg *msg;
        int result;
@@ -1497,7 +1498,7 @@ int wilc_hif_set_cfg(struct wilc_vif *vif, struct cfg_param_attr *param)
 
 static void get_periodic_rssi(struct timer_list *t)
 {
-       struct wilc_vif *vif = from_timer(vif, t, periodic_rssi);
+       struct wilc_vif *vif = timer_container_of(vif, t, periodic_rssi);
 
        if (!vif->hif_drv) {
                netdev_err(vif->ndev, "%s: hif driver is NULL", __func__);
index c2a1234b59db6c1c9e65a1f1594bc43a40edbd1a..d8b0b79dea1ac47eeea5d2073bb9fe63ed821e69 100644 (file)
@@ -548,7 +548,7 @@ error:
 
 static void slif_data_plane_sap_timer_callb(struct timer_list *t)
 {
-       struct plfxlc_usb *usb = from_timer(usb, t, tx.tx_retry_timer);
+       struct plfxlc_usb *usb = timer_container_of(usb, t, tx.tx_retry_timer);
 
        plfxlc_send_packet_from_data_queue(usb);
        timer_setup(&usb->tx.tx_retry_timer,
@@ -558,7 +558,7 @@ static void slif_data_plane_sap_timer_callb(struct timer_list *t)
 
 static void sta_queue_cleanup_timer_callb(struct timer_list *t)
 {
-       struct plfxlc_usb *usb = from_timer(usb, t, sta_queue_cleanup);
+       struct plfxlc_usb *usb = timer_container_of(usb, t, sta_queue_cleanup);
        struct plfxlc_usb_tx *tx = &usb->tx;
        int sidx;
 
index 6189edc1d8d77b0276dc62ad2c4a0e1b29b0a06e..e26feb8de6589a9d143560800dd9896fcbacd906 100644 (file)
@@ -2220,7 +2220,8 @@ label_lps_done:
 
 void rtl_watch_dog_timer_callback(struct timer_list *t)
 {
-       struct rtl_priv *rtlpriv = from_timer(rtlpriv, t, works.watchdog_timer);
+       struct rtl_priv *rtlpriv = timer_container_of(rtlpriv, t,
+                                                     works.watchdog_timer);
 
        queue_delayed_work(rtlpriv->works.rtl_wq,
                           &rtlpriv->works.watchdog_wq, 0);
index 5a34894a533bee1a1868882aad12a0e062a36b13..f749d19ec5f56b6c906a37ee0ce436a44b0b0f37 100644 (file)
@@ -1684,7 +1684,8 @@ static void rtl88e_dm_fast_ant_training(struct ieee80211_hw *hw)
 void rtl88e_dm_fast_antenna_training_callback(struct timer_list *t)
 {
        struct rtl_priv *rtlpriv =
-               from_timer(rtlpriv, t, works.fast_antenna_training_timer);
+               timer_container_of(rtlpriv, t,
+                                  works.fast_antenna_training_timer);
        struct ieee80211_hw *hw = rtlpriv->hw;
 
        rtl88e_dm_fast_ant_training(hw);
index 27f6c35ba0f9fdabe0286d68a334a8da02cb34f3..d122f1eb345e5699028a9cfc1225f30634c49d38 100644 (file)
@@ -237,8 +237,8 @@ static void _rtl88ee_set_fw_ps_rf_off_low_power(struct ieee80211_hw *hw)
 
 void rtl88ee_fw_clk_off_timer_callback(struct timer_list *t)
 {
-       struct rtl_priv *rtlpriv = from_timer(rtlpriv, t,
-                                             works.fw_clockoff_timer);
+       struct rtl_priv *rtlpriv = timer_container_of(rtlpriv, t,
+                                                     works.fw_clockoff_timer);
        struct ieee80211_hw *hw = rtlpriv->hw;
 
        _rtl88ee_set_fw_ps_rf_off_low_power(hw);
index 6ed470dd6f221ad58854017bac0701f2ce096a3e..2ab440cb2d67bbb689c43f6dc50582e96fafdd82 100644 (file)
@@ -178,7 +178,8 @@ static void rtw_tx_report_enable(struct rtw_dev *rtwdev,
 
 void rtw_tx_report_purge_timer(struct timer_list *t)
 {
-       struct rtw_dev *rtwdev = from_timer(rtwdev, t, tx_report.purge_timer);
+       struct rtw_dev *rtwdev = timer_container_of(rtwdev, t,
+                                                   tx_report.purge_timer);
        struct rtw_tx_report *tx_report = &rtwdev->tx_report;
        unsigned long flags;
 
index 53827657abb20d20c9ab36af3cdcf1c58c3873ec..7d26314a3e76a87d75efa527bb49d6f202f095ad 100644 (file)
@@ -490,7 +490,7 @@ int rsi_prepare_beacon(struct rsi_common *common, struct sk_buff *skb)
 
 static void bl_cmd_timeout(struct timer_list *t)
 {
-       struct rsi_hw *adapter = from_timer(adapter, t, bl_cmd_timer);
+       struct rsi_hw *adapter = timer_container_of(adapter, t, bl_cmd_timer);
 
        adapter->blcmd_timer_expired = true;
        timer_delete(&adapter->bl_cmd_timer);
index 9db08200f4fa13e37344f1d0f6301da3c52c0435..0e115b428f96f1e9a71d2d3cf8cc5c72de5033ff 100644 (file)
@@ -1746,7 +1746,7 @@ static void rsi_resume_conn_channel(struct rsi_common *common)
 
 void rsi_roc_timeout(struct timer_list *t)
 {
-       struct rsi_common *common = from_timer(common, t, roc_timer);
+       struct rsi_common *common = timer_container_of(common, t, roc_timer);
 
        rsi_dbg(INFO_ZONE, "Remain on channel expired\n");
 
index 4fd76183c368b5cdf739c8d5e928895a4b1ddc0c..a933e2c7dc2c0ab8b7222f3aca25824ab1a9be08 100644 (file)
@@ -133,7 +133,7 @@ static void cw1200_queue_gc(struct timer_list *t)
 {
        LIST_HEAD(list);
        struct cw1200_queue *queue =
-               from_timer(queue, t, gc);
+               timer_container_of(queue, t, gc);
 
        spin_lock_bh(&queue->lock);
        __cw1200_queue_gc(queue, &list, true);
index 444272caf124cd5e533f60f2b37721732411c1f0..5dd7f6a389006db4f15ec8c2b757ee9b5487e12d 100644 (file)
@@ -2112,7 +2112,8 @@ void cw1200_multicast_stop_work(struct work_struct *work)
 
 void cw1200_mcast_timeout(struct timer_list *t)
 {
-       struct cw1200_common *priv = from_timer(priv, t, mcast_timeout);
+       struct cw1200_common *priv = timer_container_of(priv, t,
+                                                       mcast_timeout);
 
        wiphy_warn(priv->hw->wiphy,
                   "Multicast delivery timeout.\n");
index ea9bc4717a85e470173b8a045e236200adbdb67a..f93c95edd9915e0c8f83a61065911806f9961e56 100644 (file)
@@ -189,7 +189,8 @@ out:
 
 static void wl1271_rx_streaming_timer(struct timer_list *t)
 {
-       struct wl12xx_vif *wlvif = from_timer(wlvif, t, rx_streaming_timer);
+       struct wl12xx_vif *wlvif = timer_container_of(wlvif, t,
+                                                     rx_streaming_timer);
        struct wl1271 *wl = wlvif->wl;
        ieee80211_queue_work(wl->hw, &wlvif->rx_streaming_disable_work);
 }
index 5836995d6774bc3c9e810bf5c14492f8df248b3f..c759ebc564570276fa23b896e0136e218556295d 100644 (file)
@@ -198,7 +198,8 @@ static void tx_add_credit(struct xenvif_queue *queue)
 
 void xenvif_tx_credit_callback(struct timer_list *t)
 {
-       struct xenvif_queue *queue = from_timer(queue, t, credit_timeout);
+       struct xenvif_queue *queue = timer_container_of(queue, t,
+                                                       credit_timeout);
        tx_add_credit(queue);
        xenvif_napi_schedule_or_enable_events(queue);
 }
index 5091e1fa4a0df63358c93c0a18bbba62bd097d3a..9bac50963477f1ce3fd36e9c2a062394a3ad4a6d 100644 (file)
@@ -245,7 +245,8 @@ static bool xennet_can_sg(struct net_device *dev)
 
 static void rx_refill_timeout(struct timer_list *t)
 {
-       struct netfront_queue *queue = from_timer(queue, t, rx_refill_timer);
+       struct netfront_queue *queue = timer_container_of(queue, t,
+                                                         rx_refill_timer);
        napi_schedule(&queue->napi);
 }
 
index 43ce0c9b23550dfc1f02af777fbf9dd1c92995ff..a9b03dcc410067ace4a4537d7882465ff7310d0c 100644 (file)
@@ -119,7 +119,8 @@ static void fw_dnld_over(struct nfcmrvl_private *priv, u32 error)
 
 static void fw_dnld_timeout(struct timer_list *t)
 {
-       struct nfcmrvl_private *priv = from_timer(priv, t, fw_dnld.timer);
+       struct nfcmrvl_private *priv = timer_container_of(priv, t,
+                                                         fw_dnld.timer);
 
        nfc_err(priv->dev, "FW loading timeout");
        priv->fw_dnld.state = STATE_RESET;
index 34c40d10e2602aee3fe0041e5db31b3e31032789..14661249c690281a406d8ae0fa7f3382bf55316f 100644 (file)
@@ -1233,7 +1233,7 @@ static int pn533_init_target_complete(struct pn533 *dev, struct sk_buff *resp)
 
 static void pn533_listen_mode_timer(struct timer_list *t)
 {
-       struct pn533 *dev = from_timer(dev, t, listen_timer);
+       struct pn533 *dev = timer_container_of(dev, t, listen_timer);
 
        dev->cancel_listen = 1;
 
index 580c9193e4a79b02210558349ee976789bac1c49..a081bce61c29f6c159eb1b5ab604d88f4c487a85 100644 (file)
@@ -133,7 +133,7 @@ static const struct pn533_phy_ops uart_phy_ops = {
 
 static void pn532_cmd_timeout(struct timer_list *t)
 {
-       struct pn532_uart_phy *dev = from_timer(dev, t, cmd_timeout);
+       struct pn532_uart_phy *dev = timer_container_of(dev, t, cmd_timeout);
 
        pn532_uart_send_frame(dev->priv, dev->cur_out_buf);
 }
index 8feac119a4bcba7d710b11da013d349b118cb20c..be4808859cfa9fffa5d9cac4e617e54d901102e1 100644 (file)
@@ -237,14 +237,14 @@ EXPORT_SYMBOL(ndlc_recv);
 
 static void ndlc_t1_timeout(struct timer_list *t)
 {
-       struct llt_ndlc *ndlc = from_timer(ndlc, t, t1_timer);
+       struct llt_ndlc *ndlc = timer_container_of(ndlc, t, t1_timer);
 
        schedule_work(&ndlc->sm_work);
 }
 
 static void ndlc_t2_timeout(struct timer_list *t)
 {
-       struct llt_ndlc *ndlc = from_timer(ndlc, t, t2_timer);
+       struct llt_ndlc *ndlc = timer_container_of(ndlc, t, t2_timer);
 
        schedule_work(&ndlc->sm_work);
 }
index 8cfe5405bae626987a9809a7b4e60f7e961217fd..607ec768eb7b4cf51d1af0a6ef29dc5ccf7e454d 100644 (file)
@@ -696,7 +696,8 @@ static void st_nci_se_wt_timeout(struct timer_list *t)
         */
        /* hardware reset managed through VCC_UICC_OUT power supply */
        u8 param = 0x01;
-       struct st_nci_info *info = from_timer(info, t, se_info.bwi_timer);
+       struct st_nci_info *info = timer_container_of(info, t,
+                                                     se_info.bwi_timer);
 
        info->se_info.bwi_active = false;
 
@@ -714,8 +715,8 @@ static void st_nci_se_wt_timeout(struct timer_list *t)
 
 static void st_nci_se_activation_timeout(struct timer_list *t)
 {
-       struct st_nci_info *info = from_timer(info, t,
-                                             se_info.se_active_timer);
+       struct st_nci_info *info = timer_container_of(info, t,
+                                                     se_info.se_active_timer);
 
        info->se_info.se_active = false;
 
index 9a50f3c03bd461733e1b06b3e045ab699fd15942..7154bc1d644ae9ea60318b02ed63b8bcbb516bf9 100644 (file)
@@ -280,15 +280,16 @@ static void st21nfca_se_wt_work(struct work_struct *work)
 
 static void st21nfca_se_wt_timeout(struct timer_list *t)
 {
-       struct st21nfca_hci_info *info = from_timer(info, t, se_info.bwi_timer);
+       struct st21nfca_hci_info *info = timer_container_of(info, t,
+                                                           se_info.bwi_timer);
 
        schedule_work(&info->se_info.timeout_work);
 }
 
 static void st21nfca_se_activation_timeout(struct timer_list *t)
 {
-       struct st21nfca_hci_info *info = from_timer(info, t,
-                                                   se_info.se_active_timer);
+       struct st21nfca_hci_info *info = timer_container_of(info, t,
+                                                           se_info.se_active_timer);
 
        info->se_info.se_active = false;
 
index 140079ff86e6b80e8be5394301edddc8d4c52a45..e040e467f9fa08dcd344a842ea83549df09cce1d 100644 (file)
@@ -998,7 +998,7 @@ void nvme_mpath_update(struct nvme_ctrl *ctrl)
 
 static void nvme_anatt_timeout(struct timer_list *t)
 {
-       struct nvme_ctrl *ctrl = from_timer(ctrl, t, anatt_timer);
+       struct nvme_ctrl *ctrl = timer_container_of(ctrl, t, anatt_timer);
 
        dev_info(ctrl->device, "ANATT timeout, resetting controller.\n");
        nvme_reset_ctrl(ctrl);
index 474515d27e9c38fd9bde115219fbe403f4235d5b..4035010249cd599634d204e473f76a0133362e17 100644 (file)
@@ -40,7 +40,7 @@ static void parport_ieee1284_wakeup (struct parport *port)
 
 static void timeout_waiting_on_port (struct timer_list *t)
 {
-       struct parport *port = from_timer(port, t, timer);
+       struct parport *port = timer_container_of(port, t, timer);
 
        parport_ieee1284_wakeup (port);
 }
index 20529d1a3c44a96d7494fab9ca3b4dc0ac3f79e2..760a5dec04316d2dc04b8e7b458cccc7575296ae 100644 (file)
@@ -1883,7 +1883,7 @@ void cpqhp_pushbutton_thread(struct timer_list *t)
 {
        u8 hp_slot;
        struct pci_func *func;
-       struct slot *p_slot = from_timer(p_slot, t, task_event);
+       struct slot *p_slot = timer_container_of(p_slot, t, task_event);
        struct controller *ctrl = (struct controller *) p_slot->ctrl;
 
        pushbutton_pending = NULL;
index 387b85585263d0017ad0f86d26258f9c58c0ecfb..183bf43510a10768a45657bc20ad9df9d2d4cb9d 100644 (file)
@@ -211,7 +211,7 @@ static inline int shpc_indirect_read(struct controller *ctrl, int index,
  */
 static void int_poll_timeout(struct timer_list *t)
 {
-       struct controller *ctrl = from_timer(ctrl, t, poll_timer);
+       struct controller *ctrl = timer_container_of(ctrl, t, poll_timer);
 
        /* Poll for interrupt events.  regs == NULL => polling */
        shpc_isr(0, ctrl);
index 85874b7a9f36853028d187079eb1dbde9f9b758b..d3baed44464662cdc4f6c5c187a365adabddffab 100644 (file)
@@ -268,7 +268,7 @@ static void bcm63xx_pcmcia_poll(struct timer_list *t)
        struct bcm63xx_pcmcia_socket *skt;
        unsigned int stat, events;
 
-       skt = from_timer(skt, t, timer);
+       skt = timer_container_of(skt, t, timer);
 
        spin_lock_bh(&skt->lock);
 
index 3bdd939dd2f4a54808ddc2c554dbb7d455caf3c7..2530079d38f48fc503e2e1d754830001386de22b 100644 (file)
@@ -68,7 +68,7 @@ static int electra_cf_ss_init(struct pcmcia_socket *s)
 /* the timer is primarily to kick this socket's pccardd */
 static void electra_cf_timer(struct timer_list *t)
 {
-       struct electra_cf_socket *cf = from_timer(cf, t, timer);
+       struct electra_cf_socket *cf = timer_container_of(cf, t, timer);
        int present = electra_cf_present(cf);
 
        if (present != cf->present) {
index f0ccf479f36e52232225eee65eb5b7a3f7b0ecf4..1b1dff56ec7b11f3e7acb6bc16f5d80bac46a94f 100644 (file)
@@ -77,7 +77,7 @@ static int omap_cf_ss_init(struct pcmcia_socket *s)
 /* the timer is primarily to kick this socket's pccardd */
 static void omap_cf_timer(struct timer_list *t)
 {
-       struct omap_cf_socket   *cf = from_timer(cf, t, timer);
+       struct omap_cf_socket   *cf = timer_container_of(cf, t, timer);
        unsigned                present = omap_cf_present();
 
        if (present != cf->present) {
index a0a2e7f18356c5f09e2551a33e30ebf77c3c36b7..6868b60fd3258bd5002b1add0e8ce9501528f88b 100644 (file)
@@ -236,7 +236,8 @@ static irqreturn_t pd6729_interrupt(int irq, void *dev)
 
 static void pd6729_interrupt_wrapper(struct timer_list *t)
 {
-       struct pd6729_socket *socket = from_timer(socket, t, poll_timer);
+       struct pd6729_socket *socket = timer_container_of(socket, t,
+                                                         poll_timer);
 
        pd6729_interrupt(0, (void *)socket);
        mod_timer(&socket->poll_timer, jiffies + HZ);
index d361124db9931765e240f5bc1f5d5d5a92220feb..87aa3f6671170b33e14695d2032ffad2a6a80a88 100644 (file)
@@ -460,7 +460,7 @@ static void soc_common_check_status(struct soc_pcmcia_socket *skt)
 /* Let's poll for events in addition to IRQs since IRQ only is unreliable... */
 static void soc_common_pcmcia_poll_event(struct timer_list *t)
 {
-       struct soc_pcmcia_socket *skt = from_timer(skt, t, poll_timer);
+       struct soc_pcmcia_socket *skt = timer_container_of(skt, t, poll_timer);
        debug(skt, 4, "polling for events\n");
 
        mod_timer(&skt->poll_timer, jiffies + SOC_PCMCIA_POLL_PERIOD);
index 020ea86c24ec9b86186e07f10c3364fb559b1490..923ed23570a0ca11d0b074697c9dd4d9af3721e8 100644 (file)
@@ -539,7 +539,8 @@ static irqreturn_t yenta_interrupt(int irq, void *dev_id)
 
 static void yenta_interrupt_wrapper(struct timer_list *t)
 {
-       struct yenta_socket *socket = from_timer(socket, t, poll_timer);
+       struct yenta_socket *socket = timer_container_of(socket, t,
+                                                        poll_timer);
 
        yenta_interrupt(0, (void *)socket);
        socket->poll_timer.expires = jiffies + HZ;
index 9506f28fb7d86e56ac7aa434267a959c950db37a..b1b2d9caba7b384647f61402769d6aed26c55e25 100644 (file)
@@ -934,7 +934,7 @@ static u32 calc_avg_power(struct ips_driver *ips, u32 *array)
 
 static void monitor_timeout(struct timer_list *t)
 {
-       struct ips_driver *ips = from_timer(ips, t, timer);
+       struct ips_driver *ips = timer_container_of(ips, t, timer);
        wake_up_process(ips->monitor);
 }
 
index 374ceefd6f2a405f5762aa10326f4c7ac419a140..47d9891de368bd78bfbd1aa73c9d737dbcbe1f78 100644 (file)
@@ -98,7 +98,7 @@ static void pps_gpio_echo_timer_callback(struct timer_list *t)
 {
        const struct pps_gpio_device_data *info;
 
-       info = from_timer(info, t, echo_timer);
+       info = timer_container_of(info, t, echo_timer);
 
        gpiod_set_value(info->echo_pin, 0);
 }
index ce804438c32d18572de220340aac4d5e2e495788..1e7f72e57557601be37702472716e43397991fd0 100644 (file)
@@ -1526,7 +1526,7 @@ ptp_ocp_utc_distribute(struct ptp_ocp *bp, u32 val)
 static void
 ptp_ocp_watchdog(struct timer_list *t)
 {
-       struct ptp_ocp *bp = from_timer(bp, t, watchdog);
+       struct ptp_ocp *bp = timer_container_of(bp, t, watchdog);
        unsigned long flags;
        u32 status, utc_offset;
 
index 0eeae5bcc3aa93596e08a6a5c7a2bd805c2f1e1d..baf1a8ca8b2b1ea806c56b06926a03975b3636a8 100644 (file)
@@ -72,7 +72,7 @@ static void rtc_uie_task(struct work_struct *work)
 
 static void rtc_uie_timer(struct timer_list *t)
 {
-       struct rtc_device *rtc = from_timer(rtc, t, uie_timer);
+       struct rtc_device *rtc = timer_container_of(rtc, t, uie_timer);
        unsigned long flags;
 
        spin_lock_irqsave(&rtc->irq_lock, flags);
index a9f5b9466fb5e2f9a2ee1c7019f48ac828b60bf7..94f995febe5b4b747927af503b967f80e479e750 100644 (file)
@@ -107,7 +107,7 @@ static const struct rtc_class_ops test_rtc_ops = {
 
 static void test_rtc_alarm_handler(struct timer_list *t)
 {
-       struct rtc_test_data *rtd = from_timer(rtd, t, alarm);
+       struct rtc_test_data *rtd = timer_container_of(rtd, t, alarm);
 
        rtc_update_irq(rtd->rtc, 1, RTC_AF | RTC_IRQF);
 }
index cf36d3bafeca178cccb07b4f888bdd91aa5549ea..b16efecfde4b029f0438a4e3675ba5faf0de5445 100644 (file)
@@ -1493,7 +1493,7 @@ static void dasd_device_timeout(struct timer_list *t)
        unsigned long flags;
        struct dasd_device *device;
 
-       device = from_timer(device, t, timer);
+       device = timer_container_of(device, t, timer);
        spin_lock_irqsave(get_ccwdev_lock(device->cdev), flags);
        /* re-activate request queue */
        dasd_device_remove_stop_bits(device, DASD_STOPPED_PENDING);
@@ -2677,7 +2677,7 @@ static void dasd_block_timeout(struct timer_list *t)
        unsigned long flags;
        struct dasd_block *block;
 
-       block = from_timer(block, t, timer);
+       block = timer_container_of(block, t, timer);
        spin_lock_irqsave(get_ccwdev_lock(block->base->cdev), flags);
        /* re-activate request queue */
        dasd_device_remove_stop_bits(block->base, DASD_STOPPED_PENDING);
index 6a61c0a595d9b314de87fa60444dd179735616a4..56e43d43c713bb0c19ba3938e67f41d806d135da 100644 (file)
@@ -284,7 +284,7 @@ static void raw3215_start_io(struct raw3215_info *raw)
  */
 static void raw3215_timeout(struct timer_list *t)
 {
-       struct raw3215_info *raw = from_timer(raw, t, timer);
+       struct raw3215_info *raw = timer_container_of(raw, t, timer);
        unsigned long flags;
 
        spin_lock_irqsave(get_ccwdev_lock(raw->cdev), flags);
index 8402a0042c0d378e59f41ed2ec811b7e07605c8c..b78b86e8f2812bcceb5fe658c5166a43fd0cf5ba 100644 (file)
@@ -525,7 +525,7 @@ static void tty3270_update_lines_all(struct tty3270 *tp, struct raw3270_request
  */
 static void tty3270_update(struct timer_list *t)
 {
-       struct tty3270 *tp = from_timer(tp, t, timer);
+       struct tty3270 *tp = timer_container_of(tp, t, timer);
        struct raw3270_request *wrq;
        u8 cmd = TC_WRITE;
        int rc, len;
index 48e8417a5cff634c82ad28595e4e3deb498ea050..fa063e84eafc15016f1470397aec384330e492c7 100644 (file)
@@ -821,7 +821,7 @@ tape_delayed_next_request(struct work_struct *work)
 
 static void tape_long_busy_timeout(struct timer_list *t)
 {
-       struct tape_device *device = from_timer(device, t, lb_timeout);
+       struct tape_device *device = timer_container_of(device, t, lb_timeout);
        struct tape_request *request;
 
        spin_lock_irq(get_ccwdev_lock(device->cdev));
index b760386328837dd06d9b68adac7fee8b29ba9d4b..7ff177406bc324dc2ad7b3886d83338708a7b688 100644 (file)
@@ -35,7 +35,8 @@
 static void
 tape_std_assign_timeout(struct timer_list *t)
 {
-       struct tape_request *   request = from_timer(request, t, timer);
+       struct tape_request *   request = timer_container_of(request, t,
+                                                                 timer);
        struct tape_device *    device = request->device;
        int rc;
 
index e1b1fbdabb1b2dba5f3e4156730f96e39a64232c..e849d3271b0e55fe11487cfe31107da05b52ca7a 100644 (file)
@@ -98,7 +98,7 @@ static void ccw_timeout_log(struct ccw_device *cdev)
 void
 ccw_device_timeout(struct timer_list *t)
 {
-       struct ccw_device_private *priv = from_timer(priv, t, timer);
+       struct ccw_device_private *priv = timer_container_of(priv, t, timer);
        struct ccw_device *cdev = priv->cdev;
 
        spin_lock_irq(cdev->ccwlock);
index ac382355dc04e24114bb00563a1418e7a4083602..37ea30be710c0f753151c42e807ad0c9a79abc2a 100644 (file)
@@ -98,7 +98,7 @@ static int eadm_subchannel_clear(struct subchannel *sch)
 
 static void eadm_subchannel_timeout(struct timer_list *t)
 {
-       struct eadm_private *private = from_timer(private, t, timer);
+       struct eadm_private *private = timer_container_of(private, t, timer);
        struct subchannel *sch = private->sch;
 
        spin_lock_irq(&sch->lock);
index 288734cd8f4b953d7a523954212e37b4cd8c865b..bd95bd390b5c4d3d7cbf4f36b5c96f571f818192 100644 (file)
@@ -428,7 +428,7 @@ void ap_wait(enum ap_sm_wait wait)
  */
 void ap_request_timeout(struct timer_list *t)
 {
-       struct ap_queue *aq = from_timer(aq, t, timeout);
+       struct ap_queue *aq = timer_container_of(aq, t, timeout);
 
        spin_lock_bh(&aq->lock);
        ap_wait(ap_sm_event(aq, AP_SM_EVENT_TIMEOUT));
index 5fcdce116862151716f4f2161cc74d981c1c64e9..6a12d2422540ccd7ff08f56e59e70f7659d8ca05 100644 (file)
@@ -132,7 +132,7 @@ fsm_getstate_str(fsm_instance *fi)
 static void
 fsm_expire_timer(struct timer_list *t)
 {
-       fsm_timer *this = from_timer(this, t, tl);
+       fsm_timer *this = timer_container_of(this, t, tl);
 #if FSM_TIMER_DEBUG
        printk(KERN_DEBUG "fsm(%s): Timer %p expired\n",
               this->fi->name, this);
index f5cfaebfb7c97801697f8e27f33de22c5e211864..fe9f48c315d9473d76f30c7930185a635cc1f179 100644 (file)
@@ -2619,7 +2619,8 @@ err_qdio_bufs:
 
 static void qeth_tx_completion_timer(struct timer_list *timer)
 {
-       struct qeth_qdio_out_q *queue = from_timer(queue, timer, timer);
+       struct qeth_qdio_out_q *queue = timer_container_of(queue, timer,
+                                                          timer);
 
        napi_schedule(&queue->napi);
        QETH_TXQ_STAT_INC(queue, completion_timer);
index 78d52a4c55f526fb085ff9f0599da9e71a6b5aab..ffd9944169959170728e553b5c0dfc385c0200ee 100644 (file)
@@ -615,7 +615,7 @@ void zfcp_erp_notify(struct zfcp_erp_action *erp_action, unsigned long set_mask)
  */
 void zfcp_erp_timeout_handler(struct timer_list *t)
 {
-       struct zfcp_fsf_req *fsf_req = from_timer(fsf_req, t, timer);
+       struct zfcp_fsf_req *fsf_req = timer_container_of(fsf_req, t, timer);
        struct zfcp_erp_action *act;
 
        if (fsf_req->status & ZFCP_STATUS_FSFREQ_DISMISSED)
@@ -629,7 +629,7 @@ void zfcp_erp_timeout_handler(struct timer_list *t)
 
 static void zfcp_erp_memwait_handler(struct timer_list *t)
 {
-       struct zfcp_erp_action *act = from_timer(act, t, timer);
+       struct zfcp_erp_action *act = timer_container_of(act, t, timer);
 
        zfcp_erp_notify(act, 0);
 }
index d5f5f563881e41f7214d0e8c8963e9fd7dccbcb1..c5bba1be88f4ae58cae4c78455a922cee1f7c647 100644 (file)
@@ -36,7 +36,7 @@ MODULE_PARM_DESC(ber_stop,
 
 static void zfcp_fsf_request_timeout_handler(struct timer_list *t)
 {
-       struct zfcp_fsf_req *fsf_req = from_timer(fsf_req, t, timer);
+       struct zfcp_fsf_req *fsf_req = timer_container_of(fsf_req, t, timer);
        struct zfcp_adapter *adapter = fsf_req->adapter;
 
        zfcp_qdio_siosl(adapter);
index 0957e3f8b46e90ae807ad7882fa540a4b3f04824..f2410bc44ad3f679bfbbe131e131faed9270a24e 100644 (file)
@@ -102,7 +102,8 @@ static void zfcp_qdio_request_tasklet(struct tasklet_struct *tasklet)
 
 static void zfcp_qdio_request_timer(struct timer_list *timer)
 {
-       struct zfcp_qdio *qdio = from_timer(qdio, timer, request_timer);
+       struct zfcp_qdio *qdio = timer_container_of(qdio, timer,
+                                                   request_timer);
 
        tasklet_schedule(&qdio->request_tasklet);
 }
index f9372a81cd4ea1f64ff8f40bbc12ddf54088787b..6b87ea004e5372e39ecd5e96274f6f9ee3e67271 100644 (file)
@@ -8784,7 +8784,7 @@ ahd_reset_channel(struct ahd_softc *ahd, char channel, int initiate_reset)
 static void
 ahd_stat_timer(struct timer_list *t)
 {
-       struct  ahd_softc *ahd = from_timer(ahd, t, stat_timer);
+       struct  ahd_softc *ahd = timer_container_of(ahd, t, stat_timer);
        u_long  s;
        int     enint_coal;
 
index 68214a58b16015ea80436aa1daf5928ee76c7830..08c8dad9ad6215763ad7858ef390a4ddb5f19637 100644 (file)
@@ -862,7 +862,7 @@ void asd_build_initiate_link_adm_task(struct asd_ascb *ascb, int phy_id,
  */
 void asd_ascb_timedout(struct timer_list *t)
 {
-       struct asd_ascb *ascb = from_timer(ascb, t, timer);
+       struct asd_ascb *ascb = timer_container_of(ascb, t, timer);
        struct asd_seq_data *seq = &ascb->ha->seq;
        unsigned long flags;
 
index d45dbf98f25e9e1aa22ff6ccb1c01851a6210cda..28ac92b041fe3bee3efea10ed1ba6d984755e619 100644 (file)
@@ -70,7 +70,7 @@ static void asd_clear_nexus_tasklet_complete(struct asd_ascb *ascb,
 
 static void asd_clear_nexus_timedout(struct timer_list *t)
 {
-       struct asd_ascb *ascb = from_timer(ascb, t, timer);
+       struct asd_ascb *ascb = timer_container_of(ascb, t, timer);
        struct tasklet_completion_status *tcs = ascb->uldd_task;
 
        ASD_DPRINTK("%s: here\n", __func__);
@@ -244,7 +244,7 @@ static int asd_clear_nexus_index(struct sas_task *task)
 
 static void asd_tmf_timedout(struct timer_list *t)
 {
-       struct asd_ascb *ascb = from_timer(ascb, t, timer);
+       struct asd_ascb *ascb = timer_container_of(ascb, t, timer);
        struct tasklet_completion_status *tcs = ascb->uldd_task;
 
        ASD_DPRINTK("tmf timed out\n");
index b450b1fc6bbb481052217e34a3eab303d431ad1f..fb57343a97bd502540c038278598148fef37b5bf 100644 (file)
@@ -3935,7 +3935,8 @@ static int arcmsr_polling_ccbdone(struct AdapterControlBlock *acb,
 
 static void arcmsr_set_iop_datetime(struct timer_list *t)
 {
-       struct AdapterControlBlock *pacb = from_timer(pacb, t, refresh_timer);
+       struct AdapterControlBlock *pacb = timer_container_of(pacb, t,
+                                                             refresh_timer);
        unsigned int next_time;
        struct tm tm;
 
@@ -4263,7 +4264,8 @@ static void arcmsr_wait_firmware_ready(struct AdapterControlBlock *acb)
 
 static void arcmsr_request_device_map(struct timer_list *t)
 {
-       struct AdapterControlBlock *acb = from_timer(acb, t, eternal_timer);
+       struct AdapterControlBlock *acb = timer_container_of(acb, t,
+                                                            eternal_timer);
        if (acb->acb_flags & (ACB_F_MSG_GET_CONFIG | ACB_F_BUS_RESET | ACB_F_ABORT)) {
                mod_timer(&acb->eternal_timer, jiffies + msecs_to_jiffies(6 * HZ));
        } else {
index e0b55d869a35a016684f7e8dc94c1192dfdf3c4d..b1a749ab18f84dcd086156f640251a96cec0ad2d 100644 (file)
@@ -2327,7 +2327,7 @@ DEF_SCSI_QCMD(fas216_noqueue_command)
  */
 static void fas216_eh_timer(struct timer_list *t)
 {
-       FAS216_Info *info = from_timer(info, t, eh_timer);
+       FAS216_Info *info = timer_container_of(info, t, eh_timer);
 
        fas216_log(info, LOG_ERROR, "error handling timed out\n");
 
index 7d1b767d87fb40624cb4c44ef4d53ecb4434461f..dc88bc46dcc0711922b88bb89173ab82b273cc9b 100644 (file)
@@ -5240,7 +5240,7 @@ static void beiscsi_eqd_update_work(struct work_struct *work)
 
 static void beiscsi_hw_tpe_check(struct timer_list *t)
 {
-       struct beiscsi_hba *phba = from_timer(phba, t, hw_check);
+       struct beiscsi_hba *phba = timer_container_of(phba, t, hw_check);
        u32 wait;
 
        /* if not TPE, do nothing */
@@ -5257,7 +5257,7 @@ static void beiscsi_hw_tpe_check(struct timer_list *t)
 
 static void beiscsi_hw_health_check(struct timer_list *t)
 {
-       struct beiscsi_hba *phba = from_timer(phba, t, hw_check);
+       struct beiscsi_hba *phba = timer_container_of(phba, t, hw_check);
 
        beiscsi_detect_ue(phba);
        if (beiscsi_detect_ue(phba)) {
index 598f2fc93ef2f3a4fcae038bbe296c55f2140657..ff9adfc0b332e27204aa60715f7bcdae81914d61 100644 (file)
@@ -685,7 +685,8 @@ ext:
 void
 bfad_bfa_tmo(struct timer_list *t)
 {
-       struct bfad_s         *bfad = from_timer(bfad, t, hal_tmo);
+       struct bfad_s         *bfad = timer_container_of(bfad, t,
+                                                             hal_tmo);
        unsigned long   flags;
        struct list_head               doneq;
 
index de6574cccf5859ab69f1e4394baea5615b82518d..58da993251e939fd413fd6ba6dd3ef89b733bf60 100644 (file)
@@ -837,7 +837,7 @@ static int bnx2fc_net_config(struct fc_lport *lport, struct net_device *netdev)
 
 static void bnx2fc_destroy_timer(struct timer_list *t)
 {
-       struct bnx2fc_hba *hba = from_timer(hba, t, destroy_timer);
+       struct bnx2fc_hba *hba = timer_container_of(hba, t, destroy_timer);
 
        printk(KERN_ERR PFX "ERROR:bnx2fc_destroy_timer - "
               "Destroy compl not received!!\n");
index b8227cfef64f5fe03c41a402578e6a17597129d3..77dcdfc412b15b58af9b6521916d3b8374510f72 100644 (file)
@@ -30,7 +30,7 @@ static void bnx2fc_free_conn_id(struct bnx2fc_hba *hba, u32 conn_id);
 static void bnx2fc_upld_timer(struct timer_list *t)
 {
 
-       struct bnx2fc_rport *tgt = from_timer(tgt, t, upld_timer);
+       struct bnx2fc_rport *tgt = timer_container_of(tgt, t, upld_timer);
 
        BNX2FC_TGT_DBG(tgt, "upld_timer - Upload compl not received!!\n");
        /* fake upload completion */
@@ -43,7 +43,7 @@ static void bnx2fc_upld_timer(struct timer_list *t)
 static void bnx2fc_ofld_timer(struct timer_list *t)
 {
 
-       struct bnx2fc_rport *tgt = from_timer(tgt, t, ofld_timer);
+       struct bnx2fc_rport *tgt = timer_container_of(tgt, t, ofld_timer);
 
        BNX2FC_TGT_DBG(tgt, "entered bnx2fc_ofld_timer\n");
        /* NOTE: This function should never be called, as
index 6c864b093ac94aad8d8182807101f4740ae272a9..40db5190a2225143ddf07ad272552ab1aadf4de4 100644 (file)
@@ -685,7 +685,7 @@ void bnx2i_update_iscsi_conn(struct iscsi_conn *conn)
  */
 void bnx2i_ep_ofld_timer(struct timer_list *t)
 {
-       struct bnx2i_endpoint *ep = from_timer(ep, t, ofld_timer);
+       struct bnx2i_endpoint *ep = timer_container_of(ep, t, ofld_timer);
 
        if (ep->state == EP_STATE_OFLD_START) {
                printk(KERN_ALERT "ofld_timer: CONN_OFLD timeout\n");
index beded091dff137f06f85afcea121da9d57454962..7aa418ebfe018509b086e88166fea935be8a20e0 100644 (file)
@@ -3738,7 +3738,7 @@ csio_mberr_worker(void *data)
 static void
 csio_hw_mb_timer(struct timer_list *t)
 {
-       struct csio_mbm *mbm = from_timer(mbm, t, timer);
+       struct csio_mbm *mbm = timer_container_of(mbm, t, timer);
        struct csio_hw *hw = mbm->hw;
        struct csio_mb *mbp = NULL;
 
@@ -4107,7 +4107,7 @@ csio_mgmt_req_lookup(struct csio_mgmtm *mgmtm, struct csio_ioreq *io_req)
 static void
 csio_mgmt_tmo_handler(struct timer_list *t)
 {
-       struct csio_mgmtm *mgmtm = from_timer(mgmtm, t, mgmt_timer);
+       struct csio_mgmtm *mgmtm = timer_container_of(mgmtm, t, mgmt_timer);
        struct list_head *tmp;
        struct csio_ioreq *io_req;
 
index 461d38e2fb1990708aad4e6a5187c2bfe0068e42..69de9657f7cb92eb4470c6a02a3bb5a5d564ff3e 100644 (file)
@@ -547,7 +547,7 @@ static int act_open_rpl_status_to_errno(int status)
 
 static void act_open_retry_timer(struct timer_list *t)
 {
-       struct cxgbi_sock *csk = from_timer(csk, t, retry_timer);
+       struct cxgbi_sock *csk = timer_container_of(csk, t, retry_timer);
        struct sk_buff *skb;
 
        log_debug(1 << CXGBI_DBG_TOE | 1 << CXGBI_DBG_SOCK,
index aaba294ecb588f62a927f26f15c8bc5327ffba9e..42676627c3af31180be598e34f7283bf7833ca6f 100644 (file)
@@ -988,7 +988,7 @@ static int act_open_rpl_status_to_errno(int status)
 static void csk_act_open_retry_timer(struct timer_list *t)
 {
        struct sk_buff *skb = NULL;
-       struct cxgbi_sock *csk = from_timer(csk, t, retry_timer);
+       struct cxgbi_sock *csk = timer_container_of(csk, t, retry_timer);
        struct cxgb4_lld_info *lldi = cxgbi_cdev_priv(csk->cdev);
        void (*send_act_open_func)(struct cxgbi_sock *, struct sk_buff *,
                                   struct l2t_entry *);
index 96b335c92603e98f142f66e176374326ea4642fb..386c8359e1cc8aca062acdd421dee2fe30904544 100644 (file)
@@ -751,7 +751,7 @@ static void waiting_process_next(struct AdapterCtlBlk *acb)
 static void waiting_timeout(struct timer_list *t)
 {
        unsigned long flags;
-       struct AdapterCtlBlk *acb = from_timer(acb, t, waiting_timer);
+       struct AdapterCtlBlk *acb = timer_container_of(acb, t, waiting_timer);
        DC395x_LOCK_IO(acb->scsi_host, flags);
        waiting_process_next(acb);
        DC395x_UNLOCK_IO(acb->scsi_host, flags);
index 2aca60f6428e71ffc6269f8a658cca791ab78994..dfe05fab7b42ea1f64665dba0b129838e7f73857 100644 (file)
@@ -180,7 +180,7 @@ efct_xport_config_stats_timer(struct efct *efct);
 static void
 efct_xport_stats_timer_cb(struct timer_list *t)
 {
-       struct efct_xport *xport = from_timer(xport, t, stats_timer);
+       struct efct_xport *xport = timer_container_of(xport, t, stats_timer);
        struct efct *efct = xport->efct;
 
        efct_xport_config_stats_timer(efct);
index 84bc81d7ce7651cf43db1a94c56ac759ec57339b..1786cee08729e47d2912554832eb0846533c86c7 100644 (file)
@@ -147,7 +147,7 @@ efc_els_retry(struct efc_els_io_req *els);
 static void
 efc_els_delay_timer_cb(struct timer_list *t)
 {
-       struct efc_els_io_req *els = from_timer(els, t, delay_timer);
+       struct efc_els_io_req *els = timer_container_of(els, t, delay_timer);
 
        /* Retry delay timer expired, retry the ELS request */
        efc_els_retry(els);
index cf7e738c4edc6bce2ae0c8759ab632cc83e49780..4ed9f46ded65c4d2bd111cfdc4ad509adfe23ceb 100644 (file)
@@ -886,7 +886,7 @@ __efc_ns_idle(struct efc_sm_ctx *ctx, enum efc_sm_event evt, void *arg)
 static void
 gidpt_delay_timer_cb(struct timer_list *t)
 {
-       struct efc_node *node = from_timer(node, t, gidpt_delay_timer);
+       struct efc_node *node = timer_container_of(node, t, gidpt_delay_timer);
 
        timer_delete(&node->gidpt_delay_timer);
 
index 44871746944ad0c0f30f28975ed40e0fde4e8d03..3f31875ff46eb0a25a9bb52e17b78a6a65a70a49 100644 (file)
@@ -1585,7 +1585,7 @@ void esas2r_kickoff_timer(struct esas2r_adapter *a)
 
 static void esas2r_timer_callback(struct timer_list *t)
 {
-       struct esas2r_adapter *a = from_timer(a, t, timer);
+       struct esas2r_adapter *a = timer_container_of(a, t, timer);
 
        set_bit(AF2_TIMER_TICK, &a->flags2);
 
index 56d270526c9ccae7ae05e19d880d2da44528e4b6..8e4241c295e348946c5c55a2114dff8cc413d72d 100644 (file)
@@ -1773,7 +1773,7 @@ unlock:
  */
 static void fcoe_ctlr_timeout(struct timer_list *t)
 {
-       struct fcoe_ctlr *fip = from_timer(fip, t, timer);
+       struct fcoe_ctlr *fip = timer_container_of(fip, t, timer);
 
        schedule_work(&fip->timer_work);
 }
index a48d24af9ac3f27516e5fc19de076a9b5f9b10bc..2f478426f16ebc637150540915d8bf73c1332e6f 100644 (file)
@@ -447,7 +447,7 @@ EXPORT_SYMBOL_GPL(fcoe_check_wait_queue);
  */
 void fcoe_queue_timer(struct timer_list *t)
 {
-       struct fcoe_port *port = from_timer(port, t, timer);
+       struct fcoe_port *port = timer_container_of(port, t, timer);
 
        fcoe_check_wait_queue(port->lport, NULL);
 }
index c2b6f4eb338e65001ee3dc046e479c18f2b38760..f8ab69c51dab5c21c9c0d325b57a7ea278306525 100644 (file)
@@ -2074,7 +2074,8 @@ static void fdls_fdmi_register_pa(struct fnic_iport_s *iport)
 
 void fdls_fabric_timer_callback(struct timer_list *t)
 {
-       struct fnic_fdls_fabric_s *fabric = from_timer(fabric, t, retry_timer);
+       struct fnic_fdls_fabric_s *fabric = timer_container_of(fabric, t,
+                                                              retry_timer);
        struct fnic_iport_s *iport =
                container_of(fabric, struct fnic_iport_s, fabric);
        struct fnic *fnic = iport->fnic;
@@ -2246,7 +2247,8 @@ void fdls_fabric_timer_callback(struct timer_list *t)
 
 void fdls_fdmi_timer_callback(struct timer_list *t)
 {
-       struct fnic_fdls_fabric_s *fabric = from_timer(fabric, t, fdmi_timer);
+       struct fnic_fdls_fabric_s *fabric = timer_container_of(fabric, t,
+                                                              fdmi_timer);
        struct fnic_iport_s *iport =
                container_of(fabric, struct fnic_iport_s, fabric);
        struct fnic *fnic = iport->fnic;
@@ -2323,7 +2325,7 @@ static void fdls_send_delete_tport_msg(struct fnic_tport_s *tport)
 
 static void fdls_tport_timer_callback(struct timer_list *t)
 {
-       struct fnic_tport_s *tport = from_timer(tport, t, retry_timer);
+       struct fnic_tport_s *tport = timer_container_of(tport, t, retry_timer);
        struct fnic_iport_s *iport = (struct fnic_iport_s *) tport->iport;
        struct fnic *fnic = iport->fnic;
        uint16_t oxid;
index 19395e2aee44d0710e5fd0c3e3bbd23071f9202b..ce62ab1180bd7511c2630277d30b5c56eab7dde0 100644 (file)
@@ -777,7 +777,7 @@ void fnic_work_on_fip_timer(struct work_struct *work)
  */
 void fnic_handle_fip_timer(struct timer_list *t)
 {
-       struct fnic *fnic = from_timer(fnic, t, retry_fip_timer);
+       struct fnic *fnic = timer_container_of(fnic, t, retry_fip_timer);
 
        INIT_WORK(&fnic->fip_timer_work, fnic_work_on_fip_timer);
        queue_work(fnic_fip_queue, &fnic->fip_timer_work);
@@ -790,7 +790,7 @@ void fnic_handle_fip_timer(struct timer_list *t)
 void fnic_handle_enode_ka_timer(struct timer_list *t)
 {
        uint8_t *frame;
-       struct fnic *fnic = from_timer(fnic, t, enode_ka_timer);
+       struct fnic *fnic = timer_container_of(fnic, t, enode_ka_timer);
 
        struct fnic_iport_s *iport = &fnic->iport;
        struct fip_enode_ka *penode_ka;
@@ -843,7 +843,7 @@ void fnic_handle_enode_ka_timer(struct timer_list *t)
 void fnic_handle_vn_ka_timer(struct timer_list *t)
 {
        uint8_t *frame;
-       struct fnic *fnic = from_timer(fnic, t, vn_ka_timer);
+       struct fnic *fnic = timer_container_of(fnic, t, vn_ka_timer);
 
        struct fnic_iport_s *iport = &fnic->iport;
        struct fip_vn_port_ka *pvn_port_ka;
@@ -998,7 +998,7 @@ void fnic_work_on_fcs_ka_timer(struct work_struct *work)
  */
 void fnic_handle_fcs_ka_timer(struct timer_list *t)
 {
-       struct fnic *fnic = from_timer(fnic, t, fcs_ka_timer);
+       struct fnic *fnic = timer_container_of(fnic, t, fcs_ka_timer);
 
        INIT_WORK(&fnic->fip_timer_work, fnic_work_on_fcs_ka_timer);
        queue_work(fnic_fip_queue, &fnic->fip_timer_work);
index 9a357ff42085709f7fb377130c93f4a71033a750..4cc4077ea53c76c60c511c0d0a4b1cf94d36a942 100644 (file)
@@ -446,7 +446,7 @@ static int fnic_notify_set(struct fnic *fnic)
 
 static void fnic_notify_timer(struct timer_list *t)
 {
-       struct fnic *fnic = from_timer(fnic, t, notify_timer);
+       struct fnic *fnic = timer_container_of(fnic, t, notify_timer);
 
        fnic_handle_link_event(fnic);
        mod_timer(&fnic->notify_timer,
index 4864e957be0b8abb8e0f687ba78ce3def35065f5..d1a4cc69d408f86517c1685ef642b119b12b085f 100644 (file)
@@ -1016,7 +1016,7 @@ EXPORT_SYMBOL_GPL(hisi_sas_notify_phy_event);
 
 static void hisi_sas_wait_phyup_timedout(struct timer_list *t)
 {
-       struct hisi_sas_phy *phy = from_timer(phy, t, timer);
+       struct hisi_sas_phy *phy = timer_container_of(phy, t, timer);
        struct hisi_hba *hisi_hba = phy->hisi_hba;
        struct device *dev = hisi_hba->dev;
        int phy_no = phy->sas_phy.id;
index 6d97339371fbc5e5ee201db08848d33950e85bad..fa94d7110714f9f2c28ee5da3c46585c62c70819 100644 (file)
@@ -795,7 +795,7 @@ static void phy_hard_reset_v1_hw(struct hisi_hba *hisi_hba, int phy_no)
 
 static void start_phys_v1_hw(struct timer_list *t)
 {
-       struct hisi_hba *hisi_hba = from_timer(hisi_hba, t, timer);
+       struct hisi_hba *hisi_hba = timer_container_of(hisi_hba, t, timer);
        int i;
 
        for (i = 0; i < hisi_hba->n_phy; i++) {
index 2adfedb8484c29e4add6f10e5c2f6d8692b8e718..24cd172905f337896219efa3415a88ac871cd95c 100644 (file)
@@ -1328,7 +1328,7 @@ static void init_reg_v2_hw(struct hisi_hba *hisi_hba)
 
 static void link_timeout_enable_link(struct timer_list *t)
 {
-       struct hisi_hba *hisi_hba = from_timer(hisi_hba, t, timer);
+       struct hisi_hba *hisi_hba = timer_container_of(hisi_hba, t, timer);
        int i, reg_val;
 
        for (i = 0; i < hisi_hba->n_phy; i++) {
@@ -1349,7 +1349,7 @@ static void link_timeout_enable_link(struct timer_list *t)
 
 static void link_timeout_disable_link(struct timer_list *t)
 {
-       struct hisi_hba *hisi_hba = from_timer(hisi_hba, t, timer);
+       struct hisi_hba *hisi_hba = timer_container_of(hisi_hba, t, timer);
        int i, reg_val;
 
        reg_val = hisi_sas_read32(hisi_hba, PHY_STATE);
@@ -2581,7 +2581,8 @@ static void prep_ata_v2_hw(struct hisi_hba *hisi_hba,
 
 static void hisi_sas_internal_abort_quirk_timeout(struct timer_list *t)
 {
-       struct hisi_sas_slot *slot = from_timer(slot, t, internal_abort_timer);
+       struct hisi_sas_slot *slot = timer_container_of(slot, t,
+                                                       internal_abort_timer);
        struct hisi_sas_port *port = slot->port;
        struct asd_sas_port *asd_sas_port;
        struct asd_sas_phy *sas_phy;
index 4c493b06062ac058ad85781a10f829d298de097f..862ab0fbc893a008d123b7f5c6a3441ecfc9d5b4 100644 (file)
@@ -1697,7 +1697,7 @@ static int ibmvfc_map_sg_data(struct scsi_cmnd *scmd,
  **/
 static void ibmvfc_timeout(struct timer_list *t)
 {
-       struct ibmvfc_event *evt = from_timer(evt, t, timer);
+       struct ibmvfc_event *evt = timer_container_of(evt, t, timer);
        struct ibmvfc_host *vhost = evt->vhost;
        dev_err(vhost->dev, "Command timed out (%p). Resetting connection\n", evt);
        ibmvfc_reset_host(vhost);
@@ -4630,7 +4630,7 @@ static void ibmvfc_tgt_adisc_cancel_done(struct ibmvfc_event *evt)
  **/
 static void ibmvfc_adisc_timeout(struct timer_list *t)
 {
-       struct ibmvfc_target *tgt = from_timer(tgt, t, timer);
+       struct ibmvfc_target *tgt = timer_container_of(tgt, t, timer);
        struct ibmvfc_host *vhost = tgt->vhost;
        struct ibmvfc_event *evt;
        struct ibmvfc_tmf *tmf;
index d65a45860b339899701524edfd565432b191efcd..3d65a498b70190985846c920ebbaa74c2edd92ce 100644 (file)
@@ -845,7 +845,8 @@ static void ibmvscsi_reset_host(struct ibmvscsi_host_data *hostdata)
 */
 static void ibmvscsi_timeout(struct timer_list *t)
 {
-       struct srp_event_struct *evt_struct = from_timer(evt_struct, t, timer);
+       struct srp_event_struct *evt_struct = timer_container_of(evt_struct,
+                                                                t, timer);
        struct ibmvscsi_host_data *hostdata = evt_struct->hostdata;
 
        dev_err(hostdata->dev, "Command timed out (%x). Resetting connection\n",
index d89135fb8faa6be0423d297cfbd02e7c50e18341..b29bec6abd72395a46f889abf131f11ee232aaf0 100644 (file)
@@ -2589,7 +2589,7 @@ static void ipr_process_error(struct ipr_cmnd *ipr_cmd)
  **/
 static void ipr_timeout(struct timer_list *t)
 {
-       struct ipr_cmnd *ipr_cmd = from_timer(ipr_cmd, t, timer);
+       struct ipr_cmnd *ipr_cmd = timer_container_of(ipr_cmd, t, timer);
        unsigned long lock_flags = 0;
        struct ipr_ioa_cfg *ioa_cfg = ipr_cmd->ioa_cfg;
 
@@ -2622,7 +2622,7 @@ static void ipr_timeout(struct timer_list *t)
  **/
 static void ipr_oper_timeout(struct timer_list *t)
 {
-       struct ipr_cmnd *ipr_cmd = from_timer(ipr_cmd, t, timer);
+       struct ipr_cmnd *ipr_cmd = timer_container_of(ipr_cmd, t, timer);
        unsigned long lock_flags = 0;
        struct ipr_ioa_cfg *ioa_cfg = ipr_cmd->ioa_cfg;
 
@@ -5151,7 +5151,7 @@ static void ipr_bus_reset_done(struct ipr_cmnd *ipr_cmd)
  **/
 static void ipr_abort_timeout(struct timer_list *t)
 {
-       struct ipr_cmnd *ipr_cmd = from_timer(ipr_cmd, t, timer);
+       struct ipr_cmnd *ipr_cmd = timer_container_of(ipr_cmd, t, timer);
        struct ipr_cmnd *reset_cmd;
        struct ipr_ioa_cfg *ioa_cfg = ipr_cmd->ioa_cfg;
        struct ipr_cmd_pkt *cmd_pkt;
@@ -7476,7 +7476,7 @@ static int ipr_ioafp_identify_hrrq(struct ipr_cmnd *ipr_cmd)
  **/
 static void ipr_reset_timer_done(struct timer_list *t)
 {
-       struct ipr_cmnd *ipr_cmd = from_timer(ipr_cmd, t, timer);
+       struct ipr_cmnd *ipr_cmd = timer_container_of(ipr_cmd, t, timer);
        struct ipr_ioa_cfg *ioa_cfg = ipr_cmd->ioa_cfg;
        unsigned long lock_flags = 0;
 
index c108b5b940c3a324948db2ca1d134e923bd5b7a0..6d2f4c831df7475a4b678f621029b45d6ac03ff9 100644 (file)
@@ -958,7 +958,7 @@ static enum sci_status sci_controller_start_next_phy(struct isci_host *ihost)
 
 static void phy_startup_timeout(struct timer_list *t)
 {
-       struct sci_timer *tmr = from_timer(tmr, t, timer);
+       struct sci_timer *tmr = timer_container_of(tmr, t, timer);
        struct isci_host *ihost = container_of(tmr, typeof(*ihost), phy_timer);
        unsigned long flags;
        enum sci_status status;
@@ -1592,7 +1592,7 @@ static const struct sci_base_state sci_controller_state_table[] = {
 
 static void controller_timeout(struct timer_list *t)
 {
-       struct sci_timer *tmr = from_timer(tmr, t, timer);
+       struct sci_timer *tmr = timer_container_of(tmr, t, timer);
        struct isci_host *ihost = container_of(tmr, typeof(*ihost), timer);
        struct sci_base_state_machine *sm = &ihost->sm;
        unsigned long flags;
@@ -1737,7 +1737,7 @@ static u8 max_spin_up(struct isci_host *ihost)
 
 static void power_control_timeout(struct timer_list *t)
 {
-       struct sci_timer *tmr = from_timer(tmr, t, timer);
+       struct sci_timer *tmr = timer_container_of(tmr, t, timer);
        struct isci_host *ihost = container_of(tmr, typeof(*ihost), power_control.timer);
        struct isci_phy *iphy;
        unsigned long flags;
index 743a3c64b0da10b512449d6964e3bab8510d4e45..88237ec8b15f8ba7a55137ad7a1cdfa68f16ef1e 100644 (file)
@@ -317,7 +317,7 @@ sci_phy_link_layer_initialization(struct isci_phy *iphy,
 
 static void phy_sata_timeout(struct timer_list *t)
 {
-       struct sci_timer *tmr = from_timer(tmr, t, timer);
+       struct sci_timer *tmr = timer_container_of(tmr, t, timer);
        struct isci_phy *iphy = container_of(tmr, typeof(*iphy), sata_timer);
        struct isci_host *ihost = iphy->owning_port->owning_controller;
        unsigned long flags;
index 1609aba1c9c153eee39358b99dd15854a9bcce79..10bd2aac2cb426f650ff490da68d8f1760f67008 100644 (file)
@@ -775,7 +775,7 @@ bool sci_port_link_detected(struct isci_port *iport, struct isci_phy *iphy)
 
 static void port_timeout(struct timer_list *t)
 {
-       struct sci_timer *tmr = from_timer(tmr, t, timer);
+       struct sci_timer *tmr = timer_container_of(tmr, t, timer);
        struct isci_port *iport = container_of(tmr, typeof(*iport), timer);
        struct isci_host *ihost = iport->owning_controller;
        unsigned long flags;
index c382a257b51b94aa56b1cd2b5db5e79f32639fa3..3b4820defe63df94e7c2e9888e3d061aa75a5406 100644 (file)
@@ -321,7 +321,7 @@ sci_mpc_agent_validate_phy_configuration(struct isci_host *ihost,
 static void mpc_agent_timeout(struct timer_list *t)
 {
        u8 index;
-       struct sci_timer *tmr = from_timer(tmr, t, timer);
+       struct sci_timer *tmr = timer_container_of(tmr, t, timer);
        struct sci_port_configuration_agent *port_agent;
        struct isci_host *ihost;
        unsigned long flags;
@@ -659,7 +659,7 @@ static void sci_apc_agent_link_down(
 static void apc_agent_timeout(struct timer_list *t)
 {
        u32 index;
-       struct sci_timer *tmr = from_timer(tmr, t, timer);
+       struct sci_timer *tmr = timer_container_of(tmr, t, timer);
        struct sci_port_configuration_agent *port_agent;
        struct isci_host *ihost;
        unsigned long flags;
index e705c30b4e1b8dfd32d55ddfd3a69328c3af683b..16d0f02af1e40c9c57a28630ae7bf339fd0bbbe7 100644 (file)
@@ -1283,7 +1283,7 @@ static int fc_fcp_pkt_abort(struct fc_fcp_pkt *fsp)
  */
 static void fc_lun_reset_send(struct timer_list *t)
 {
-       struct fc_fcp_pkt *fsp = from_timer(fsp, t, timer);
+       struct fc_fcp_pkt *fsp = timer_container_of(fsp, t, timer);
        struct fc_lport *lport = fsp->lp;
 
        if (lport->tt.fcp_cmd_send(lport, fsp, fc_tm_done)) {
@@ -1416,7 +1416,7 @@ static void fc_fcp_cleanup(struct fc_lport *lport)
  */
 static void fc_fcp_timeout(struct timer_list *t)
 {
-       struct fc_fcp_pkt *fsp = from_timer(fsp, t, timer);
+       struct fc_fcp_pkt *fsp = timer_container_of(fsp, t, timer);
        struct fc_rport *rport = fsp->rport;
        struct fc_rport_libfc_priv *rpriv = rport->dd_data;
 
index 1ddaf72283403ac2f72f59f13e67602e978e672d..392d57e054db337c1a5cd9dda8e42a5539569ed3 100644 (file)
@@ -1898,7 +1898,8 @@ EXPORT_SYMBOL_GPL(iscsi_target_alloc);
 
 static void iscsi_tmf_timedout(struct timer_list *t)
 {
-       struct iscsi_session *session = from_timer(session, t, tmf_timer);
+       struct iscsi_session *session = timer_container_of(session, t,
+                                                          tmf_timer);
 
        spin_lock(&session->frwd_lock);
        if (session->tmf_state == TMF_QUEUED) {
@@ -2240,7 +2241,7 @@ EXPORT_SYMBOL_GPL(iscsi_eh_cmd_timed_out);
 
 static void iscsi_check_transport_timeouts(struct timer_list *t)
 {
-       struct iscsi_conn *conn = from_timer(conn, t, transport_timer);
+       struct iscsi_conn *conn = timer_container_of(conn, t, transport_timer);
        struct iscsi_session *session = conn->session;
        unsigned long recv_timeout, next_timeout = 0, last_recv;
 
index feb2461b90e88009a9ec45f3bff63f10229501e8..928723c90b7580cd485dab1b21c7070efb4868ea 100644 (file)
@@ -865,7 +865,7 @@ void sas_task_internal_done(struct sas_task *task)
 
 void sas_task_internal_timedout(struct timer_list *t)
 {
-       struct sas_task_slow *slow = from_timer(slow, t, timer);
+       struct sas_task_slow *slow = timer_container_of(slow, t, timer);
        struct sas_task *task = slow->task;
        bool is_completed = true;
        unsigned long flags;
index 12c67cdd7c199d6094ecd09de75a9eea32b336d2..530dddd39bab4914426198bd1999ae78bf60970f 100644 (file)
@@ -3433,7 +3433,8 @@ fdmi_cmd_exit:
 void
 lpfc_delayed_disc_tmo(struct timer_list *t)
 {
-       struct lpfc_vport *vport = from_timer(vport, t, delayed_disc_tmo);
+       struct lpfc_vport *vport = timer_container_of(vport, t,
+                                                     delayed_disc_tmo);
        struct lpfc_hba   *phba = vport->phba;
        uint32_t tmo_posted;
        unsigned long iflag;
index 375a879c31f108d85d87c007f91e96fb83f9eab2..b1a61eca82956261a4843898aab912b60bfe12aa 100644 (file)
@@ -4378,7 +4378,8 @@ lpfc_cancel_retry_delay_tmo(struct lpfc_vport *vport, struct lpfc_nodelist *nlp)
 void
 lpfc_els_retry_delay(struct timer_list *t)
 {
-       struct lpfc_nodelist *ndlp = from_timer(ndlp, t, nlp_delayfunc);
+       struct lpfc_nodelist *ndlp = timer_container_of(ndlp, t,
+                                                       nlp_delayfunc);
        struct lpfc_vport *vport = ndlp->vport;
        struct lpfc_hba   *phba = vport->phba;
        unsigned long flags;
@@ -9385,7 +9386,7 @@ out:
 void
 lpfc_els_timeout(struct timer_list *t)
 {
-       struct lpfc_vport *vport = from_timer(vport, t, els_tmofunc);
+       struct lpfc_vport *vport = timer_container_of(vport, t, els_tmofunc);
        struct lpfc_hba   *phba = vport->phba;
        uint32_t tmo_posted;
        unsigned long iflag;
@@ -11594,7 +11595,8 @@ err:
 void
 lpfc_fabric_block_timeout(struct timer_list *t)
 {
-       struct lpfc_hba  *phba = from_timer(phba, t, fabric_block_timer);
+       struct lpfc_hba  *phba = timer_container_of(phba, t,
+                                                   fabric_block_timer);
        unsigned long iflags;
        uint32_t tmo_posted;
 
index 3d15a964f5c9824e6c5676ba6a82556fd234b9a2..b88e54a7e65c65218aaeb2cc2b93840da192de0a 100644 (file)
@@ -6059,7 +6059,7 @@ lpfc_cleanup_discovery_resources(struct lpfc_vport *vport)
 void
 lpfc_disc_timeout(struct timer_list *t)
 {
-       struct lpfc_vport *vport = from_timer(vport, t, fc_disctmo);
+       struct lpfc_vport *vport = timer_container_of(vport, t, fc_disctmo);
        struct lpfc_hba   *phba = vport->phba;
        uint32_t tmo_posted;
        unsigned long flags = 0;
index 2400602a8561137a52bcbfd8b4436dd1ffbd2101..20fa450def03b0783dd28304e797880ff47e9460 100644 (file)
@@ -1196,7 +1196,7 @@ lpfc_hb_timeout(struct timer_list *t)
        uint32_t tmo_posted;
        unsigned long iflag;
 
-       phba = from_timer(phba, t, hb_tmofunc);
+       phba = timer_container_of(phba, t, hb_tmofunc);
 
        /* Check for heart beat timeout conditions */
        spin_lock_irqsave(&phba->pport->work_port_lock, iflag);
@@ -1228,7 +1228,7 @@ lpfc_rrq_timeout(struct timer_list *t)
 {
        struct lpfc_hba *phba;
 
-       phba = from_timer(phba, t, rrq_tmr);
+       phba = timer_container_of(phba, t, rrq_tmr);
        if (test_bit(FC_UNLOADING, &phba->pport->load_flag)) {
                clear_bit(HBA_RRQ_ACTIVE, &phba->hba_flag);
                return;
@@ -5131,7 +5131,7 @@ lpfc_fcf_redisc_wait_start_timer(struct lpfc_hba *phba)
 static void
 lpfc_sli4_fcf_redisc_wait_tmo(struct timer_list *t)
 {
-       struct lpfc_hba *phba = from_timer(phba, t, fcf.redisc_wait);
+       struct lpfc_hba *phba = timer_container_of(phba, t, fcf.redisc_wait);
 
        /* Don't send FCF rediscovery event if timer cancelled */
        spin_lock_irq(&phba->hbalock);
@@ -5162,7 +5162,8 @@ lpfc_sli4_fcf_redisc_wait_tmo(struct timer_list *t)
 static void
 lpfc_vmid_poll(struct timer_list *t)
 {
-       struct lpfc_hba *phba = from_timer(phba, t, inactive_vmid_poll);
+       struct lpfc_hba *phba = timer_container_of(phba, t,
+                                                  inactive_vmid_poll);
        u32 wake_up = 0;
 
        /* check if there is a need to issue QFPA */
index 9edf80b14b1a0f8b087f5bb4f01ebe5bf2e57b41..8acb744febcdb35406260a871b976978cdc599ba 100644 (file)
@@ -5190,7 +5190,7 @@ void lpfc_poll_start_timer(struct lpfc_hba * phba)
  **/
 void lpfc_poll_timeout(struct timer_list *t)
 {
-       struct lpfc_hba *phba = from_timer(phba, t, fcp_poll_timer);
+       struct lpfc_hba *phba = timer_container_of(phba, t, fcp_poll_timer);
 
        if (phba->cfg_poll & ENABLE_FCP_RING_POLLING) {
                lpfc_sli_handle_fast_ring_event(phba,
index 2ebb073e4ef3219d15b49943efe70258a11dcd3f..47bbcb78fb4d426b3b116ed93376b14cc3716641 100644 (file)
@@ -3925,7 +3925,7 @@ void lpfc_poll_eratt(struct timer_list *t)
        uint32_t eratt = 0;
        uint64_t sli_intr, cnt;
 
-       phba = from_timer(phba, t, eratt_poll);
+       phba = timer_container_of(phba, t, eratt_poll);
 
        if (test_bit(FC_UNLOADING, &phba->pport->load_flag))
                return;
@@ -9125,7 +9125,7 @@ out_free_mbox:
 void
 lpfc_mbox_timeout(struct timer_list *t)
 {
-       struct lpfc_hba  *phba = from_timer(phba, t, sli.mbox_tmo);
+       struct lpfc_hba  *phba = timer_container_of(phba, t, sli.mbox_tmo);
        unsigned long iflag;
        uint32_t tmo_posted;
 
@@ -15661,7 +15661,7 @@ lpfc_sli4_intr_handler(int irq, void *dev_id)
 
 void lpfc_sli4_poll_hbtimer(struct timer_list *t)
 {
-       struct lpfc_hba *phba = from_timer(phba, t, cpuhp_poll_timer);
+       struct lpfc_hba *phba = timer_container_of(phba, t, cpuhp_poll_timer);
        struct lpfc_queue *eq;
 
        rcu_read_lock();
index b75f46c30759daf3a2a5ac77f5ab8b3e77c2bf57..b610cad83321dc719cc4303cf6249d44752342c7 100644 (file)
@@ -3836,7 +3836,7 @@ megaraid_sysfs_get_ldmap_done(uioc_t *uioc)
 static void
 megaraid_sysfs_get_ldmap_timeout(struct timer_list *t)
 {
-       struct uioc_timeout *timeout = from_timer(timeout, t, timer);
+       struct uioc_timeout *timeout = timer_container_of(timeout, t, timer);
        uioc_t          *uioc = timeout->uioc;
        adapter_t       *adapter = (adapter_t *)uioc->buf_vaddr;
        mraid_device_t  *raid_dev = ADAP2RAIDDEV(adapter);
index fd7fa7640a5ea9eb47e715ecb80c4c5f094af272..87184e2538b07838ac6058400cb10a406a5e84f6 100644 (file)
@@ -783,7 +783,7 @@ ioctl_done(uioc_t *kioc)
 static void
 lld_timedout(struct timer_list *t)
 {
-       struct uioc_timeout *timeout = from_timer(timeout, t, timer);
+       struct uioc_timeout *timeout = timer_container_of(timeout, t, timer);
        uioc_t *kioc    = timeout->uioc;
 
        kioc->status    = -ETIME;
index 5e33d411fa3d8dcfc6208b3b693848d956965b8c..3aac0e17cb00612ed7b6fb4a2e8745c7120fc506 100644 (file)
@@ -2724,7 +2724,7 @@ out:
 static void megasas_sriov_heartbeat_handler(struct timer_list *t)
 {
        struct megasas_instance *instance =
-               from_timer(instance, t, sriov_heartbeat_timer);
+               timer_container_of(instance, t, sriov_heartbeat_timer);
 
        if (instance->hb_host_mem->HB.fwCounter !=
            instance->hb_host_mem->HB.driverCounter) {
index 52ac10226cb08fcb6de4ee7e0909251922463b50..6c46654b9cd928738bcd4bd6cd90641d9168a487 100644 (file)
@@ -1755,7 +1755,7 @@ static int mvs_handle_event(struct mvs_info *mvi, void *data, int handler)
 
 static void mvs_sig_time_out(struct timer_list *t)
 {
-       struct mvs_phy *phy = from_timer(phy, t, timer);
+       struct mvs_phy *phy = timer_container_of(phy, t, timer);
        struct mvs_info *mvi = phy->mvi;
        u8 phy_no;
 
index 14ac81ec0aa0e82a2aa5c0c7ed3af0435ff9f8c4..34ba9b137789aa91050d61eeb99e774dad9b4820 100644 (file)
@@ -7923,7 +7923,7 @@ irqreturn_t ncr53c8xx_intr(int irq, void *dev_id)
 
 static void ncr53c8xx_timeout(struct timer_list *t)
 {
-       struct ncb *np = from_timer(np, t, timer);
+       struct ncb *np = timer_container_of(np, t, timer);
        unsigned long flags;
        struct scsi_cmnd *done_list;
 
index e0aeb206df8d926fe348276e7f35bf90e6f2ce88..33f403e307ebfbd84079765d982ea963556dda0c 100644 (file)
@@ -544,7 +544,7 @@ static void pmcraid_ioa_reset(struct pmcraid_cmd *);
  */
 static void pmcraid_bist_done(struct timer_list *t)
 {
-       struct pmcraid_cmd *cmd = from_timer(cmd, t, timer);
+       struct pmcraid_cmd *cmd = timer_container_of(cmd, t, timer);
        struct pmcraid_instance *pinstance = cmd->drv_inst;
        unsigned long lock_flags;
        int rc;
@@ -601,7 +601,7 @@ static void pmcraid_start_bist(struct pmcraid_cmd *cmd)
  */
 static void pmcraid_reset_alert_done(struct timer_list *t)
 {
-       struct pmcraid_cmd *cmd = from_timer(cmd, t, timer);
+       struct pmcraid_cmd *cmd = timer_container_of(cmd, t, timer);
        struct pmcraid_instance *pinstance = cmd->drv_inst;
        u32 status = ioread32(pinstance->ioa_status);
        unsigned long lock_flags;
@@ -685,7 +685,7 @@ static void pmcraid_reset_alert(struct pmcraid_cmd *cmd)
  */
 static void pmcraid_timeout_handler(struct timer_list *t)
 {
-       struct pmcraid_cmd *cmd = from_timer(cmd, t, timer);
+       struct pmcraid_cmd *cmd = timer_container_of(cmd, t, timer);
        struct pmcraid_instance *pinstance = cmd->drv_inst;
        unsigned long lock_flags;
 
index 078a9c80bce27d364d6a14ae96ab9f29d77f9317..6af018f1ca22658b7b9fc5693ca89d3238b09604 100644 (file)
@@ -721,7 +721,7 @@ enum action {
 
 static void qla1280_mailbox_timeout(struct timer_list *t)
 {
-       struct scsi_qla_host *ha = from_timer(ha, t, mailbox_timer);
+       struct scsi_qla_host *ha = timer_container_of(ha, t, mailbox_timer);
        struct device_reg __iomem *reg;
        reg = ha->iobase;
 
index dcde55c8ee5deadd421b108087605c5c822c3b4c..91bbd3b75bff97b3fa6b08cb1c4f77150218cd98 100644 (file)
@@ -94,7 +94,8 @@ static struct edif_list_entry *qla_edif_list_find_sa_index(fc_port_t *fcport,
 /* timeout called when no traffic and delayed rx sa_index delete */
 static void qla2x00_sa_replace_iocb_timeout(struct timer_list *t)
 {
-       struct edif_list_entry *edif_entry = from_timer(edif_entry, t, timer);
+       struct edif_list_entry *edif_entry = timer_container_of(edif_entry, t,
+                                                               timer);
        fc_port_t *fcport = edif_entry->fcport;
        struct scsi_qla_host *vha = fcport->vha;
        struct  edif_sa_ctl *sa_ctl;
index 0c2dd782b675632560d50d2aa222e9fdaa24b57c..514934dd6f80ed78bff40a4a8f9ef42f0e574bbc 100644 (file)
@@ -45,7 +45,7 @@ static void __qla24xx_handle_gpdb_event(scsi_qla_host_t *, struct event_arg *);
 void
 qla2x00_sp_timeout(struct timer_list *t)
 {
-       srb_t *sp = from_timer(sp, t, u.iocb_cmd.timer);
+       srb_t *sp = timer_container_of(sp, t, u.iocb_cmd.timer);
        struct srb_iocb *iocb;
        scsi_qla_host_t *vha = sp->vha;
 
index 288ce04fc2b1ae6135f919236b5dab232ec3533e..d4b484c0fd9d7ae01055cd610b01de4225982ccd 100644 (file)
@@ -7380,7 +7380,7 @@ static void qla_wind_down_chip(scsi_qla_host_t *vha)
 void
 qla2x00_timer(struct timer_list *t)
 {
-       scsi_qla_host_t *vha = from_timer(vha, t, timer);
+       scsi_qla_host_t *vha = timer_container_of(vha, t, timer);
        unsigned long   cpu_flags = 0;
        int             start_dpc = 0;
        int             index;
index d540d66e6ffc4f774b735ed31f279c04402e3fd2..d4141656b20467d610d26901ed00a655a2a70c1c 100644 (file)
@@ -4551,7 +4551,7 @@ static void qla4xxx_check_relogin_flash_ddb(struct iscsi_cls_session *cls_sess)
  **/
 static void qla4xxx_timer(struct timer_list *t)
 {
-       struct scsi_qla_host *ha = from_timer(ha, t, timer);
+       struct scsi_qla_host *ha = timer_container_of(ha, t, timer);
        int start_dpc = 0;
        uint16_t w;
 
index 1d784ee7671c509f9b658f9264a7b6fe5eb6a755..3d40a63e378d792ffc005c51cb2fdbb04e1acc5f 100644 (file)
@@ -3825,7 +3825,8 @@ static void pqi_heartbeat_timer_handler(struct timer_list *t)
 {
        int num_interrupts;
        u32 heartbeat_count;
-       struct pqi_ctrl_info *ctrl_info = from_timer(ctrl_info, t, heartbeat_timer);
+       struct pqi_ctrl_info *ctrl_info = timer_container_of(ctrl_info, t,
+                                                            heartbeat_timer);
 
        pqi_check_ctrl_health(ctrl_info);
        if (pqi_ctrl_offline(ctrl_info))
index 1a6eb72ca281019e80b2916a27308ee505a7d269..57637a81776d3d34fd6ad526fbed8908e073f4be 100644 (file)
@@ -545,7 +545,7 @@ static irqreturn_t sym53c8xx_intr(int irq, void *dev_id)
  */
 static void sym53c8xx_timer(struct timer_list *t)
 {
-       struct sym_hcb *np = from_timer(np, t, s.timer);
+       struct sym_hcb *np = timer_container_of(np, t, s.timer);
        unsigned long flags;
 
        spin_lock_irqsave(np->s.host->host_lock, flags);
index 454d46b8b6771e68daf482ecee1f6b08881c1ffe..b923dc606d1d36cb5c9fa01e105b00ba65125a49 100644 (file)
@@ -39,7 +39,8 @@ static void agilent_82357a_bulk_complete(struct urb *urb)
 
 static void agilent_82357a_timeout_handler(struct timer_list *t)
 {
-       struct agilent_82357a_priv *a_priv = from_timer(a_priv, t, bulk_timer);
+       struct agilent_82357a_priv *a_priv = timer_container_of(a_priv, t,
+                                                               bulk_timer);
        struct agilent_82357a_urb_ctx *context = &a_priv->context;
 
        context->timed_out = 1;
index 0678829ad14f970d4e5f71e7b2072ba02fad29dc..a193d64db0337e810720b151b184df126134dd63 100644 (file)
@@ -85,7 +85,7 @@ static int pop_gpib_event_nolock(struct gpib_board *board,
 
 static void watchdog_timeout(struct timer_list *t)
 {
-       struct gpib_board *board = from_timer(board, t, timer);
+       struct gpib_board *board = timer_container_of(board, t, timer);
 
        set_bit(TIMO_NUM, &board->status);
        wake_up_interruptible(&board->wait);
@@ -133,7 +133,8 @@ static inline int pseudo_irq_period(void)
 
 static void pseudo_irq_handler(struct timer_list *t)
 {
-       struct gpib_pseudo_irq *pseudo_irq = from_timer(pseudo_irq, t, timer);
+       struct gpib_pseudo_irq *pseudo_irq = timer_container_of(pseudo_irq, t,
+                                                               timer);
 
        if (pseudo_irq->handler)
                pseudo_irq->handler(0, pseudo_irq->board);
index 512bd75900eca51154b6362c35dc2f3c1cc9eef6..549280d9a6e965d22e3346fc3079cfcde7fe1fcb 100644 (file)
@@ -574,7 +574,7 @@ struct wait_info {
 
 static void wait_timeout(struct timer_list *t)
 {
-       struct wait_info *winfo = from_timer(winfo, t, timer);
+       struct wait_info *winfo = timer_container_of(winfo, t, timer);
 
        winfo->timed_out = 1;
        wake_up_interruptible(&winfo->board->wait);
index 9ec850c4749fc834925263b49b819d4705ac47fb..7cf25c95787f35e748fecb5789dadf06ee8e9eb0 100644 (file)
@@ -93,7 +93,8 @@ static void ni_usb_bulk_complete(struct urb *urb)
 
 static void ni_usb_timeout_handler(struct timer_list *t)
 {
-       struct ni_usb_priv *ni_priv = from_timer(ni_priv, t, bulk_timer);
+       struct ni_usb_priv *ni_priv = timer_container_of(ni_priv, t,
+                                                        bulk_timer);
        struct ni_usb_urb_ctx *context = &ni_priv->context;
 
        context->timed_out = 1;
index 2855ba2296ac1c6d28fe56146f28bbb89d2f3ddd..77360bfe081a4288970b2947528a8b98ab88098e 100644 (file)
@@ -295,7 +295,7 @@ static irqreturn_t prp_nfb4eof_interrupt(int irq, void *dev_id)
  */
 static void prp_eof_timeout(struct timer_list *t)
 {
-       struct prp_priv *priv = from_timer(priv, t, eof_timeout_timer);
+       struct prp_priv *priv = timer_container_of(priv, t, eof_timeout_timer);
        struct imx_media_video_dev *vdev = priv->vdev;
        struct imx_ic_priv *ic_priv = priv->ic_priv;
 
index f1d7fce8c0204e3bc2d919f56012dc258258b95c..a7cd3ef95fc3f6eedd9d29c08820db1e88978af1 100644 (file)
@@ -356,7 +356,7 @@ static irqreturn_t csi_idmac_nfb4eof_interrupt(int irq, void *dev_id)
  */
 static void csi_idmac_eof_timeout(struct timer_list *t)
 {
-       struct csi_priv *priv = from_timer(priv, t, eof_timeout_timer);
+       struct csi_priv *priv = timer_container_of(priv, t, eof_timeout_timer);
        struct imx_media_video_dev *vdev = priv->vdev;
 
        v4l2_err(&priv->sd, "EOF timeout\n");
index 1d23ea7d6f5971a84fada56f34bc0a771b71d0f2..6301dbbcc472061cbf9f66d00181762305a7609f 100644 (file)
@@ -1460,8 +1460,8 @@ void rtw_wmm_event_callback(struct adapter *padapter, u8 *pbuf)
 */
 void _rtw_join_timeout_handler(struct timer_list *t)
 {
-       struct adapter *adapter = from_timer(adapter, t,
-                                                 mlmepriv.assoc_timer);
+       struct adapter *adapter = timer_container_of(adapter, t,
+                                                    mlmepriv.assoc_timer);
        struct  mlme_priv *pmlmepriv = &adapter->mlmepriv;
 
        if (adapter->bDriverStopped || adapter->bSurpriseRemoved)
@@ -1504,8 +1504,8 @@ void _rtw_join_timeout_handler(struct timer_list *t)
 */
 void rtw_scan_timeout_handler(struct timer_list *t)
 {
-       struct adapter *adapter = from_timer(adapter, t,
-                                                 mlmepriv.scan_to_timer);
+       struct adapter *adapter = timer_container_of(adapter, t,
+                                                    mlmepriv.scan_to_timer);
        struct  mlme_priv *pmlmepriv = &adapter->mlmepriv;
 
        spin_lock_bh(&pmlmepriv->lock);
index e74fb7d5dc37f097c9c7aa65be133087d7615959..bc980d21d50e245cf6edf81fda771e0d3dc2ef8c 100644 (file)
@@ -5088,7 +5088,7 @@ void linked_status_chk(struct adapter *padapter)
 void survey_timer_hdl(struct timer_list *t)
 {
        struct adapter *padapter =
-               from_timer(padapter, t, mlmeextpriv.survey_timer);
+               timer_container_of(padapter, t, mlmeextpriv.survey_timer);
        struct cmd_obj  *ph2c;
        struct sitesurvey_parm  *psurveyPara;
        struct cmd_priv                                 *pcmdpriv = &padapter->cmdpriv;
@@ -5123,7 +5123,7 @@ void survey_timer_hdl(struct timer_list *t)
 void link_timer_hdl(struct timer_list *t)
 {
        struct adapter *padapter =
-               from_timer(padapter, t, mlmeextpriv.link_timer);
+               timer_container_of(padapter, t, mlmeextpriv.link_timer);
        /* static unsigned int          rx_pkt = 0; */
        /* static u64                           tx_cnt = 0; */
        /* struct xmit_priv     *pxmitpriv = &(padapter->xmitpriv); */
@@ -5161,7 +5161,7 @@ void link_timer_hdl(struct timer_list *t)
 
 void addba_timer_hdl(struct timer_list *t)
 {
-       struct sta_info *psta = from_timer(psta, t, addba_retry_timer);
+       struct sta_info *psta = timer_container_of(psta, t, addba_retry_timer);
        struct ht_priv *phtpriv;
 
        if (!psta)
@@ -5179,7 +5179,7 @@ void addba_timer_hdl(struct timer_list *t)
 void sa_query_timer_hdl(struct timer_list *t)
 {
        struct adapter *padapter =
-               from_timer(padapter, t, mlmeextpriv.sa_query_timer);
+               timer_container_of(padapter, t, mlmeextpriv.sa_query_timer);
        struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
        /* disconnect */
        spin_lock_bh(&pmlmepriv->lock);
index 44f7c19308a558b3da4f127298a141806d00097f..6a2583d0d3ebe794b4ab8e4867beb229b50e69b1 100644 (file)
@@ -175,7 +175,7 @@ exit:
 static void pwr_state_check_handler(struct timer_list *t)
 {
        struct pwrctrl_priv *pwrctrlpriv =
-               from_timer(pwrctrlpriv, t, pwr_state_check_timer);
+               timer_container_of(pwrctrlpriv, t, pwr_state_check_timer);
        struct adapter *padapter = pwrctrlpriv->adapter;
 
        rtw_ps_cmd(padapter);
@@ -674,7 +674,8 @@ exit:
  */
 static void pwr_rpwm_timeout_handler(struct timer_list *t)
 {
-       struct pwrctrl_priv *pwrpriv = from_timer(pwrpriv, t, pwr_rpwm_timer);
+       struct pwrctrl_priv *pwrpriv = timer_container_of(pwrpriv, t,
+                                                         pwr_rpwm_timer);
 
        if ((pwrpriv->rpwm == pwrpriv->cpwm) || (pwrpriv->cpwm >= PS_STATE_S2))
                return;
index 709a606be7c968704cf3cb21f8421e7438e19d65..8ae527b6e0d69f07be5171d4539381492ea8ff64 100644 (file)
@@ -1908,7 +1908,7 @@ _err_exit:
 void rtw_reordering_ctrl_timeout_handler(struct timer_list *t)
 {
        struct recv_reorder_ctrl *preorder_ctrl =
-               from_timer(preorder_ctrl, t, reordering_ctrl_timer);
+               timer_container_of(preorder_ctrl, t, reordering_ctrl_timer);
        struct adapter *padapter = preorder_ctrl->padapter;
        struct __queue *ppending_recvframe_queue = &preorder_ctrl->pending_recvframe_queue;
 
@@ -2087,7 +2087,7 @@ _recv_entry_drop:
 static void rtw_signal_stat_timer_hdl(struct timer_list *t)
 {
        struct adapter *adapter =
-               from_timer(adapter, t, recvpriv.signal_stat_timer);
+               timer_container_of(adapter, t, recvpriv.signal_stat_timer);
        struct recv_priv *recvpriv = &adapter->recvpriv;
 
        u32 tmp_s, tmp_q;
index 1904e82a24b5c273c757418365be41640f85947e..fd4ae870a617858efb7a3952d956c72bf6e8a7f6 100644 (file)
@@ -9,7 +9,7 @@
 static void _dynamic_check_timer_handler(struct timer_list *t)
 {
        struct adapter *adapter =
-               from_timer(adapter, t, mlmepriv.dynamic_chk_timer);
+               timer_container_of(adapter, t, mlmepriv.dynamic_chk_timer);
 
        rtw_dynamic_check_timer_handler(adapter);
 
@@ -19,7 +19,7 @@ static void _dynamic_check_timer_handler(struct timer_list *t)
 static void _rtw_set_scan_deny_timer_hdl(struct timer_list *t)
 {
        struct adapter *adapter =
-               from_timer(adapter, t, mlmepriv.set_scan_deny_timer);
+               timer_container_of(adapter, t, mlmepriv.set_scan_deny_timer);
 
        rtw_clear_scan_deny(adapter);
 }
index f0d7eebfcad6b469d3a72a800775c0d8bce1357f..24db6b07493e628a354816f97090e5b6ed93452e 100644 (file)
@@ -743,7 +743,8 @@ int iscsit_check_post_dataout(
 
 void iscsit_handle_time2retain_timeout(struct timer_list *t)
 {
-       struct iscsit_session *sess = from_timer(sess, t, time2retain_timer);
+       struct iscsit_session *sess = timer_container_of(sess, t,
+                                                        time2retain_timer);
        struct iscsi_portal_group *tpg = sess->tpg;
        struct se_portal_group *se_tpg = &tpg->tpg_se_tpg;
 
index e7c3c4cdaae4eb249053cb85353445ca7f4b3730..d8ca06e697d63f3f8dc202085a075d2d965f9f2c 100644 (file)
@@ -1094,7 +1094,7 @@ void iscsit_handle_dataout_timeout(struct timer_list *t)
 {
        u32 pdu_length = 0, pdu_offset = 0;
        u32 r2t_length = 0, r2t_offset = 0;
-       struct iscsit_cmd *cmd = from_timer(cmd, t, dataout_timer);
+       struct iscsit_cmd *cmd = timer_container_of(cmd, t, dataout_timer);
        struct iscsit_conn *conn = cmd->conn;
        struct iscsit_session *sess = NULL;
        struct iscsi_node_attrib *na;
index 0bd62ab9a1cdec7f860f2c293beb57288ec7076f..5e6cf34929b55bf351d4cb2c050d22be5a6ea7c0 100644 (file)
@@ -851,7 +851,8 @@ static int iscsit_add_nopin(struct iscsit_conn *conn, int want_response)
 
 void iscsit_handle_nopin_response_timeout(struct timer_list *t)
 {
-       struct iscsit_conn *conn = from_timer(conn, t, nopin_response_timer);
+       struct iscsit_conn *conn = timer_container_of(conn, t,
+                                                     nopin_response_timer);
        struct iscsit_session *sess = conn->sess;
 
        iscsit_inc_conn_usage_count(conn);
@@ -931,7 +932,7 @@ void iscsit_stop_nopin_response_timer(struct iscsit_conn *conn)
 
 void iscsit_handle_nopin_timeout(struct timer_list *t)
 {
-       struct iscsit_conn *conn = from_timer(conn, t, nopin_timer);
+       struct iscsit_conn *conn = timer_container_of(conn, t, nopin_timer);
 
        iscsit_inc_conn_usage_count(conn);
 
@@ -998,7 +999,7 @@ void iscsit_stop_nopin_timer(struct iscsit_conn *conn)
 
 void iscsit_login_timeout(struct timer_list *t)
 {
-       struct iscsit_conn *conn = from_timer(conn, t, login_timer);
+       struct iscsit_conn *conn = timer_container_of(conn, t, login_timer);
        struct iscsi_login *login = conn->login;
 
        pr_debug("Entering iscsi_target_login_timeout >>>>>>>>>>>>>>>>>>>\n");
index 43872ccc07cc7eb5fd1683e97ab514b431e77c6a..3fd963612775892abc348372a6138169f0fd8531 100644 (file)
@@ -1564,7 +1564,7 @@ static void tcmu_device_timedout(struct tcmu_dev *udev)
 
 static void tcmu_cmd_timedout(struct timer_list *t)
 {
-       struct tcmu_dev *udev = from_timer(udev, t, cmd_timer);
+       struct tcmu_dev *udev = timer_container_of(udev, t, cmd_timer);
 
        pr_debug("%s cmd timeout has expired\n", udev->name);
        tcmu_device_timedout(udev);
@@ -1572,7 +1572,7 @@ static void tcmu_cmd_timedout(struct timer_list *t)
 
 static void tcmu_qfull_timedout(struct timer_list *t)
 {
-       struct tcmu_dev *udev = from_timer(udev, t, qfull_timer);
+       struct tcmu_dev *udev = timer_container_of(udev, t, qfull_timer);
 
        pr_debug("%s qfull timeout has expired\n", udev->name);
        tcmu_device_timedout(udev);
index c13f52337035b40cdf6347faa978fa03db2486aa..e18848267be41579025260e0e5f32e89b73fdc1d 100644 (file)
@@ -1676,7 +1676,7 @@ void ipwireless_init_hardware_v2_v3(struct ipw_hardware *hw)
 
 static void ipwireless_setup_timer(struct timer_list *t)
 {
-       struct ipw_hardware *hw = from_timer(hw, t, setup_timer);
+       struct ipw_hardware *hw = timer_container_of(hw, t, setup_timer);
 
        hw->init_loops++;
 
index fa47bfcf9e862ac880eb21203cc45d80372c3f0a..ba7690c3e15e7ee22847bcf609d7434429d02336 100644 (file)
@@ -683,7 +683,8 @@ static irqreturn_t mips_ejtag_fdc_isr(int irq, void *dev_id)
  */
 static void mips_ejtag_fdc_tty_timer(struct timer_list *t)
 {
-       struct mips_ejtag_fdc_tty *priv = from_timer(priv, t, poll_timer);
+       struct mips_ejtag_fdc_tty *priv = timer_container_of(priv, t,
+                                                            poll_timer);
 
        mips_ejtag_fdc_handle(priv);
        if (!priv->removing)
index 40a336ef8c7ebbdb83efdccbb67f4963d52e00b3..7fc535452c0b30ab34c14c725c2a65531c17b2f3 100644 (file)
@@ -1971,7 +1971,7 @@ static void gsm_control_response(struct gsm_mux *gsm, unsigned int command,
 
 static void gsm_control_keep_alive(struct timer_list *t)
 {
-       struct gsm_mux *gsm = from_timer(gsm, t, ka_timer);
+       struct gsm_mux *gsm = timer_container_of(gsm, t, ka_timer);
        unsigned long flags;
 
        spin_lock_irqsave(&gsm->control_lock, flags);
@@ -2028,7 +2028,7 @@ static void gsm_control_transmit(struct gsm_mux *gsm, struct gsm_control *ctrl)
 
 static void gsm_control_retransmit(struct timer_list *t)
 {
-       struct gsm_mux *gsm = from_timer(gsm, t, t2_timer);
+       struct gsm_mux *gsm = timer_container_of(gsm, t, t2_timer);
        struct gsm_control *ctrl;
        unsigned long flags;
        spin_lock_irqsave(&gsm->control_lock, flags);
@@ -2229,7 +2229,7 @@ static int gsm_dlci_negotiate(struct gsm_dlci *dlci)
 
 static void gsm_dlci_t1(struct timer_list *t)
 {
-       struct gsm_dlci *dlci = from_timer(dlci, t, t1);
+       struct gsm_dlci *dlci = timer_container_of(dlci, t, t1);
        struct gsm_mux *gsm = dlci->gsm;
 
        switch (dlci->state) {
@@ -2489,7 +2489,7 @@ static void gsm_dlci_command(struct gsm_dlci *dlci, const u8 *data, int len)
  */
 static void gsm_kick_timer(struct timer_list *t)
 {
-       struct gsm_mux *gsm = from_timer(gsm, t, kick_timer);
+       struct gsm_mux *gsm = timer_container_of(gsm, t, kick_timer);
        unsigned long flags;
        int sent = 0;
 
index 392447038bfbbb8015658db970e642394d667f5f..26fc0464f1cc243ddcf1a4939babef6bd33d849f 100644 (file)
@@ -304,7 +304,8 @@ static void aspeed_vuart_unthrottle(struct uart_port *port)
 
 static void aspeed_vuart_unthrottle_exp(struct timer_list *timer)
 {
-       struct aspeed_vuart *vuart = from_timer(vuart, timer, unthrottle_timer);
+       struct aspeed_vuart *vuart = timer_container_of(vuart, timer,
+                                                       unthrottle_timer);
        struct uart_8250_port *up = vuart->port;
 
        if (!tty_buffer_space_avail(&up->port.state->port)) {
index 68994a964321f137798e09b163c7cd318010ee20..7a6050f1c094b3947415ee83fb053614b990fa75 100644 (file)
@@ -206,7 +206,7 @@ static void serial_unlink_irq_chain(struct uart_8250_port *up)
  */
 static void serial8250_timeout(struct timer_list *t)
 {
-       struct uart_8250_port *up = from_timer(up, t, timer);
+       struct uart_8250_port *up = timer_container_of(up, t, timer);
 
        up->port.handle_irq(&up->port);
        mod_timer(&up->timer, jiffies + uart_poll_timeout(&up->port));
@@ -214,7 +214,7 @@ static void serial8250_timeout(struct timer_list *t)
 
 static void serial8250_backup_timeout(struct timer_list *t)
 {
-       struct uart_8250_port *up = from_timer(up, t, timer);
+       struct uart_8250_port *up = timer_container_of(up, t, timer);
        unsigned int iir, ier = 0, lsr;
        unsigned long flags;
 
index 011f38681131942f4100acece6fc9f35f5f9256d..837991dc4db9763424e44ce6b12ea77172c5a9a7 100644 (file)
@@ -275,7 +275,7 @@ static irqreturn_t altera_uart_interrupt(int irq, void *data)
 
 static void altera_uart_timer(struct timer_list *t)
 {
-       struct altera_uart *pp = from_timer(pp, t, tmr);
+       struct altera_uart *pp = timer_container_of(pp, t, tmr);
        struct uart_port *port = &pp->port;
 
        altera_uart_interrupt(0, port);
index 421ac22555dffb87eff3b56867fe23e10855848a..22939841b1de5a3f6d08466919ef4c3880bb0b5b 100644 (file)
@@ -1046,7 +1046,7 @@ static inline void pl011_dma_rx_stop(struct uart_amba_port *uap)
  */
 static void pl011_dma_rx_poll(struct timer_list *t)
 {
-       struct uart_amba_port *uap = from_timer(uap, t, dmarx.timer);
+       struct uart_amba_port *uap = timer_container_of(uap, t, dmarx.timer);
        struct tty_port *port = &uap->port.state->port;
        struct pl011_dmarx_data *dmarx = &uap->dmarx;
        struct dma_chan *rxchan = uap->dmarx.chan;
index 18dba502144d01430c7ae843177f030c7f3e3672..08dd8f88795605a7491205dacace4acc032fcae5 100644 (file)
@@ -1266,8 +1266,8 @@ chan_err:
 
 static void atmel_uart_timer_callback(struct timer_list *t)
 {
-       struct atmel_uart_port *atmel_port = from_timer(atmel_port, t,
-                                                       uart_timer);
+       struct atmel_uart_port *atmel_port = timer_container_of(atmel_port, t,
+                                                               uart_timer);
        struct uart_port *port = &atmel_port->uart;
 
        if (!atomic_read(&atmel_port->tasklet_shutdown)) {
index dff6a6c57b5f71900afaa521efa9e465c74bc07d..2790b4078e7ed49399645ab2a2072b891d28c4b9 100644 (file)
@@ -1307,7 +1307,7 @@ static irqreturn_t lpuart32_int(int irq, void *dev_id)
  */
 static void lpuart_timer_func(struct timer_list *t)
 {
-       struct lpuart_port *sport = from_timer(sport, t, lpuart_timer);
+       struct lpuart_port *sport = timer_container_of(sport, t, lpuart_timer);
        enum dma_status dmastat;
        struct dma_chan *chan = sport->dma_rx_chan;
        struct circ_buf *ring = &sport->rx_ring;
index e4b6f1bfdc95cd1f3c7cc8748370b27e1a4de25c..bd02ee898f5da4481f7d6cbf6fbe9636757e166a 100644 (file)
@@ -1165,7 +1165,7 @@ static void imx_uart_break_ctl(struct uart_port *port, int break_state)
  */
 static void imx_uart_timeout(struct timer_list *t)
 {
-       struct imx_port *sport = from_timer(sport, t, timer);
+       struct imx_port *sport = timer_container_of(sport, t, timer);
        unsigned long flags;
 
        if (sport->port.state) {
index 3a0960c97c77b6b78154b3b4a9e9c68b2e45fe3f..6429e8f11f36fcb1a6e1a87411393fb904c648ba 100644 (file)
@@ -152,7 +152,7 @@ static irqreturn_t liteuart_interrupt(int irq, void *data)
 
 static void liteuart_timer(struct timer_list *t)
 {
-       struct liteuart_port *uart = from_timer(uart, t, timer);
+       struct liteuart_port *uart = timer_container_of(uart, t, timer);
        struct uart_port *port = &uart->port;
 
        liteuart_interrupt(0, port);
index d28a2ebfa29f22147c56b014a6624691c48b83bd..67d80f8f801e9a2a845fb426527c80c8415b6894 100644 (file)
@@ -309,7 +309,7 @@ static void max3100_dowork(struct max3100_port *s)
 
 static void max3100_timeout(struct timer_list *t)
 {
-       struct max3100_port *s = from_timer(s, t, timer);
+       struct max3100_port *s = timer_container_of(s, t, timer);
 
        max3100_dowork(s);
        mod_timer(&s->timer, jiffies + uart_poll_timeout(&s->port));
index 8587ebbe107375ddc1f88880a251d3ca2b768493..72b1bb76415c03fd2095b67355749ebd3123076d 100644 (file)
@@ -111,7 +111,7 @@ static void sa1100_mctrl_check(struct sa1100_port *sport)
  */
 static void sa1100_timeout(struct timer_list *t)
 {
-       struct sa1100_port *sport = from_timer(sport, t, timer);
+       struct sa1100_port *sport = timer_container_of(sport, t, timer);
        unsigned long flags;
 
        if (sport->port.state) {
index 553e3c1321ca01fe2a41ae1cb9032ba654e8b6a0..4ceca11ce6003c572861ceba76fae8ddc7cb099f 100644 (file)
@@ -500,7 +500,7 @@ static void sccnxp_handle_events(struct sccnxp_port *s)
 
 static void sccnxp_timer(struct timer_list *t)
 {
-       struct sccnxp_port *s = from_timer(s, t, timer);
+       struct sccnxp_port *s = timer_container_of(s, t, timer);
        unsigned long flags;
 
        spin_lock_irqsave(&s->lock, flags);
index ff1986dc6af3e7e915e0715cf1b40e7a6109c637..1c356544a832a0c2c376671111b6da8c045fc87e 100644 (file)
@@ -1120,7 +1120,7 @@ static int scif_rtrg_enabled(struct uart_port *port)
 
 static void rx_fifo_timer_fn(struct timer_list *t)
 {
-       struct sci_port *s = from_timer(s, t, rx_fifo_timer);
+       struct sci_port *s = timer_container_of(s, t, rx_fifo_timer);
        struct uart_port *port = &s->port;
 
        dev_dbg(port->dev, "Rx timed out\n");
index 4c703f42680db79757b43e08e7f65275c5263df4..3865b10d2d43c5fe841d00972b3ca41b6afd6569 100644 (file)
@@ -5002,7 +5002,7 @@ static int adapter_test(struct slgt_info *info)
  */
 static void tx_timeout(struct timer_list *t)
 {
-       struct slgt_info *info = from_timer(info, t, tx_timer);
+       struct slgt_info *info = timer_container_of(info, t, tx_timer);
        unsigned long flags;
 
        DBGINFO(("%s tx_timeout\n", info->device_name));
@@ -5026,7 +5026,7 @@ static void tx_timeout(struct timer_list *t)
  */
 static void rx_timeout(struct timer_list *t)
 {
-       struct slgt_info *info = from_timer(info, t, rx_timer);
+       struct slgt_info *info = timer_container_of(info, t, rx_timer);
        unsigned long flags;
 
        DBGINFO(("%s rx_timeout\n", info->device_name));
index 6853c4660e7c2586487fea83c12f0b7780db1ee1..d77c03d22227d8c9ab0d040ee7fa695acb49d50c 100644 (file)
@@ -712,7 +712,8 @@ static void sysrq_parse_reset_sequence(struct sysrq_state *state)
 
 static void sysrq_do_reset(struct timer_list *t)
 {
-       struct sysrq_state *state = from_timer(state, t, keyreset_timer);
+       struct sysrq_state *state = timer_container_of(state, t,
+                                                      keyreset_timer);
 
        state->reset_requested = true;
 
index 7ac3048377d50907d1f48ea75b241064ff168721..2960031ace72309ebeea31399814db58de68ef94 100644 (file)
@@ -356,7 +356,7 @@ done:
 
 static void vcc_rx_timer(struct timer_list *t)
 {
-       struct vcc_port *port = from_timer(port, t, rx_timer);
+       struct vcc_port *port = timer_container_of(port, t, rx_timer);
        struct vio_driver_state *vio;
        unsigned long flags;
        int rv;
@@ -382,7 +382,7 @@ done:
 
 static void vcc_tx_timer(struct timer_list *t)
 {
-       struct vcc_port *port = from_timer(port, t, tx_timer);
+       struct vcc_port *port = timer_container_of(port, t, tx_timer);
        struct vio_vcc *pkt;
        unsigned long flags;
        size_t tosend = 0;
index b7f940486414ac9c08aa3a5944f2e02384ce416d..a12ab90b3db75b230dcf319a949e6d10dbac0363 100644 (file)
@@ -582,7 +582,7 @@ struct cxacru_timer {
 
 static void cxacru_timeout_kill(struct timer_list *t)
 {
-       struct cxacru_timer *timer = from_timer(timer, t, timer);
+       struct cxacru_timer *timer = timer_container_of(timer, t, timer);
 
        usb_unlink_urb(timer->urb);
 }
index 27e3d35ee7ddfa4e3f09c417a4df50171005018b..773ac27255324cce5c45e2c8689d9097ac8b0148 100644 (file)
@@ -559,8 +559,9 @@ static void speedtch_check_status(struct work_struct *work)
 
 static void speedtch_status_poll(struct timer_list *t)
 {
-       struct speedtch_instance_data *instance = from_timer(instance, t,
-                                                            status_check_timer);
+       struct speedtch_instance_data *instance = timer_container_of(instance,
+                                                                    t,
+                                                                    status_check_timer);
 
        schedule_work(&instance->status_check_work);
 
@@ -573,8 +574,9 @@ static void speedtch_status_poll(struct timer_list *t)
 
 static void speedtch_resubmit_int(struct timer_list *t)
 {
-       struct speedtch_instance_data *instance = from_timer(instance, t,
-                                                            resubmit_timer);
+       struct speedtch_instance_data *instance = timer_container_of(instance,
+                                                                    t,
+                                                                    resubmit_timer);
        struct urb *int_urb = instance->int_urb;
        int ret;
 
index a6a05e85ef8c26a688489de58ed68ab6be601be0..5f3ad9a99d9e7cd27b3ef660ebbefe459bda64ab 100644 (file)
@@ -993,7 +993,7 @@ static int usbatm_heavy_init(struct usbatm_data *instance)
 
 static void usbatm_tasklet_schedule(struct timer_list *t)
 {
-       struct usbatm_channel *channel = from_timer(channel, t, delay);
+       struct usbatm_channel *channel = timer_container_of(channel, t, delay);
 
        tasklet_schedule(&channel->tasklet);
 }
index a63c793bac21c7c5f91a396c6b031028212179c2..c22de97432a01be096849f7b2103f151bb5f5cbf 100644 (file)
@@ -775,7 +775,7 @@ EXPORT_SYMBOL_GPL(usb_hcd_poll_rh_status);
 /* timer callback */
 static void rh_timer_func (struct timer_list *t)
 {
-       struct usb_hcd *_hcd = from_timer(_hcd, t, rh_timer);
+       struct usb_hcd *_hcd = timer_container_of(_hcd, t, rh_timer);
 
        usb_hcd_poll_rh_status(_hcd);
 }
index 416af6d76374008b880f6dc8d935b9f558f12a70..770d1e91183ca537ee6cadd45fe14d916d4ade62 100644 (file)
@@ -697,7 +697,7 @@ static void hub_resubmit_irq_urb(struct usb_hub *hub)
 
 static void hub_retry_irq_urb(struct timer_list *t)
 {
-       struct usb_hub *hub = from_timer(hub, t, irq_urb_retry);
+       struct usb_hub *hub = timer_container_of(hub, t, irq_urb_retry);
 
        hub_resubmit_irq_urb(hub);
 }
index 60ef8092259a9d734f22df6c2c75029b6bac038e..30eb8506617c047b84f9e82e74248ed1928d51ab 100644 (file)
@@ -3227,7 +3227,7 @@ host:
 
 static void dwc2_wakeup_detected(struct timer_list *t)
 {
-       struct dwc2_hsotg *hsotg = from_timer(hsotg, t, wkp_timer);
+       struct dwc2_hsotg *hsotg = timer_container_of(hsotg, t, wkp_timer);
        u32 hprt0;
 
        dev_dbg(hsotg->dev, "%s()\n", __func__);
index b0098792dd22502f5f88d57d7cfce06e53004855..904fe0632b34e5c7284f7d2254525f10f9b4eee2 100644 (file)
@@ -1215,7 +1215,7 @@ static void dwc2_do_unreserve(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh)
  */
 static void dwc2_unreserve_timer_fn(struct timer_list *t)
 {
-       struct dwc2_qh *qh = from_timer(qh, t, unreserve_timer);
+       struct dwc2_qh *qh = timer_container_of(qh, t, unreserve_timer);
        struct dwc2_hsotg *hsotg = qh->hsotg;
        unsigned long flags;
 
index aa4c61094dc6fa379de04f08f3b771dcafe942b3..42b94d858e37303a7ff140ee0810ed946dcd2892 100644 (file)
@@ -1541,7 +1541,7 @@ static void at91_vbus_timer_work(struct work_struct *work)
 
 static void at91_vbus_timer(struct timer_list *t)
 {
-       struct at91_udc *udc = from_timer(udc, t, vbus_timer);
+       struct at91_udc *udc = timer_container_of(udc, t, vbus_timer);
 
        /*
         * If we are polling vbus it is likely that the gpio is on an
index 4f1b5db51ddae29a61f438ccc59c8b353e0f2477..27c9699365ab951256147094d8960be4d6732bbd 100644 (file)
@@ -1787,7 +1787,8 @@ static int handle_control_request(struct dummy_hcd *dum_hcd, struct urb *urb,
  */
 static enum hrtimer_restart dummy_timer(struct hrtimer *t)
 {
-       struct dummy_hcd        *dum_hcd = from_timer(dum_hcd, t, timer);
+       struct dummy_hcd        *dum_hcd = timer_container_of(dum_hcd, t,
+                                                             timer);
        struct dummy            *dum = dum_hcd->dum;
        struct urbp             *urbp, *tmp;
        unsigned long           flags;
index a938b2af0944bc4fe79d4acc5dfe24ce09a07558..715791737499306060d34ef0485cba0db66853f9 100644 (file)
@@ -1261,7 +1261,7 @@ static irqreturn_t m66592_irq(int irq, void *_m66592)
 
 static void m66592_timer(struct timer_list *t)
 {
-       struct m66592 *m66592 = from_timer(m66592, t, timer);
+       struct m66592 *m66592 = timer_container_of(m66592, t, timer);
        unsigned long flags;
        u16 tmp;
 
index c93ea210c17cbe3048f4910f201f8ba94b39bca2..062bf2b57d2eac86361c44140bf717b8207b95a0 100644 (file)
@@ -1860,7 +1860,7 @@ static irqreturn_t omap_udc_irq(int irq, void *_udc)
 
 static void pio_out_timer(struct timer_list *t)
 {
-       struct omap_ep  *ep = from_timer(ep, t, timer);
+       struct omap_ep  *ep = timer_container_of(ep, t, timer);
        unsigned long   flags;
        u16             stat_flg;
 
index 24eb1ae78e459763a442b9761e56d9db44db8b24..f5d09a91e55469d69b5c864434ee586bfd7486b0 100644 (file)
@@ -1574,7 +1574,7 @@ static inline void clear_ep_state (struct pxa25x_udc *dev)
 
 static void udc_watchdog(struct timer_list *t)
 {
-       struct pxa25x_udc       *dev = from_timer(dev, t, timer);
+       struct pxa25x_udc       *dev = timer_container_of(dev, t, timer);
 
        local_irq_disable();
        if (dev->ep0state == EP0_STALL
index 6c1d15b2250c83d4f1e5fd924824f710220d8a56..e5c2630e371141c689e2e0c050f4c67fd5a94c25 100644 (file)
@@ -1516,7 +1516,7 @@ static irqreturn_t r8a66597_irq(int irq, void *_r8a66597)
 
 static void r8a66597_timer(struct timer_list *t)
 {
-       struct r8a66597 *r8a66597 = from_timer(r8a66597, t, timer);
+       struct r8a66597 *r8a66597 = timer_container_of(r8a66597, t, timer);
        unsigned long flags;
        u16 tmp;
 
index 150d2542cef088215ab42c8ae543ceb62fa0fc47..6aab45c8525c1f43ab3306fd993927a8bf9553c2 100644 (file)
@@ -198,7 +198,8 @@ static void quirk_poll_work(struct work_struct *work)
 
 static void quirk_poll_timer(struct timer_list *t)
 {
-       struct ehci_platform_priv *priv = from_timer(priv, t, poll_timer);
+       struct ehci_platform_priv *priv = timer_container_of(priv, t,
+                                                            poll_timer);
        struct ehci_hcd *ehci = container_of((void *)priv, struct ehci_hcd,
                                             priv);
 
index c7784bf8101dcd261806684df0a1a747cbe17bb3..9c7f3008646ed5eb130b8d035a1ea3da29a42b9d 100644 (file)
@@ -746,7 +746,8 @@ static int ohci_start(struct usb_hcd *hcd)
  */
 static void io_watchdog_func(struct timer_list *t)
 {
-       struct ohci_hcd *ohci = from_timer(ohci, t, io_watchdog);
+       struct ohci_hcd *ohci = timer_container_of(ohci, t,
+                                                         io_watchdog);
        bool            takeback_all_pending = false;
        u32             status;
        u32             head;
index d75b1b9b4db02ba3cd92344c9937f4617d9c8c6a..6b7c73eff081c70b90cc4acc50a5c768f244cddb 100644 (file)
@@ -2955,7 +2955,7 @@ static irqreturn_t oxu_irq(struct usb_hcd *hcd)
 
 static void oxu_watchdog(struct timer_list *t)
 {
-       struct oxu_hcd  *oxu = from_timer(oxu, t, watchdog);
+       struct oxu_hcd  *oxu = timer_container_of(oxu, t, watchdog);
        unsigned long flags;
 
        spin_lock_irqsave(&oxu->lock, flags);
index 67e472116d11a15afc55321d12a50540e46858cd..d21a03cf5c17564115589d1d63df076be92f7090 100644 (file)
@@ -1720,7 +1720,8 @@ static void r8a66597_root_hub_control(struct r8a66597 *r8a66597, int port)
 
 static void r8a66597_interval_timer(struct timer_list *t)
 {
-       struct r8a66597_timers *timers = from_timer(timers, t, interval);
+       struct r8a66597_timers *timers = timer_container_of(timers, t,
+                                                           interval);
        struct r8a66597 *r8a66597 = timers->r8a66597;
        unsigned long flags;
        u16 pipenum;
@@ -1744,7 +1745,7 @@ static void r8a66597_interval_timer(struct timer_list *t)
 
 static void r8a66597_td_timer(struct timer_list *t)
 {
-       struct r8a66597_timers *timers = from_timer(timers, t, td);
+       struct r8a66597_timers *timers = timer_container_of(timers, t, td);
        struct r8a66597 *r8a66597 = timers->r8a66597;
        unsigned long flags;
        u16 pipenum;
@@ -1798,7 +1799,7 @@ static void r8a66597_td_timer(struct timer_list *t)
 
 static void r8a66597_timer(struct timer_list *t)
 {
-       struct r8a66597 *r8a66597 = from_timer(r8a66597, t, rh_timer);
+       struct r8a66597 *r8a66597 = timer_container_of(r8a66597, t, rh_timer);
        unsigned long flags;
        int port;
 
index 718b1b7fe3663828a64f27da2dbadf8b8def9c5f..ea3cab99c5d409c5abb4bff09505b9d90022d051 100644 (file)
@@ -1124,7 +1124,7 @@ sl811h_hub_descriptor (
 static void
 sl811h_timer(struct timer_list *t)
 {
-       struct sl811    *sl811 = from_timer(sl811, t, timer);
+       struct sl811    *sl811 = timer_container_of(sl811, t, timer);
        unsigned long   flags;
        u8              irqstat;
        u8              signaling = sl811->ctrl1 & SL11H_CTL1MASK_FORCE;
index 45a8256a665f0448aeb2b68488e8d632e857c991..9480d4ff011105885a92fce9416fa1dd38611bf1 100644 (file)
@@ -91,7 +91,7 @@ static void uhci_urbp_wants_fsbr(struct uhci_hcd *uhci, struct urb_priv *urbp)
 
 static void uhci_fsbr_timeout(struct timer_list *t)
 {
-       struct uhci_hcd *uhci = from_timer(uhci, t, fsbr_timer);
+       struct uhci_hcd *uhci = timer_container_of(uhci, t, fsbr_timer);
        unsigned long flags;
 
        spin_lock_irqsave(&uhci->lock, flags);
index 05943f2213e437c6d1316fafe4ca26559406f63b..1c2a95fe41e59145e348791b9e39ea829c3502fb 100644 (file)
@@ -1258,7 +1258,7 @@ static void xenhcd_disconnect(struct xenbus_device *dev)
 
 static void xenhcd_watchdog(struct timer_list *timer)
 {
-       struct xenhcd_info *info = from_timer(info, timer, watchdog);
+       struct xenhcd_info *info = timer_container_of(info, timer, watchdog);
        unsigned long flags;
 
        spin_lock_irqsave(&info->lock, flags);
index 803047bec3e74fa9e7a6e8dc926f6b6fc2b06775..4e6dbd2375c3fcc057c47108e56f1779d5ad8afa 100644 (file)
@@ -385,7 +385,7 @@ static void compliance_mode_recovery(struct timer_list *t)
        u32 temp;
        int i;
 
-       xhci = from_timer(xhci, t, comp_mode_recovery_timer);
+       xhci = timer_container_of(xhci, t, comp_mode_recovery_timer);
        rhub = &xhci->usb3_rhub;
        hcd = rhub->hcd;
 
index 2af89ee28baac04b379fce678abf751b7b5225cf..65ac91d0595a35c88d8072b20ef923923b0e935a 100644 (file)
@@ -1423,7 +1423,7 @@ static irqreturn_t isp1760_udc_irq(int irq, void *dev)
 
 static void isp1760_udc_vbus_poll(struct timer_list *t)
 {
-       struct isp1760_udc *udc = from_timer(udc, t, vbus_timer);
+       struct isp1760_udc *udc = timer_container_of(udc, t, vbus_timer);
        unsigned long flags;
 
        spin_lock_irqsave(&udc->lock, flags);
index 7c2041f61cde62f9f80ef4d6ca91f72e8c7126c6..5c92c8d8e28338de37852dbcd918b2bb34c10d6e 100644 (file)
@@ -592,7 +592,7 @@ struct sg_timeout {
 
 static void sg_timeout(struct timer_list *t)
 {
-       struct sg_timeout *timeout = from_timer(timeout, t, timer);
+       struct sg_timeout *timeout = timer_container_of(timeout, t, timer);
 
        usb_sg_cancel(timeout->req);
 }
index eebb24ab3ec8cec63e3dbffcba0766203efc3986..4209f438ba18401aa27bbf403a583a98618f4398 100644 (file)
@@ -123,7 +123,8 @@ static void da8xx_musb_set_vbus(struct musb *musb, int is_on)
 
 static void otg_timer(struct timer_list *t)
 {
-       struct musb             *musb = from_timer(musb, t, dev_timer);
+       struct musb             *musb = timer_container_of(musb, t,
+                                                             dev_timer);
        void __iomem            *mregs = musb->mregs;
        u8                      devctl;
        unsigned long           flags;
index 020348a9851490ad2ab861cb2c54664c657ed434..587127abd30a8e9835374ca7e88f7e8038575c61 100644 (file)
@@ -91,7 +91,8 @@ static void mpfs_musb_set_vbus(struct musb *musb, int is_on)
 
 static void otg_timer(struct timer_list *t)
 {
-       struct musb             *musb = from_timer(musb, t, dev_timer);
+       struct musb             *musb = timer_container_of(musb, t,
+                                                             dev_timer);
        void __iomem            *mregs = musb->mregs;
        u8                      devctl;
        unsigned long           flags;
index cbbb271780246611e5b30c1ac012b8fbd01ed06f..c7234b2369716627cbb656e4b6c1c86b1bfc05f9 100644 (file)
@@ -596,7 +596,7 @@ void musb_load_testpacket(struct musb *musb)
  */
 static void musb_otg_timer_func(struct timer_list *t)
 {
-       struct musb     *musb = from_timer(musb, t, otg_timer);
+       struct musb     *musb = timer_container_of(musb, t, otg_timer);
        unsigned long   flags;
 
        spin_lock_irqsave(&musb->lock, flags);
index e5e813f97fac5b170075428582515c30e50bdd93..12f587ab8511758a86fb5c4fe47479ca2ade3806 100644 (file)
@@ -278,7 +278,7 @@ static int dsps_check_status(struct musb *musb, void *unused)
 
 static void otg_timer(struct timer_list *t)
 {
-       struct musb *musb = from_timer(musb, t, dev_timer);
+       struct musb *musb = timer_container_of(musb, t, dev_timer);
        struct device *dev = musb->controller;
        unsigned long flags;
        int err;
index abd2472da7f7885929fa5111d3aaaa5d3bf4d163..1d9571f24a5667ac9a0da93ffadc462f4304276a 100644 (file)
@@ -457,7 +457,7 @@ static int tusb_musb_vbus_status(struct musb *musb)
 
 static void musb_do_idle(struct timer_list *t)
 {
-       struct musb     *musb = from_timer(musb, t, dev_timer);
+       struct musb     *musb = timer_container_of(musb, t, dev_timer);
        unsigned long   flags;
 
        spin_lock_irqsave(&musb->lock, flags);
index b97ba8ed6801dcd1754039788452c7932e327124..614de0c2f5f2e36d5c038863512de5884d2f109b 100644 (file)
@@ -1357,7 +1357,8 @@ static void garmin_unthrottle(struct tty_struct *tty)
  */
 static void timeout_handler(struct timer_list *t)
 {
-       struct garmin_data *garmin_data_p = from_timer(garmin_data_p, t, timer);
+       struct garmin_data *garmin_data_p = timer_container_of(garmin_data_p,
+                                                              t, timer);
 
        /* send the next queued packet to the tty port */
        if (garmin_data_p->mode == MODE_NATIVE)
index 93710b76289374a8d3ec4ae2ccf305c3236e8569..9e9aca271c0a83717d34e1f830266ca27ee8cd3e 100644 (file)
@@ -383,7 +383,7 @@ static void mos7840_set_led_sync(struct usb_serial_port *port, __u16 reg,
 
 static void mos7840_led_off(struct timer_list *t)
 {
-       struct moschip_port *mcs = from_timer(mcs, t, led_timer1);
+       struct moschip_port *mcs = timer_container_of(mcs, t, led_timer1);
 
        /* Turn off LED */
        mos7840_set_led_async(mcs, 0x0300, MODEM_CONTROL_REGISTER);
@@ -393,7 +393,7 @@ static void mos7840_led_off(struct timer_list *t)
 
 static void mos7840_led_flag_off(struct timer_list *t)
 {
-       struct moschip_port *mcs = from_timer(mcs, t, led_timer2);
+       struct moschip_port *mcs = timer_container_of(mcs, t, led_timer2);
 
        clear_bit_unlock(MOS7840_FLAG_LED_BUSY, &mcs->flags);
 }
index b387863c245f3e7046e5b568de848946608dad90..c18dfa2ca034e746c328e12df4d6aa147f71b8cb 100644 (file)
@@ -754,7 +754,8 @@ static void rts51x_modi_suspend_timer(struct rts51x_chip *chip)
 
 static void rts51x_suspend_timer_fn(struct timer_list *t)
 {
-       struct rts51x_chip *chip = from_timer(chip, t, rts51x_suspend_timer);
+       struct rts51x_chip *chip = timer_container_of(chip, t,
+                                                     rts51x_suspend_timer);
        struct us_data *us = chip->us;
 
        switch (rts51x_get_stat(chip)) {
index 7e801fee33bfcf3703c6aacbd50f3c26fe4fef97..a4f02ea3e3ef06ec98fa277e596bef78480680c5 100644 (file)
@@ -301,7 +301,7 @@ top:
 
 static void v_timer(struct timer_list *t)
 {
-       struct vudc *udc = from_timer(udc, t, tr_timer.timer);
+       struct vudc *udc = timer_container_of(udc, t, tr_timer.timer);
        struct transfer_timer *timer = &udc->tr_timer;
        struct urbp *urb_p, *tmp;
        unsigned long flags;
index c6c4753f64153e39d7e6aa717831867c26bce87b..0eef8c6b98c8cbac798e68b5e3395d9e789600be 100644 (file)
@@ -1443,7 +1443,7 @@ static void radeon_write_pll_regs(struct radeonfb_info *rinfo, struct radeon_reg
  */
 static void radeon_lvds_timer_func(struct timer_list *t)
 {
-       struct radeonfb_info *rinfo = from_timer(rinfo, t, lvds_timer);
+       struct radeonfb_info *rinfo = timer_container_of(rinfo, t, lvds_timer);
 
        radeon_engine_idle();
 
index f1674f3ed923f0ab905e1092fb4243b82a59986b..b177a534b6a4247b0df0a8baf758204924681d0f 100644 (file)
@@ -419,7 +419,7 @@ static void vbg_balloon_work(struct work_struct *work)
  */
 static void vbg_heartbeat_timer(struct timer_list *t)
 {
-       struct vbg_dev *gdev = from_timer(gdev, t, heartbeat_timer);
+       struct vbg_dev *gdev = timer_container_of(gdev, t, heartbeat_timer);
 
        vbg_req_perform(gdev, gdev->guest_heartbeat_req);
        mod_timer(&gdev->heartbeat_timer,
index 1b47a2fc7d179cdcc1c032a2ac1deb9ccb81f62a..aba66b8e9d0339b7f9dbb6f5b3124c31f8df078a 100644 (file)
@@ -119,7 +119,7 @@ static inline void at91_wdt_reset(struct at91wdt *wdt)
  */
 static void at91_ping(struct timer_list *t)
 {
-       struct at91wdt *wdt = from_timer(wdt, t, timer);
+       struct at91wdt *wdt = timer_container_of(wdt, t, timer);
        if (time_before(jiffies, wdt->next_heartbeat) ||
            !watchdog_active(&wdt->wdd)) {
                at91_wdt_reset(wdt);
index 4c0951307421c87af99f2d77ceba08f3ff039426..e13ec0975bef352a5fbdd751f1ae99b4781626ed 100644 (file)
@@ -105,7 +105,7 @@ static const struct watchdog_ops bcm47xx_wdt_hard_ops = {
 
 static void bcm47xx_wdt_soft_timer_tick(struct timer_list *t)
 {
-       struct bcm47xx_wdt *wdt = from_timer(wdt, t, soft_timer);
+       struct bcm47xx_wdt *wdt = timer_container_of(wdt, t, soft_timer);
        u32 next_tick = min(wdt->wdd.timeout * 1000, wdt->max_timer_ms);
 
        if (!atomic_dec_and_test(&wdt->soft_ticks)) {
index 28e3fc0df4c6546f92cd96100c00fc678b9aec4e..3e8e80bbcb93b9363356bbe8a7a0bd6efd5e3e02 100644 (file)
@@ -77,7 +77,8 @@ static int lpc18xx_wdt_feed(struct watchdog_device *wdt_dev)
 
 static void lpc18xx_wdt_timer_feed(struct timer_list *t)
 {
-       struct lpc18xx_wdt_dev *lpc18xx_wdt = from_timer(lpc18xx_wdt, t, timer);
+       struct lpc18xx_wdt_dev *lpc18xx_wdt = timer_container_of(lpc18xx_wdt,
+                                                                t, timer);
        struct watchdog_device *wdt_dev = &lpc18xx_wdt->wdt_dev;
 
        lpc18xx_wdt_feed(wdt_dev);
index 95af9ad94d16afb8406a5ef4b453db9c52a03faa..719f100aae60ddff099de99407ba7fb4b3591cfc 100644 (file)
@@ -173,7 +173,7 @@ static int sh_wdt_set_heartbeat(struct watchdog_device *wdt_dev, unsigned t)
 
 static void sh_wdt_ping(struct timer_list *t)
 {
-       struct sh_wdt *wdt = from_timer(wdt, t, timer);
+       struct sh_wdt *wdt = timer_container_of(wdt, t, timer);
        unsigned long flags;
 
        spin_lock_irqsave(&wdt->lock, flags);
index e01d5f29f4d2521bfa39bb613bdcb8d74b76dd29..6dd3a524cd3529480b785dcc1e321b64aba4f607 100644 (file)
@@ -509,7 +509,7 @@ static void add_scan(struct dlm_ls *ls, struct dlm_rsb *r)
 
 void dlm_rsb_scan(struct timer_list *timer)
 {
-       struct dlm_ls *ls = from_timer(ls, timer, ls_scan_timer);
+       struct dlm_ls *ls = timer_container_of(ls, timer, ls_scan_timer);
        int our_nodeid = dlm_our_nodeid();
        struct dlm_rsb *r;
        int rv;
index a7f80ca0117472434cd1bd0e7acf22a4035d655e..c7d39da7e733b13b2760da3341c8991401043a0b 100644 (file)
@@ -3627,7 +3627,7 @@ int ext4_feature_set_ok(struct super_block *sb, int readonly)
  */
 static void print_daily_error_info(struct timer_list *t)
 {
-       struct ext4_sb_info *sbi = from_timer(sbi, t, s_err_report);
+       struct ext4_sb_info *sbi = timer_container_of(sbi, t, s_err_report);
        struct super_block *sb = sbi->s_sb;
        struct ext4_super_block *es = sbi->s_es;
 
index 6d5e768487338b685ee4cbe97e9ebf3ff4ff2ceb..d480b94117cd778595d5b1a5a44c9063c0169d20 100644 (file)
@@ -134,7 +134,7 @@ static __be32 jbd2_superblock_csum(journal_superblock_t *sb)
 
 static void commit_timeout(struct timer_list *t)
 {
-       journal_t *journal = from_timer(journal, t, j_commit_timer);
+       journal_t *journal = timer_container_of(journal, t, j_commit_timer);
 
        wake_up_process(journal->j_task);
 }
index 61a4141f8d6b2dc7319d90759abbc43132eeab1b..f15ca6fc400d19ab39699cb948b7a7e52285c24c 100644 (file)
@@ -2485,7 +2485,7 @@ static int nilfs_segctor_construct(struct nilfs_sc_info *sci, int mode)
 
 static void nilfs_construction_timeout(struct timer_list *t)
 {
-       struct nilfs_sc_info *sci = from_timer(sci, t, sc_timer);
+       struct nilfs_sc_info *sci = timer_container_of(sci, t, sc_timer);
 
        wake_up_process(sci->sc_task);
 }
index 43e652a2adafbb04c35d345ca004690b8e7ccac4..b05d4e9d13b284a928056535707afe64e82f5c7b 100644 (file)
@@ -1488,7 +1488,8 @@ static void o2net_sc_send_keep_req(struct work_struct *work)
  * where shutdown is going to be involved */
 static void o2net_idle_timer(struct timer_list *t)
 {
-       struct o2net_sock_container *sc = from_timer(sc, t, sc_idle_timeout);
+       struct o2net_sock_container *sc = timer_container_of(sc, t,
+                                                            sc_idle_timeout);
        struct o2net_node *nn = o2net_nn_from_num(sc->sc_node->nd_num);
 #ifdef CONFIG_DEBUG_FS
        unsigned long msecs = ktime_to_ms(ktime_get()) -
index f636f55c427d148e7ed0e6dd06852a5ebd220e99..0414d9e6b4fcd5cf41d99de50549693810b9b0d9 100644 (file)
@@ -129,7 +129,7 @@ extern void timer_destroy_on_stack(struct timer_list *timer);
 static inline void timer_destroy_on_stack(struct timer_list *timer) { }
 #endif
 
-#define from_timer(var, callback_timer, timer_fieldname) \
+#define timer_container_of(var, callback_timer, timer_fieldname)       \
        container_of(callback_timer, typeof(*var), timer_fieldname)
 
 /**
index 77c44924cf54a34f5a2a238079b4521baf72c8c7..85fc068f0083dd6bb9777eef1fa61c7ea198c38b 100644 (file)
@@ -1207,7 +1207,8 @@ EXPORT_SYMBOL_GPL(kthread_queue_work);
  */
 void kthread_delayed_work_timer_fn(struct timer_list *t)
 {
-       struct kthread_delayed_work *dwork = from_timer(dwork, t, timer);
+       struct kthread_delayed_work *dwork = timer_container_of(dwork, t,
+                                                               timer);
        struct kthread_work *work = &dwork->work;
        struct kthread_worker *worker = work->worker;
        unsigned long flags;
index c0cc7ae41106296610f2d1bb2b8c6c3c13f4247a..f92443561d365a92e083e8890d11e14046765e1e 100644 (file)
@@ -316,7 +316,8 @@ static void call_rcu_tasks_generic_timer(struct timer_list *tlp)
        unsigned long flags;
        bool needwake = false;
        struct rcu_tasks *rtp;
-       struct rcu_tasks_percpu *rtpcp = from_timer(rtpcp, tlp, lazy_timer);
+       struct rcu_tasks_percpu *rtpcp = timer_container_of(rtpcp, tlp,
+                                                           lazy_timer);
 
        rtp = rtpcp->rtpp;
        raw_spin_lock_irqsave_rcu_node(rtpcp, flags);
index 1596812f7f12138dd9b8cad029d763239030af17..b473ff056f493cef9b68b9993c7b0aabd76a40d2 100644 (file)
@@ -985,7 +985,7 @@ static bool do_nocb_deferred_wakeup_common(struct rcu_data *rdp_gp,
 static void do_nocb_deferred_wakeup_timer(struct timer_list *t)
 {
        unsigned long flags;
-       struct rcu_data *rdp = from_timer(rdp, t, nocb_timer);
+       struct rcu_data *rdp = timer_container_of(rdp, t, nocb_timer);
 
        WARN_ON_ONCE(rdp->nocb_gp_rdp != rdp);
        trace_rcu_nocb_wake(rcu_state.name, rdp->cpu, TPS("Timer"));
index 1396674fa7227a54b0704edc46221830527b2f4e..ad04a5c3162a26ad6071775e5433b42b2105fa90 100644 (file)
@@ -733,7 +733,7 @@ static int psi_rtpoll_worker(void *data)
 
 static void poll_timer_fn(struct timer_list *t)
 {
-       struct psi_group *group = from_timer(group, t, rtpoll_timer);
+       struct psi_group *group = timer_container_of(group, t, rtpoll_timer);
 
        atomic_set(&group->rtpoll_wakeup, 1);
        wake_up_interruptible(&group->rtpoll_wait);
index 5aa38b2cf40a7216c1ee6a1cb660111222260b03..3c90574bd904f1c7c8ffc5956d7b7fc8740dd6cf 100644 (file)
@@ -22,7 +22,7 @@ struct process_timer {
 
 static void process_timeout(struct timer_list *t)
 {
-       struct process_timer *timeout = from_timer(timeout, t, timer);
+       struct process_timer *timeout = timer_container_of(timeout, t, timer);
 
        wake_up_process(timeout->task);
 }
index 3bef0754cf73602a11602b463ac9b6da170049d5..97f37b5bae669cfcf80363de052cd3d2265c108f 100644 (file)
@@ -2481,7 +2481,7 @@ EXPORT_SYMBOL_GPL(queue_work_node);
 
 void delayed_work_timer_fn(struct timer_list *t)
 {
-       struct delayed_work *dwork = from_timer(dwork, t, timer);
+       struct delayed_work *dwork = timer_container_of(dwork, t, timer);
 
        /* should have been called from irqsafe timer with irq already off */
        __queue_work(dwork->cpu, dwork->wq, &dwork->work);
@@ -2909,7 +2909,7 @@ static void set_worker_dying(struct worker *worker, struct list_head *list)
  */
 static void idle_worker_timeout(struct timer_list *t)
 {
-       struct worker_pool *pool = from_timer(pool, t, idle_timer);
+       struct worker_pool *pool = timer_container_of(pool, t, idle_timer);
        bool do_cull = false;
 
        if (work_pending(&pool->idle_cull_work))
@@ -3008,7 +3008,7 @@ static void send_mayday(struct work_struct *work)
 
 static void pool_mayday_timeout(struct timer_list *t)
 {
-       struct worker_pool *pool = from_timer(pool, t, mayday_timer);
+       struct worker_pool *pool = timer_container_of(pool, t, mayday_timer);
        struct work_struct *work;
 
        raw_spin_lock_irq(&pool->lock);
index b8eea5b3c06415375039bdb224d63a3eaa92fdcc..72b0ff0d4bae1e7be5c1f5963e2d7a4bbc7a05c0 100644 (file)
@@ -608,7 +608,7 @@ EXPORT_SYMBOL_GPL(wb_writeout_inc);
  */
 static void writeout_period(struct timer_list *t)
 {
-       struct wb_domain *dom = from_timer(dom, t, period_timer);
+       struct wb_domain *dom = timer_container_of(dom, t, period_timer);
        int miss_periods = (jiffies - dom->period_time) /
                                                 VM_COMPLETIONS_PERIOD_LEN;
 
@@ -2203,7 +2203,7 @@ static int dirty_writeback_centisecs_handler(const struct ctl_table *table, int
 void laptop_mode_timer_fn(struct timer_list *t)
 {
        struct backing_dev_info *backing_dev_info =
-               from_timer(backing_dev_info, t, laptop_mode_wb_timer);
+               timer_container_of(backing_dev_info, t, laptop_mode_wb_timer);
 
        wakeup_flusher_threads_bdi(backing_dev_info, WB_REASON_LAPTOP_TIMER);
 }
index 27f0ab146026b475ba71093799fbe96d55bb2b4c..2d1ffc4d9462667ff97c141b3f745c1b6bff0e82 100644 (file)
@@ -414,7 +414,7 @@ static void garp_join_timer_arm(struct garp_applicant *app)
 
 static void garp_join_timer(struct timer_list *t)
 {
-       struct garp_applicant *app = from_timer(app, t, join_timer);
+       struct garp_applicant *app = timer_container_of(app, t, join_timer);
 
        spin_lock(&app->lock);
        garp_gid_event(app, GARP_EVENT_TRANSMIT_PDU);
index e0c96d0da8d599c60582c9fa020e1e3934fe2b47..23a88305f900cf405efd0808eb2a4e098a653617 100644 (file)
@@ -599,7 +599,7 @@ static void mrp_join_timer_arm(struct mrp_applicant *app)
 
 static void mrp_join_timer(struct timer_list *t)
 {
-       struct mrp_applicant *app = from_timer(app, t, join_timer);
+       struct mrp_applicant *app = timer_container_of(app, t, join_timer);
 
        spin_lock(&app->lock);
        mrp_mad_event(app, MRP_EVENT_TX);
@@ -621,7 +621,7 @@ static void mrp_periodic_timer_arm(struct mrp_applicant *app)
 
 static void mrp_periodic_timer(struct timer_list *t)
 {
-       struct mrp_applicant *app = from_timer(app, t, periodic_timer);
+       struct mrp_applicant *app = timer_container_of(app, t, periodic_timer);
 
        spin_lock(&app->lock);
        if (likely(app->active)) {
index b068651984fe3dec6c23337ae095a6f13a14ffa3..73ea7e67f05a7d67e283a70c6b6c50487d9e73fc 100644 (file)
@@ -169,7 +169,7 @@ found:
 
 static void atalk_destroy_timer(struct timer_list *t)
 {
-       struct sock *sk = from_timer(sk, t, sk_timer);
+       struct sock *sk = timer_container_of(sk, t, sk_timer);
 
        if (sk_has_allocations(sk)) {
                sk->sk_timer.expires = jiffies + SOCK_DESTROY_TIME;
index ded2f0df2ee66419a1e956e60ada45017193ae27..acef984f3367094ec6d30419166b8462c88181b3 100644 (file)
@@ -1551,7 +1551,7 @@ static void lec_arp_expire_arp(struct timer_list *t)
 {
        struct lec_arp_table *entry;
 
-       entry = from_timer(entry, t, timer);
+       entry = timer_container_of(entry, t, timer);
 
        pr_debug("\n");
        if (entry->status == ESI_ARP_PENDING) {
@@ -1572,7 +1572,8 @@ static void lec_arp_expire_arp(struct timer_list *t)
 static void lec_arp_expire_vcc(struct timer_list *t)
 {
        unsigned long flags;
-       struct lec_arp_table *to_remove = from_timer(to_remove, t, timer);
+       struct lec_arp_table *to_remove = timer_container_of(to_remove, t,
+                                                            timer);
        struct lec_priv *priv = to_remove->priv;
 
        timer_delete(&to_remove->timer);
index b790bb92ed1c91050e7bd277979c8a69aab61a67..6ef8b2a57a9bf1a54ec3a767c92d41557beb00f1 100644 (file)
@@ -287,7 +287,7 @@ void ax25_destroy_socket(ax25_cb *);
  */
 static void ax25_destroy_timer(struct timer_list *t)
 {
-       ax25_cb *ax25 = from_timer(ax25, t, dtimer);
+       ax25_cb *ax25 = timer_container_of(ax25, t, dtimer);
        struct sock *sk;
 
        sk=ax25->sk;
index 8d9fba0690011d6225982462b419e28cd4cf813a..0c9e7775aa54e2848e0c14f1359c1614a4409874 100644 (file)
@@ -64,7 +64,7 @@ void ax25_ds_set_timer(ax25_dev *ax25_dev)
 
 static void ax25_ds_timeout(struct timer_list *t)
 {
-       ax25_dev *ax25_dev = from_timer(ax25_dev, t, dama.slave_timer);
+       ax25_dev *ax25_dev = timer_container_of(ax25_dev, t, dama.slave_timer);
        ax25_cb *ax25;
 
        if (ax25_dev == NULL || !ax25_dev->dama.slave)
index 3891a3923d6cb30a8157c1883b102d526f9ebf78..a69bfbc8b6790db057f3e947c71e86750aef66f5 100644 (file)
@@ -121,7 +121,7 @@ EXPORT_SYMBOL(ax25_display_timer);
 static void ax25_heartbeat_expiry(struct timer_list *t)
 {
        int proto = AX25_PROTO_STD_SIMPLEX;
-       ax25_cb *ax25 = from_timer(ax25, t, timer);
+       ax25_cb *ax25 = timer_container_of(ax25, t, timer);
 
        if (ax25->ax25_dev)
                proto = ax25->ax25_dev->values[AX25_VALUES_PROTOCOL];
@@ -145,7 +145,7 @@ static void ax25_heartbeat_expiry(struct timer_list *t)
 
 static void ax25_t1timer_expiry(struct timer_list *t)
 {
-       ax25_cb *ax25 = from_timer(ax25, t, t1timer);
+       ax25_cb *ax25 = timer_container_of(ax25, t, t1timer);
 
        switch (ax25->ax25_dev->values[AX25_VALUES_PROTOCOL]) {
        case AX25_PROTO_STD_SIMPLEX:
@@ -164,7 +164,7 @@ static void ax25_t1timer_expiry(struct timer_list *t)
 
 static void ax25_t2timer_expiry(struct timer_list *t)
 {
-       ax25_cb *ax25 = from_timer(ax25, t, t2timer);
+       ax25_cb *ax25 = timer_container_of(ax25, t, t2timer);
 
        switch (ax25->ax25_dev->values[AX25_VALUES_PROTOCOL]) {
        case AX25_PROTO_STD_SIMPLEX:
@@ -183,7 +183,7 @@ static void ax25_t2timer_expiry(struct timer_list *t)
 
 static void ax25_t3timer_expiry(struct timer_list *t)
 {
-       ax25_cb *ax25 = from_timer(ax25, t, t3timer);
+       ax25_cb *ax25 = timer_container_of(ax25, t, t3timer);
 
        switch (ax25->ax25_dev->values[AX25_VALUES_PROTOCOL]) {
        case AX25_PROTO_STD_SIMPLEX:
@@ -204,7 +204,7 @@ static void ax25_t3timer_expiry(struct timer_list *t)
 
 static void ax25_idletimer_expiry(struct timer_list *t)
 {
-       ax25_cb *ax25 = from_timer(ax25, t, idletimer);
+       ax25_cb *ax25 = timer_container_of(ax25, t, idletimer);
 
        switch (ax25->ax25_dev->values[AX25_VALUES_PROTOCOL]) {
        case AX25_PROTO_STD_SIMPLEX:
index adbadb436033c11e9e63f9abca90773fd3324eb5..350b149e48bebfb403572c10065d1a43b1b28851 100644 (file)
@@ -485,7 +485,7 @@ static void batadv_tp_reset_sender_timer(struct batadv_tp_vars *tp_vars)
  */
 static void batadv_tp_sender_timeout(struct timer_list *t)
 {
-       struct batadv_tp_vars *tp_vars = from_timer(tp_vars, t, timer);
+       struct batadv_tp_vars *tp_vars = timer_container_of(tp_vars, t, timer);
        struct batadv_priv *bat_priv = tp_vars->bat_priv;
 
        if (atomic_read(&tp_vars->sending) == 0)
@@ -1101,7 +1101,7 @@ static void batadv_tp_reset_receiver_timer(struct batadv_tp_vars *tp_vars)
  */
 static void batadv_tp_receiver_shutdown(struct timer_list *t)
 {
-       struct batadv_tp_vars *tp_vars = from_timer(tp_vars, t, timer);
+       struct batadv_tp_vars *tp_vars = timer_container_of(tp_vars, t, timer);
        struct batadv_tp_unacked *un, *safe;
        struct batadv_priv *bat_priv;
 
index fc5af8639b1eff7d9efa8d88e52ec1d8b1f0a3ca..6724adce615b62f901b9da525bf3df94adbd5610 100644 (file)
@@ -405,7 +405,7 @@ static int hidp_raw_request(struct hid_device *hid, unsigned char reportnum,
 
 static void hidp_idle_timeout(struct timer_list *t)
 {
-       struct hidp_session *session = from_timer(session, t, timer);
+       struct hidp_session *session = timer_container_of(session, t, timer);
 
        /* The HIDP user-space API only contains calls to add and remove
         * devices. There is no way to forward events of any kind. Therefore,
index 20ea7dba0a9a1398cc3ae4355b98055fa2970793..3b8f39618d651e7aa0500dae726a89593b89b08a 100644 (file)
@@ -235,7 +235,7 @@ static int rfcomm_check_security(struct rfcomm_dlc *d)
 
 static void rfcomm_session_timeout(struct timer_list *t)
 {
-       struct rfcomm_session *s = from_timer(s, t, timer);
+       struct rfcomm_session *s = timer_container_of(s, t, timer);
 
        BT_DBG("session %p state %ld", s, s->state);
 
@@ -260,7 +260,7 @@ static void rfcomm_session_clear_timer(struct rfcomm_session *s)
 /* ---- RFCOMM DLCs ---- */
 static void rfcomm_dlc_timeout(struct timer_list *t)
 {
-       struct rfcomm_dlc *d = from_timer(d, t, timer);
+       struct rfcomm_dlc *d = timer_container_of(d, t, timer);
 
        BT_DBG("dlc %p state %ld", d, d->state);
 
index fb6f7f2001c9b8cd34bbd2ba18b6bc732e9c8af5..0224ef3dfec0592f9306ea4deee7ffba07fa960a 100644 (file)
@@ -648,7 +648,7 @@ static void br_multicast_del_mdb_entry(struct net_bridge_mdb_entry *mp)
 
 static void br_multicast_group_expired(struct timer_list *t)
 {
-       struct net_bridge_mdb_entry *mp = from_timer(mp, t, timer);
+       struct net_bridge_mdb_entry *mp = timer_container_of(mp, t, timer);
        struct net_bridge *br = mp->br;
 
        spin_lock(&br->multicast_lock);
@@ -856,7 +856,7 @@ static void br_multicast_find_del_pg(struct net_bridge *br,
 
 static void br_multicast_port_group_expired(struct timer_list *t)
 {
-       struct net_bridge_port_group *pg = from_timer(pg, t, timer);
+       struct net_bridge_port_group *pg = timer_container_of(pg, t, timer);
        struct net_bridge_group_src *src_ent;
        struct net_bridge *br = pg->key.port->br;
        struct hlist_node *tmp;
@@ -1314,7 +1314,7 @@ struct net_bridge_mdb_entry *br_multicast_new_group(struct net_bridge *br,
 
 static void br_multicast_group_src_expired(struct timer_list *t)
 {
-       struct net_bridge_group_src *src = from_timer(src, t, timer);
+       struct net_bridge_group_src *src = timer_container_of(src, t, timer);
        struct net_bridge_port_group *pg;
        struct net_bridge *br = src->br;
 
@@ -1667,8 +1667,8 @@ out:
 
 static void br_ip4_multicast_router_expired(struct timer_list *t)
 {
-       struct net_bridge_mcast_port *pmctx = from_timer(pmctx, t,
-                                                        ip4_mc_router_timer);
+       struct net_bridge_mcast_port *pmctx = timer_container_of(pmctx, t,
+                                                                ip4_mc_router_timer);
 
        br_multicast_router_expired(pmctx, t, &pmctx->ip4_rlist);
 }
@@ -1676,8 +1676,8 @@ static void br_ip4_multicast_router_expired(struct timer_list *t)
 #if IS_ENABLED(CONFIG_IPV6)
 static void br_ip6_multicast_router_expired(struct timer_list *t)
 {
-       struct net_bridge_mcast_port *pmctx = from_timer(pmctx, t,
-                                                        ip6_mc_router_timer);
+       struct net_bridge_mcast_port *pmctx = timer_container_of(pmctx, t,
+                                                                ip6_mc_router_timer);
 
        br_multicast_router_expired(pmctx, t, &pmctx->ip6_rlist);
 }
@@ -1713,8 +1713,8 @@ out:
 
 static void br_ip4_multicast_local_router_expired(struct timer_list *t)
 {
-       struct net_bridge_mcast *brmctx = from_timer(brmctx, t,
-                                                    ip4_mc_router_timer);
+       struct net_bridge_mcast *brmctx = timer_container_of(brmctx, t,
+                                                            ip4_mc_router_timer);
 
        br_multicast_local_router_expired(brmctx, t);
 }
@@ -1722,8 +1722,8 @@ static void br_ip4_multicast_local_router_expired(struct timer_list *t)
 #if IS_ENABLED(CONFIG_IPV6)
 static void br_ip6_multicast_local_router_expired(struct timer_list *t)
 {
-       struct net_bridge_mcast *brmctx = from_timer(brmctx, t,
-                                                    ip6_mc_router_timer);
+       struct net_bridge_mcast *brmctx = timer_container_of(brmctx, t,
+                                                            ip6_mc_router_timer);
 
        br_multicast_local_router_expired(brmctx, t);
 }
@@ -1746,8 +1746,8 @@ out:
 
 static void br_ip4_multicast_querier_expired(struct timer_list *t)
 {
-       struct net_bridge_mcast *brmctx = from_timer(brmctx, t,
-                                                    ip4_other_query.timer);
+       struct net_bridge_mcast *brmctx = timer_container_of(brmctx, t,
+                                                            ip4_other_query.timer);
 
        br_multicast_querier_expired(brmctx, &brmctx->ip4_own_query);
 }
@@ -1755,8 +1755,8 @@ static void br_ip4_multicast_querier_expired(struct timer_list *t)
 #if IS_ENABLED(CONFIG_IPV6)
 static void br_ip6_multicast_querier_expired(struct timer_list *t)
 {
-       struct net_bridge_mcast *brmctx = from_timer(brmctx, t,
-                                                    ip6_other_query.timer);
+       struct net_bridge_mcast *brmctx = timer_container_of(brmctx, t,
+                                                            ip6_other_query.timer);
 
        br_multicast_querier_expired(brmctx, &brmctx->ip6_own_query);
 }
@@ -1918,8 +1918,8 @@ out:
 
 static void br_ip4_multicast_port_query_expired(struct timer_list *t)
 {
-       struct net_bridge_mcast_port *pmctx = from_timer(pmctx, t,
-                                                        ip4_own_query.timer);
+       struct net_bridge_mcast_port *pmctx = timer_container_of(pmctx, t,
+                                                                ip4_own_query.timer);
 
        br_multicast_port_query_expired(pmctx, &pmctx->ip4_own_query);
 }
@@ -1927,8 +1927,8 @@ static void br_ip4_multicast_port_query_expired(struct timer_list *t)
 #if IS_ENABLED(CONFIG_IPV6)
 static void br_ip6_multicast_port_query_expired(struct timer_list *t)
 {
-       struct net_bridge_mcast_port *pmctx = from_timer(pmctx, t,
-                                                        ip6_own_query.timer);
+       struct net_bridge_mcast_port *pmctx = timer_container_of(pmctx, t,
+                                                                ip6_own_query.timer);
 
        br_multicast_port_query_expired(pmctx, &pmctx->ip6_own_query);
 }
@@ -1936,7 +1936,8 @@ static void br_ip6_multicast_port_query_expired(struct timer_list *t)
 
 static void br_multicast_port_group_rexmit(struct timer_list *t)
 {
-       struct net_bridge_port_group *pg = from_timer(pg, t, rexmit_timer);
+       struct net_bridge_port_group *pg = timer_container_of(pg, t,
+                                                             rexmit_timer);
        struct bridge_mcast_other_query *other_query = NULL;
        struct net_bridge *br = pg->key.port->br;
        struct net_bridge_mcast_port *pmctx;
@@ -4056,8 +4057,8 @@ out:
 
 static void br_ip4_multicast_query_expired(struct timer_list *t)
 {
-       struct net_bridge_mcast *brmctx = from_timer(brmctx, t,
-                                                    ip4_own_query.timer);
+       struct net_bridge_mcast *brmctx = timer_container_of(brmctx, t,
+                                                            ip4_own_query.timer);
 
        br_multicast_query_expired(brmctx, &brmctx->ip4_own_query,
                                   &brmctx->ip4_querier);
@@ -4066,8 +4067,8 @@ static void br_ip4_multicast_query_expired(struct timer_list *t)
 #if IS_ENABLED(CONFIG_IPV6)
 static void br_ip6_multicast_query_expired(struct timer_list *t)
 {
-       struct net_bridge_mcast *brmctx = from_timer(brmctx, t,
-                                                    ip6_own_query.timer);
+       struct net_bridge_mcast *brmctx = timer_container_of(brmctx, t,
+                                                            ip6_own_query.timer);
 
        br_multicast_query_expired(brmctx, &brmctx->ip6_own_query,
                                   &brmctx->ip6_querier);
index c126aa4e75512f4d7f2883e64a25bc57019fb837..adfd74102019ed8ef62c1316b4c437c5f8c8bf53 100644 (file)
@@ -207,7 +207,9 @@ void br_multicast_eht_clean_sets(struct net_bridge_port_group *pg)
 
 static void br_multicast_eht_set_entry_expired(struct timer_list *t)
 {
-       struct net_bridge_group_eht_set_entry *set_h = from_timer(set_h, t, timer);
+       struct net_bridge_group_eht_set_entry *set_h = timer_container_of(set_h,
+                                                                         t,
+                                                                         timer);
        struct net_bridge *br = set_h->br;
 
        spin_lock(&br->multicast_lock);
@@ -223,8 +225,9 @@ out:
 
 static void br_multicast_eht_set_expired(struct timer_list *t)
 {
-       struct net_bridge_group_eht_set *eht_set = from_timer(eht_set, t,
-                                                             timer);
+       struct net_bridge_group_eht_set *eht_set = timer_container_of(eht_set,
+                                                                     t,
+                                                                     timer);
        struct net_bridge *br = eht_set->br;
 
        spin_lock(&br->multicast_lock);
index 27bf1979b9099b77d6038e96f613b9126a861c14..e5d453305381baa34225a144ac99e98f2a62d810 100644 (file)
@@ -29,7 +29,7 @@ static int br_is_designated_for_some_port(const struct net_bridge *br)
 
 static void br_hello_timer_expired(struct timer_list *t)
 {
-       struct net_bridge *br = from_timer(br, t, hello_timer);
+       struct net_bridge *br = timer_container_of(br, t, hello_timer);
 
        br_debug(br, "hello timer expired\n");
        spin_lock(&br->lock);
@@ -45,7 +45,8 @@ static void br_hello_timer_expired(struct timer_list *t)
 
 static void br_message_age_timer_expired(struct timer_list *t)
 {
-       struct net_bridge_port *p = from_timer(p, t, message_age_timer);
+       struct net_bridge_port *p = timer_container_of(p, t,
+                                                      message_age_timer);
        struct net_bridge *br = p->br;
        const bridge_id *id = &p->designated_bridge;
        int was_root;
@@ -78,7 +79,8 @@ static void br_message_age_timer_expired(struct timer_list *t)
 
 static void br_forward_delay_timer_expired(struct timer_list *t)
 {
-       struct net_bridge_port *p = from_timer(p, t, forward_delay_timer);
+       struct net_bridge_port *p = timer_container_of(p, t,
+                                                      forward_delay_timer);
        struct net_bridge *br = p->br;
 
        br_debug(br, "port %u(%s) forward delay timer\n",
@@ -102,7 +104,7 @@ static void br_forward_delay_timer_expired(struct timer_list *t)
 
 static void br_tcn_timer_expired(struct timer_list *t)
 {
-       struct net_bridge *br = from_timer(br, t, tcn_timer);
+       struct net_bridge *br = timer_container_of(br, t, tcn_timer);
 
        br_debug(br, "tcn timer expired\n");
        spin_lock(&br->lock);
@@ -116,7 +118,8 @@ static void br_tcn_timer_expired(struct timer_list *t)
 
 static void br_topology_change_timer_expired(struct timer_list *t)
 {
-       struct net_bridge *br = from_timer(br, t, topology_change_timer);
+       struct net_bridge *br = timer_container_of(br, t,
+                                                  topology_change_timer);
 
        br_debug(br, "topo change timer expired\n");
        spin_lock(&br->lock);
@@ -127,7 +130,7 @@ static void br_topology_change_timer_expired(struct timer_list *t)
 
 static void br_hold_timer_expired(struct timer_list *t)
 {
-       struct net_bridge_port *p = from_timer(p, t, hold_timer);
+       struct net_bridge_port *p = timer_container_of(p, t, hold_timer);
 
        br_debug(p->br, "port %u(%s) hold timer expired\n",
                 (unsigned int) p->port_no, p->dev->name);
index 25fdf060e30d0d5133fc1d5e0c5cfd5c46233bb0..0938bf7dd646ac44220873358c242d489b394918 100644 (file)
@@ -114,7 +114,7 @@ static unsigned long calc_rate(unsigned long oldjif, unsigned long newjif,
 
 void can_stat_update(struct timer_list *t)
 {
-       struct net *net = from_timer(net, t, can.stattimer);
+       struct net *net = timer_container_of(net, t, can.stattimer);
        struct can_pkg_stats *pkg_stats = net->can.pkg_stats;
        unsigned long j = jiffies; /* snapshot */
 
index 8a7ce640f74d8122667184980c7704ee6f51df53..60d31c2feed3e9ffabcdbde445512f9b02f1be76 100644 (file)
@@ -208,7 +208,7 @@ static void send_dm_alert(struct work_struct *work)
  */
 static void sched_send_work(struct timer_list *t)
 {
-       struct per_cpu_dm_data *data = from_timer(data, t, send_timer);
+       struct per_cpu_dm_data *data = timer_container_of(data, t, send_timer);
 
        schedule_work(&data->dm_alert_work);
 }
index 2b821b9a869977243a33dcb90fe262f068488f6a..7d426a8e29f30b67655cf706060bfc6c478f3123 100644 (file)
@@ -75,7 +75,7 @@ static void est_fetch_counters(struct net_rate_estimator *e,
 
 static void est_timer(struct timer_list *t)
 {
-       struct net_rate_estimator *est = from_timer(est, t, timer);
+       struct net_rate_estimator *est = timer_container_of(est, t, timer);
        struct gnet_stats_basic_sync b;
        u64 b_bytes, b_packets;
        u64 rate, brate;
index a6e2c91ec3e75df1c819bf1efc643700dff73224..49dce9a82295b197b76b903a5a655c0c216260f9 100644 (file)
@@ -1031,7 +1031,7 @@ static void neigh_probe(struct neighbour *neigh)
 static void neigh_timer_handler(struct timer_list *t)
 {
        unsigned long now, next;
-       struct neighbour *neigh = from_timer(neigh, t, timer);
+       struct neighbour *neigh = timer_container_of(neigh, t, timer);
        unsigned int state;
        int notify = 0;
 
@@ -1569,7 +1569,7 @@ static void neigh_managed_work(struct work_struct *work)
 
 static void neigh_proxy_process(struct timer_list *t)
 {
-       struct neigh_table *tbl = from_timer(tbl, t, proxy_timer);
+       struct neigh_table *tbl = timer_container_of(tbl, t, proxy_timer);
        long sched_next = 0;
        unsigned long now = jiffies;
        struct sk_buff *skb, *n;
index ad9b4003400334ec2d3a6b2bf6390928c39f4b7f..29bbbc149375d467a6a40c3f26dd93892b3809e8 100644 (file)
@@ -315,7 +315,7 @@ static void ethtool_mmsv_send_mpacket(struct ethtool_mmsv *mmsv,
  */
 static void ethtool_mmsv_verify_timer(struct timer_list *t)
 {
-       struct ethtool_mmsv *mmsv = from_timer(mmsv, t, verify_timer);
+       struct ethtool_mmsv *mmsv = timer_container_of(mmsv, t, verify_timer);
        unsigned long flags;
        bool rearm = false;
 
index 0d1e56965af0aca9a359cc38115c23a555ee26cc..88657255fec12b8cbf9edf4634899046381afc1d 100644 (file)
@@ -408,7 +408,7 @@ static void hsr_announce(struct timer_list *t)
        struct hsr_port *master;
        unsigned long interval;
 
-       hsr = from_timer(hsr, t, announce_timer);
+       hsr = timer_container_of(hsr, t, announce_timer);
 
        rcu_read_lock();
        master = hsr_port_get_hsr(hsr, HSR_PT_MASTER);
@@ -424,7 +424,8 @@ static void hsr_announce(struct timer_list *t)
  */
 static void hsr_proxy_announce(struct timer_list *t)
 {
-       struct hsr_priv *hsr = from_timer(hsr, t, announce_proxy_timer);
+       struct hsr_priv *hsr = timer_container_of(hsr, t,
+                                                 announce_proxy_timer);
        struct hsr_port *interlink;
        unsigned long interval = 0;
        struct hsr_node *node;
index 4ce471a2f3870dc45f38c31ee427822ac6da5368..3a2a2fa7a0a3965ed66e97fce0ee9267c7a162c2 100644 (file)
@@ -617,7 +617,7 @@ static struct hsr_port *get_late_port(struct hsr_priv *hsr,
  */
 void hsr_prune_nodes(struct timer_list *t)
 {
-       struct hsr_priv *hsr = from_timer(hsr, t, prune_timer);
+       struct hsr_priv *hsr = timer_container_of(hsr, t, prune_timer);
        struct hsr_node *node;
        struct hsr_node *tmp;
        struct hsr_port *port;
@@ -685,7 +685,7 @@ void hsr_prune_nodes(struct timer_list *t)
 
 void hsr_prune_proxy_nodes(struct timer_list *t)
 {
-       struct hsr_priv *hsr = from_timer(hsr, t, prune_proxy_timer);
+       struct hsr_priv *hsr = timer_container_of(hsr, t, prune_proxy_timer);
        unsigned long timestamp;
        struct hsr_node *node;
        struct hsr_node *tmp;
index d4b983d170382e616ea58821b197da89885a6bb2..ddb6a5817d098eda6b22d802b5f59604b2145ff2 100644 (file)
@@ -44,7 +44,7 @@ static void lowpan_frag_init(struct inet_frag_queue *q, const void *a)
 
 static void lowpan_frag_expire(struct timer_list *t)
 {
-       struct inet_frag_queue *frag = from_timer(frag, t, timer);
+       struct inet_frag_queue *frag = timer_container_of(frag, t, timer);
        struct frag_queue *fq;
        int refs = 1;
 
index ca7d539b3846318ad421b586543ec146de57a69f..d1769034b6438bb5c994e1660b181e05109ab365 100644 (file)
@@ -801,7 +801,7 @@ static int igmp_send_report(struct in_device *in_dev, struct ip_mc_list *pmc,
 
 static void igmp_gq_timer_expire(struct timer_list *t)
 {
-       struct in_device *in_dev = from_timer(in_dev, t, mr_gq_timer);
+       struct in_device *in_dev = timer_container_of(in_dev, t, mr_gq_timer);
 
        in_dev->mr_gq_running = 0;
        igmpv3_send_report(in_dev, NULL);
@@ -810,7 +810,7 @@ static void igmp_gq_timer_expire(struct timer_list *t)
 
 static void igmp_ifc_timer_expire(struct timer_list *t)
 {
-       struct in_device *in_dev = from_timer(in_dev, t, mr_ifc_timer);
+       struct in_device *in_dev = timer_container_of(in_dev, t, mr_ifc_timer);
        u32 mr_ifc_count;
 
        igmpv3_send_cr(in_dev);
@@ -840,7 +840,7 @@ static void igmp_ifc_event(struct in_device *in_dev)
 
 static void igmp_timer_expire(struct timer_list *t)
 {
-       struct ip_mc_list *im = from_timer(im, t, timer);
+       struct ip_mc_list *im = timer_container_of(im, t, timer);
        struct in_device *in_dev = im->interface;
 
        spin_lock(&im->lock);
index 20915895bdaafb2a76b0b898b39980b0cb8db86b..6906bedad19a13d3f62100058d6a20debbf6a88e 100644 (file)
@@ -1065,7 +1065,7 @@ EXPORT_IPV6_MOD(inet_csk_reqsk_queue_drop_and_put);
 
 static void reqsk_timer_handler(struct timer_list *t)
 {
-       struct request_sock *req = from_timer(req, t, rsk_timer);
+       struct request_sock *req = timer_container_of(req, t, rsk_timer);
        struct request_sock *nreq = NULL, *oreq = req;
        struct sock *sk_listener = req->rsk_listener;
        struct inet_connection_sock *icsk;
index 67efe95015816bb82de9e3f31422c8d94f147748..875ff923a8ed05411628f55f788f33cbe3dee5b3 100644 (file)
@@ -169,7 +169,7 @@ void inet_twsk_hashdance_schedule(struct inet_timewait_sock *tw,
 
 static void tw_timer_handler(struct timer_list *t)
 {
-       struct inet_timewait_sock *tw = from_timer(tw, t, tw_timer);
+       struct inet_timewait_sock *tw = timer_container_of(tw, t, tw_timer);
 
        inet_twsk_kill(tw);
 }
index 77f395b28ec748bcd85b8dfa0a8c0b8a74684103..64b3fb3208af65b569f37575467060797acf7002 100644 (file)
@@ -123,7 +123,7 @@ static bool frag_expire_skip_icmp(u32 user)
 static void ip_expire(struct timer_list *t)
 {
        enum skb_drop_reason reason = SKB_DROP_REASON_FRAG_REASM_TIMEOUT;
-       struct inet_frag_queue *frag = from_timer(frag, t, timer);
+       struct inet_frag_queue *frag = timer_container_of(frag, t, timer);
        const struct iphdr *iph;
        struct sk_buff *head = NULL;
        struct net *net;
index 2ff2f79c7351a79a2de7a8a554a9e5b4df617296..a7d09ae9d7616bfa07e4687116c16dac2cdce46a 100644 (file)
@@ -765,7 +765,7 @@ static void ipmr_destroy_unres(struct mr_table *mrt, struct mfc_cache *c)
 /* Timer process for the unresolved queue. */
 static void ipmr_expire_process(struct timer_list *t)
 {
-       struct mr_table *mrt = from_timer(mrt, t, ipmr_expire_timer);
+       struct mr_table *mrt = timer_container_of(mrt, t, ipmr_expire_timer);
        struct mr_mfc *c, *next;
        unsigned long expires;
        unsigned long now;
index e4c616bbd72714eee06b8363b504a5e3d14fd7b4..bb37e24b97a78de581e8192b52b78f83ba747446 100644 (file)
@@ -359,7 +359,7 @@ void tcp_delack_timer_handler(struct sock *sk)
 static void tcp_delack_timer(struct timer_list *t)
 {
        struct inet_connection_sock *icsk =
-                       from_timer(icsk, t, icsk_delack_timer);
+                       timer_container_of(icsk, t, icsk_delack_timer);
        struct sock *sk = &icsk->icsk_inet.sk;
 
        /* Avoid taking socket spinlock if there is no ACK to send.
@@ -726,7 +726,7 @@ void tcp_write_timer_handler(struct sock *sk)
 static void tcp_write_timer(struct timer_list *t)
 {
        struct inet_connection_sock *icsk =
-                       from_timer(icsk, t, icsk_retransmit_timer);
+                       timer_container_of(icsk, t, icsk_retransmit_timer);
        struct sock *sk = &icsk->icsk_inet.sk;
 
        /* Avoid locking the socket when there is no pending event. */
@@ -778,7 +778,7 @@ EXPORT_IPV6_MOD_GPL(tcp_set_keepalive);
 
 static void tcp_keepalive_timer(struct timer_list *t)
 {
-       struct sock *sk = from_timer(sk, t, sk_timer);
+       struct sock *sk = timer_container_of(sk, t, sk_timer);
        struct inet_connection_sock *icsk = inet_csk(sk);
        struct tcp_sock *tp = tcp_sk(sk);
        u32 elapsed;
index 43b19adfbf88e2d232599f397baefd9aef4e52e3..ba2ec7c870ccbab3c9a1650c578f23974b8b66b4 100644 (file)
@@ -4017,7 +4017,7 @@ restart:
 
 static void addrconf_rs_timer(struct timer_list *t)
 {
-       struct inet6_dev *idev = from_timer(idev, t, rs_timer);
+       struct inet6_dev *idev = timer_container_of(idev, t, rs_timer);
        struct net_device *dev = idev->dev;
        struct in6_addr lladdr;
        int rtr_solicits;
index 7094d77086868c44312d0d33c0e4f1839779c180..93578b2ec35fb55ca1f56c3e558661989568639e 100644 (file)
@@ -2442,7 +2442,7 @@ void fib6_run_gc(unsigned long expires, struct net *net, bool force)
 
 static void fib6_gc_timer_cb(struct timer_list *t)
 {
-       struct net *arg = from_timer(arg, t, ipv6.ip6_fib_timer);
+       struct net *arg = timer_container_of(arg, t, ipv6.ip6_fib_timer);
 
        fib6_run_gc(0, arg, true);
 }
index 3276cde5ebd70462e05a72f05a40e85f87f6ad42..9db31e5b998c1a9860abf0939f04710aaf5d20aa 100644 (file)
@@ -839,7 +839,7 @@ static void ipmr_do_expire_process(struct mr_table *mrt)
 
 static void ipmr_expire_process(struct timer_list *t)
 {
-       struct mr_table *mrt = from_timer(mrt, t, ipmr_expire_timer);
+       struct mr_table *mrt = timer_container_of(mrt, t, ipmr_expire_timer);
 
        if (!spin_trylock(&mfc_unres_lock)) {
                mod_timer(&mrt->ipmr_expire_timer, jiffies + 1);
index d6bd8f7079bb74ec99030201163332ed5c6d2eec..64ab23ff559bb9e97b989d19802480c703cdbcbe 100644 (file)
@@ -133,7 +133,7 @@ static inline u8 ip6_frag_ecn(const struct ipv6hdr *ipv6h)
 
 static void nf_ct_frag6_expire(struct timer_list *t)
 {
-       struct inet_frag_queue *frag = from_timer(frag, t, timer);
+       struct inet_frag_queue *frag = timer_container_of(frag, t, timer);
        struct frag_queue *fq;
 
        fq = container_of(frag, struct frag_queue, q);
index 49740898bc1370ff0ca89928750c6de85a45303f..7d4bcf3fda5bac556b032e38934c6bc40d4f2ec9 100644 (file)
@@ -73,7 +73,7 @@ static int ip6_frag_reasm(struct frag_queue *fq, struct sk_buff *skb,
 
 static void ip6_frag_expire(struct timer_list *t)
 {
-       struct inet_frag_queue *frag = from_timer(frag, t, timer);
+       struct inet_frag_queue *frag = timer_container_of(frag, t, timer);
        struct frag_queue *fq;
 
        fq = container_of(frag, struct frag_queue, q);
index 5b3f3b444d197b55b3d5995fb280f352a8791148..9fde6cf20f10b2545b7b057bf199338945a8f365 100644 (file)
@@ -74,7 +74,7 @@ int lapb_t1timer_running(struct lapb_cb *lapb)
 
 static void lapb_t2timer_expiry(struct timer_list *t)
 {
-       struct lapb_cb *lapb = from_timer(lapb, t, t2timer);
+       struct lapb_cb *lapb = timer_container_of(lapb, t, t2timer);
 
        spin_lock_bh(&lapb->lock);
        if (timer_pending(&lapb->t2timer)) /* A new timer has been set up */
@@ -94,7 +94,7 @@ out:
 
 static void lapb_t1timer_expiry(struct timer_list *t)
 {
-       struct lapb_cb *lapb = from_timer(lapb, t, t1timer);
+       struct lapb_cb *lapb = timer_container_of(lapb, t, t1timer);
 
        spin_lock_bh(&lapb->lock);
        if (timer_pending(&lapb->t1timer)) /* A new timer has been set up */
index 7e8fc710c59088678bc3c4a7f994468fa4a0d2fb..0779daa8aa8f3b5619470e8c9b3535563c418cea 100644 (file)
@@ -1335,28 +1335,31 @@ static void llc_conn_tmr_common_cb(struct sock *sk, u8 type)
 
 void llc_conn_pf_cycle_tmr_cb(struct timer_list *t)
 {
-       struct llc_sock *llc = from_timer(llc, t, pf_cycle_timer.timer);
+       struct llc_sock *llc = timer_container_of(llc, t,
+                                                 pf_cycle_timer.timer);
 
        llc_conn_tmr_common_cb(&llc->sk, LLC_CONN_EV_TYPE_P_TMR);
 }
 
 void llc_conn_busy_tmr_cb(struct timer_list *t)
 {
-       struct llc_sock *llc = from_timer(llc, t, busy_state_timer.timer);
+       struct llc_sock *llc = timer_container_of(llc, t,
+                                                 busy_state_timer.timer);
 
        llc_conn_tmr_common_cb(&llc->sk, LLC_CONN_EV_TYPE_BUSY_TMR);
 }
 
 void llc_conn_ack_tmr_cb(struct timer_list *t)
 {
-       struct llc_sock *llc = from_timer(llc, t, ack_timer.timer);
+       struct llc_sock *llc = timer_container_of(llc, t, ack_timer.timer);
 
        llc_conn_tmr_common_cb(&llc->sk, LLC_CONN_EV_TYPE_ACK_TMR);
 }
 
 void llc_conn_rej_tmr_cb(struct timer_list *t)
 {
-       struct llc_sock *llc = from_timer(llc, t, rej_sent_timer.timer);
+       struct llc_sock *llc = timer_container_of(llc, t,
+                                                 rej_sent_timer.timer);
 
        llc_conn_tmr_common_cb(&llc->sk, LLC_CONN_EV_TYPE_REJ_TMR);
 }
index 85612234742ac57ef8f130651ab4fe5225759596..ee534797c0335f1b64eb6864a5aee704a96497c8 100644 (file)
@@ -143,7 +143,8 @@ EXPORT_SYMBOL(ieee80211_stop_rx_ba_session);
  */
 static void sta_rx_agg_session_timer_expired(struct timer_list *t)
 {
-       struct tid_ampdu_rx *tid_rx = from_timer(tid_rx, t, session_timer);
+       struct tid_ampdu_rx *tid_rx = timer_container_of(tid_rx, t,
+                                                        session_timer);
        struct sta_info *sta = tid_rx->sta;
        u8 tid = tid_rx->tid;
        unsigned long timeout;
@@ -163,7 +164,8 @@ static void sta_rx_agg_session_timer_expired(struct timer_list *t)
 
 static void sta_rx_agg_reorder_timer_expired(struct timer_list *t)
 {
-       struct tid_ampdu_rx *tid_rx = from_timer(tid_rx, t, reorder_timer);
+       struct tid_ampdu_rx *tid_rx = timer_container_of(tid_rx, t,
+                                                        reorder_timer);
 
        rcu_read_lock();
        ieee80211_release_reorder_timeout(tid_rx->sta, tid_rx->tid);
index 8dc8c3c96b9691236c2197f6e1ff56db256684e0..dbd9ad5f3992ca3b3331ec7ac667bc93830d1139 100644 (file)
@@ -422,7 +422,8 @@ int __ieee80211_stop_tx_ba_session(struct sta_info *sta, u16 tid,
  */
 static void sta_addba_resp_timer_expired(struct timer_list *t)
 {
-       struct tid_ampdu_tx *tid_tx = from_timer(tid_tx, t, addba_resp_timer);
+       struct tid_ampdu_tx *tid_tx = timer_container_of(tid_tx, t,
+                                                        addba_resp_timer);
        struct sta_info *sta = tid_tx->sta;
        u8 tid = tid_tx->tid;
 
@@ -574,7 +575,8 @@ EXPORT_SYMBOL(ieee80211_refresh_tx_agg_session_timer);
  */
 static void sta_tx_agg_session_timer_expired(struct timer_list *t)
 {
-       struct tid_ampdu_tx *tid_tx = from_timer(tid_tx, t, session_timer);
+       struct tid_ampdu_tx *tid_tx = timer_container_of(tid_tx, t,
+                                                        session_timer);
        struct sta_info *sta = tid_tx->sta;
        u8 tid = tid_tx->tid;
        unsigned long timeout;
index a6e7b7ba6a01942271fb36755806123886f40231..9ed87d6f50194b375c38cf721575d4d57293ce8d 100644 (file)
@@ -1673,7 +1673,7 @@ void ieee80211_ibss_work(struct ieee80211_sub_if_data *sdata)
 static void ieee80211_ibss_timer(struct timer_list *t)
 {
        struct ieee80211_sub_if_data *sdata =
-               from_timer(sdata, t, u.ibss.timer);
+               timer_container_of(sdata, t, u.ibss.timer);
 
        wiphy_work_queue(sdata->local->hw.wiphy, &sdata->work);
 }
index 885fa6aa3fc1a35cb674aa588d5eaf98771e9f9b..fabbffdd3ac2676e749f25c900ed2e5a9c60ce6e 100644 (file)
@@ -257,7 +257,8 @@ static unsigned long tpt_trig_traffic(struct ieee80211_local *local,
 
 static void tpt_trig_timer(struct timer_list *t)
 {
-       struct tpt_led_trigger *tpt_trig = from_timer(tpt_trig, t, timer);
+       struct tpt_led_trigger *tpt_trig = timer_container_of(tpt_trig, t,
+                                                             timer);
        struct ieee80211_local *local = tpt_trig->local;
        unsigned long on, off, tpt;
        int i;
index 5cc56d5780483e89ac0b09afc36aa378aed8bf0b..d00d9d413c5cff9b04cd7b3340a8b438b8edb89e 100644 (file)
@@ -40,7 +40,7 @@ void ieee80211s_stop(void)
 static void ieee80211_mesh_housekeeping_timer(struct timer_list *t)
 {
        struct ieee80211_sub_if_data *sdata =
-               from_timer(sdata, t, u.mesh.housekeeping_timer);
+               timer_container_of(sdata, t, u.mesh.housekeeping_timer);
        struct ieee80211_local *local = sdata->local;
        struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
 
@@ -684,7 +684,7 @@ int mesh_add_eht_oper_ie(struct ieee80211_sub_if_data *sdata, struct sk_buff *sk
 static void ieee80211_mesh_path_timer(struct timer_list *t)
 {
        struct ieee80211_sub_if_data *sdata =
-               from_timer(sdata, t, u.mesh.mesh_path_timer);
+               timer_container_of(sdata, t, u.mesh.mesh_path_timer);
 
        wiphy_work_queue(sdata->local->hw.wiphy, &sdata->work);
 }
@@ -692,7 +692,7 @@ static void ieee80211_mesh_path_timer(struct timer_list *t)
 static void ieee80211_mesh_path_root_timer(struct timer_list *t)
 {
        struct ieee80211_sub_if_data *sdata =
-               from_timer(sdata, t, u.mesh.mesh_path_root_timer);
+               timer_container_of(sdata, t, u.mesh.mesh_path_root_timer);
        struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
 
        set_bit(MESH_WORK_ROOT, &ifmsh->wrkq_flags);
index 91444301a84a4c94633870a8a417a20a8d189086..9101858525dd88e34cd7a8f56897fb87883743e2 100644 (file)
@@ -1292,7 +1292,7 @@ int mesh_nexthop_lookup(struct ieee80211_sub_if_data *sdata,
 
 void mesh_path_timer(struct timer_list *t)
 {
-       struct mesh_path *mpath = from_timer(mpath, t, timer);
+       struct mesh_path *mpath = timer_container_of(mpath, t, timer);
        struct ieee80211_sub_if_data *sdata = mpath->sdata;
        int ret;
 
index 9c6a2b342170c8d5fbbcdfd618f4957e53682d9f..cb45a5d2009d24300c35e52213e731fe76b8ace0 100644 (file)
@@ -653,7 +653,7 @@ out:
 
 void mesh_plink_timer(struct timer_list *t)
 {
-       struct mesh_sta *mesh = from_timer(mesh, t, plink_timer);
+       struct mesh_sta *mesh = timer_container_of(mesh, t, plink_timer);
        struct sta_info *sta;
        u16 reason = 0;
        struct ieee80211_sub_if_data *sdata;
index 948909a242d655e926f1319c9dc45f83207094fc..2d46d4af60d7bdc96b25d6e92a68271802deedd3 100644 (file)
@@ -3383,7 +3383,8 @@ void ieee80211_dynamic_ps_enable_work(struct wiphy *wiphy,
 
 void ieee80211_dynamic_ps_timer(struct timer_list *t)
 {
-       struct ieee80211_local *local = from_timer(local, t, dynamic_ps_timer);
+       struct ieee80211_local *local = timer_container_of(local, t,
+                                                          dynamic_ps_timer);
 
        wiphy_work_queue(local->hw.wiphy, &local->dynamic_ps_enable_work);
 }
@@ -8079,7 +8080,7 @@ void ieee80211_sta_rx_queued_mgmt(struct ieee80211_sub_if_data *sdata,
 static void ieee80211_sta_timer(struct timer_list *t)
 {
        struct ieee80211_sub_if_data *sdata =
-               from_timer(sdata, t, u.mgd.timer);
+               timer_container_of(sdata, t, u.mgd.timer);
 
        wiphy_work_queue(sdata->local->hw.wiphy, &sdata->work);
 }
@@ -8385,7 +8386,7 @@ void ieee80211_sta_work(struct ieee80211_sub_if_data *sdata)
 static void ieee80211_sta_bcn_mon_timer(struct timer_list *t)
 {
        struct ieee80211_sub_if_data *sdata =
-               from_timer(sdata, t, u.mgd.bcn_mon_timer);
+               timer_container_of(sdata, t, u.mgd.bcn_mon_timer);
 
        if (WARN_ON(ieee80211_vif_is_mld(&sdata->vif)))
                return;
@@ -8405,7 +8406,7 @@ static void ieee80211_sta_bcn_mon_timer(struct timer_list *t)
 static void ieee80211_sta_conn_mon_timer(struct timer_list *t)
 {
        struct ieee80211_sub_if_data *sdata =
-               from_timer(sdata, t, u.mgd.conn_mon_timer);
+               timer_container_of(sdata, t, u.mgd.conn_mon_timer);
        struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
        struct ieee80211_local *local = sdata->local;
        struct sta_info *sta;
index ece1e83c7b2faa252e2b84023fffb7061805f521..a5d4358f122ae485ad02151653e5724c8ef1a20d 100644 (file)
@@ -146,7 +146,7 @@ void ieee80211_ocb_work(struct ieee80211_sub_if_data *sdata)
 static void ieee80211_ocb_housekeeping_timer(struct timer_list *t)
 {
        struct ieee80211_sub_if_data *sdata =
-               from_timer(sdata, t, u.ocb.housekeeping_timer);
+               timer_container_of(sdata, t, u.ocb.housekeeping_timer);
        struct ieee80211_local *local = sdata->local;
        struct ieee80211_if_ocb *ifocb = &sdata->u.ocb;
 
index 84b18be1f0b16a0f2c156b48571439ad091d3152..61583173629e455531e354973cb72dfb58340811 100644 (file)
@@ -1542,7 +1542,8 @@ int sta_info_destroy_addr_bss(struct ieee80211_sub_if_data *sdata,
 
 static void sta_info_cleanup(struct timer_list *t)
 {
-       struct ieee80211_local *local = from_timer(local, t, sta_cleanup);
+       struct ieee80211_local *local = timer_container_of(local, t,
+                                                          sta_cleanup);
        struct sta_info *sta;
        bool timer_needed = false;
 
index 1306d4dc287b842ebf7efd52d121b096d5cb43e0..feb01747d7d86b648fd928816af3b171258e31a7 100644 (file)
@@ -270,7 +270,8 @@ int mptcp_pm_mp_prio_send_ack(struct mptcp_sock *msk,
 
 static void mptcp_pm_add_timer(struct timer_list *timer)
 {
-       struct mptcp_pm_add_entry *entry = from_timer(entry, timer, add_timer);
+       struct mptcp_pm_add_entry *entry = timer_container_of(entry, timer,
+                                                             add_timer);
        struct mptcp_sock *msk = entry->sock;
        struct sock *sk = (struct sock *)msk;
 
index 0749733ea897bd0f0ec6f3165515166f145ae5ed..edf14c2c20622e38b697f3a291838282ef5a8ddb 100644 (file)
@@ -2203,8 +2203,8 @@ out_err:
 
 static void mptcp_retransmit_timer(struct timer_list *t)
 {
-       struct inet_connection_sock *icsk = from_timer(icsk, t,
-                                                      icsk_retransmit_timer);
+       struct inet_connection_sock *icsk = timer_container_of(icsk, t,
+                                                              icsk_retransmit_timer);
        struct sock *sk = &icsk->icsk_inet.sk;
        struct mptcp_sock *msk = mptcp_sk(sk);
 
@@ -2223,7 +2223,7 @@ static void mptcp_retransmit_timer(struct timer_list *t)
 
 static void mptcp_tout_timer(struct timer_list *t)
 {
-       struct sock *sk = from_timer(sk, t, sk_timer);
+       struct sock *sk = timer_container_of(sk, t, sk_timer);
 
        mptcp_schedule_work(sk);
        sock_put(sk);
index b3694706378344c804e84490d0b2c3cbfaefd8b7..446e4e3b9553a0aea936801f545ebc8ca9cdb736 100644 (file)
@@ -88,7 +88,7 @@ report:
 
 static void ncsi_channel_monitor(struct timer_list *t)
 {
-       struct ncsi_channel *nc = from_timer(nc, t, monitor.timer);
+       struct ncsi_channel *nc = timer_container_of(nc, t, monitor.timer);
        struct ncsi_package *np = nc->package;
        struct ncsi_dev_priv *ndp = np->ndp;
        struct ncsi_channel_mode *ncm;
@@ -430,7 +430,7 @@ struct ncsi_dev *ncsi_find_dev(struct net_device *dev)
 
 static void ncsi_request_timeout(struct timer_list *t)
 {
-       struct ncsi_request *nr = from_timer(nr, t, timer);
+       struct ncsi_request *nr = timer_container_of(nr, t, timer);
        struct ncsi_dev_priv *ndp = nr->ndp;
        struct ncsi_cmd_pkt *cmd;
        struct ncsi_package *np;
index 6ae042f702d20f3fc87577f54f45b4f99e8718e8..798c7993635e66db05c9e6d19f5893c2086ec3bc 100644 (file)
@@ -264,7 +264,7 @@ out:
 static void
 mtype_gc(struct timer_list *t)
 {
-       struct mtype *map = from_timer(map, t, gc);
+       struct mtype *map = timer_container_of(map, t, gc);
        struct ip_set *set = map->set;
        void *x;
        u32 id;
index db794fe1300e697ab53ecc64a03607679ce7b748..13c7a08aa868c0440525711c2c0947d4c42a2fa9 100644 (file)
@@ -571,7 +571,7 @@ static const struct ip_set_type_variant set_variant = {
 static void
 list_set_gc(struct timer_list *t)
 {
-       struct list_set *map = from_timer(map, t, gc);
+       struct list_set *map = timer_container_of(map, t, gc);
        struct ip_set *set = map->set;
 
        spin_lock_bh(&set->lock);
index 8699944c0baf377a743ea2e3c55a5229128ede6c..44b2ad695c1535cf9a2d832d17e7acf8d1e6160e 100644 (file)
@@ -846,7 +846,7 @@ static void ip_vs_conn_del_put(struct ip_vs_conn *cp)
 
 static void ip_vs_conn_expire(struct timer_list *t)
 {
-       struct ip_vs_conn *cp = from_timer(cp, t, timer);
+       struct ip_vs_conn *cp = timer_container_of(cp, t, timer);
        struct netns_ipvs *ipvs = cp->ipvs;
 
        /*
index 7d5b7418f8c72e89d7f7ea8aac494577fbdce79b..6a6fc44785337266005e0669a1176aa453cb7639 100644 (file)
@@ -1331,7 +1331,8 @@ ip_vs_del_dest(struct ip_vs_service *svc, struct ip_vs_dest_user_kern *udest)
 
 static void ip_vs_dest_trash_expire(struct timer_list *t)
 {
-       struct netns_ipvs *ipvs = from_timer(ipvs, t, dest_trash_timer);
+       struct netns_ipvs *ipvs = timer_container_of(ipvs, t,
+                                                    dest_trash_timer);
        struct ip_vs_dest *dest, *next;
        unsigned long now = jiffies;
 
index 2423513d701d4c8a72793369ae35c7ee9b59781b..156181a3bacd7d6c8fa63d75112f3ddc2d14fb32 100644 (file)
@@ -292,7 +292,8 @@ static inline void ip_vs_lblc_full_check(struct ip_vs_service *svc)
  */
 static void ip_vs_lblc_check_expire(struct timer_list *t)
 {
-       struct ip_vs_lblc_table *tbl = from_timer(tbl, t, periodic_timer);
+       struct ip_vs_lblc_table *tbl = timer_container_of(tbl, t,
+                                                         periodic_timer);
        struct ip_vs_service *svc = tbl->svc;
        unsigned long now = jiffies;
        int goal;
index cdb1d4bf6761ca4b60071ec6eea382aaab06189e..a021e6aba3d7b628603aa76232153af0c8fb8a0e 100644 (file)
@@ -456,7 +456,8 @@ static inline void ip_vs_lblcr_full_check(struct ip_vs_service *svc)
  */
 static void ip_vs_lblcr_check_expire(struct timer_list *t)
 {
-       struct ip_vs_lblcr_table *tbl = from_timer(tbl, t, periodic_timer);
+       struct ip_vs_lblcr_table *tbl = timer_container_of(tbl, t,
+                                                          periodic_timer);
        struct ip_vs_service *svc = tbl->svc;
        unsigned long now = jiffies;
        int goal;
index 21d22fa22e4e7a32196719393b4df816fb8204a3..cfc2daa3fc7f340937898b4bef0769fd31f801b5 100644 (file)
@@ -71,7 +71,7 @@ EXPORT_SYMBOL_GPL(nf_ct_unlink_expect_report);
 
 static void nf_ct_expectation_timed_out(struct timer_list *t)
 {
-       struct nf_conntrack_expect *exp = from_timer(exp, t, timeout);
+       struct nf_conntrack_expect *exp = timer_container_of(exp, t, timeout);
 
        spin_lock_bh(&nf_conntrack_expect_lock);
        nf_ct_unlink_expect(exp);
index 882962f3c84db579034cba843f7a4fba045156fe..bfcb9cd335bff59fa4d0d09eb52943566e4098e7 100644 (file)
@@ -390,7 +390,7 @@ __nfulnl_flush(struct nfulnl_instance *inst)
 static void
 nfulnl_timer(struct timer_list *t)
 {
-       struct nfulnl_instance *inst = from_timer(inst, t, timer);
+       struct nfulnl_instance *inst = timer_container_of(inst, t, timer);
 
        spin_lock_bh(&inst->lock);
        if (inst->skb)
index 9082155ee558933c640f51f1a6fec8ccdc1f0fa2..d73957592c9d9b2906ec26389f635eb04a9bcc9c 100644 (file)
@@ -100,7 +100,7 @@ static void idletimer_tg_work(struct work_struct *work)
 
 static void idletimer_tg_expired(struct timer_list *t)
 {
-       struct idletimer_tg *timer = from_timer(timer, t, timer);
+       struct idletimer_tg *timer = timer_container_of(timer, t, timer);
 
        pr_debug("timer %s expired\n", timer->attr.attr.name);
 
index 8a80fd76fe45b20e703321c106baf2fc8fe92756..90dcf088071a6ffc78bc1a311ed96faa1fb35276 100644 (file)
@@ -72,8 +72,9 @@ led_tg(struct sk_buff *skb, const struct xt_action_param *par)
 
 static void led_timeout_callback(struct timer_list *t)
 {
-       struct xt_led_info_internal *ledinternal = from_timer(ledinternal, t,
-                                                             timer);
+       struct xt_led_info_internal *ledinternal = timer_container_of(ledinternal,
+                                                                     t,
+                                                                     timer);
 
        led_trigger_event(&ledinternal->netfilter_led_trigger, LED_OFF);
 }
index 6ee148f0e6d0425614518957dac2f58320d46b01..3331669d8e33a49959abe774bda49ccef5701249 100644 (file)
@@ -240,7 +240,7 @@ void nr_destroy_socket(struct sock *);
  */
 static void nr_destroy_timer(struct timer_list *t)
 {
-       struct sock *sk = from_timer(sk, t, sk_timer);
+       struct sock *sk = timer_container_of(sk, t, sk_timer);
        bh_lock_sock(sk);
        sock_hold(sk);
        nr_destroy_socket(sk);
index 5e3ca068f04e04bfa8578212b1d28c553fd78540..b3a62b1f3a09eb4ca57dcfbc969820a2775efe85 100644 (file)
@@ -111,7 +111,7 @@ int nr_t1timer_running(struct sock *sk)
 
 static void nr_heartbeat_expiry(struct timer_list *t)
 {
-       struct sock *sk = from_timer(sk, t, sk_timer);
+       struct sock *sk = timer_container_of(sk, t, sk_timer);
        struct nr_sock *nr = nr_sk(sk);
 
        bh_lock_sock(sk);
@@ -152,7 +152,7 @@ out:
 
 static void nr_t2timer_expiry(struct timer_list *t)
 {
-       struct nr_sock *nr = from_timer(nr, t, t2timer);
+       struct nr_sock *nr = timer_container_of(nr, t, t2timer);
        struct sock *sk = &nr->sock;
 
        bh_lock_sock(sk);
@@ -166,7 +166,7 @@ static void nr_t2timer_expiry(struct timer_list *t)
 
 static void nr_t4timer_expiry(struct timer_list *t)
 {
-       struct nr_sock *nr = from_timer(nr, t, t4timer);
+       struct nr_sock *nr = timer_container_of(nr, t, t4timer);
        struct sock *sk = &nr->sock;
 
        bh_lock_sock(sk);
@@ -177,7 +177,7 @@ static void nr_t4timer_expiry(struct timer_list *t)
 
 static void nr_idletimer_expiry(struct timer_list *t)
 {
-       struct nr_sock *nr = from_timer(nr, t, idletimer);
+       struct nr_sock *nr = timer_container_of(nr, t, idletimer);
        struct sock *sk = &nr->sock;
 
        bh_lock_sock(sk);
@@ -206,7 +206,7 @@ static void nr_idletimer_expiry(struct timer_list *t)
 
 static void nr_t1timer_expiry(struct timer_list *t)
 {
-       struct nr_sock *nr = from_timer(nr, t, t1timer);
+       struct nr_sock *nr = timer_container_of(nr, t, t1timer);
        struct sock *sk = &nr->sock;
 
        bh_lock_sock(sk);
index 75ed8a9146baae1d126f6475d0badd40655e73f4..ae1c842f9c642724242ae867a202c6ec8a685541 100644 (file)
@@ -1010,7 +1010,7 @@ exit:
 
 static void nfc_check_pres_timeout(struct timer_list *t)
 {
-       struct nfc_dev *dev = from_timer(dev, t, check_pres_timer);
+       struct nfc_dev *dev = timer_container_of(dev, t, check_pres_timer);
 
        schedule_work(&dev->check_pres_work);
 }
index aa493344d93e3c37699bcf87471b73767522a366..8618d57c23dae8c59f527fb3b4847148310bd880 100644 (file)
@@ -441,7 +441,7 @@ exit_noskb:
 
 static void nfc_hci_cmd_timeout(struct timer_list *t)
 {
-       struct nfc_hci_dev *hdev = from_timer(hdev, t, cmd_timer);
+       struct nfc_hci_dev *hdev = timer_container_of(hdev, t, cmd_timer);
 
        schedule_work(&hdev->msg_tx_work);
 }
index ce9c683a3ead74bee0a56606467f6285975c63c1..4fc37894860c9e65cf8531d9c66be1814119fcf6 100644 (file)
@@ -564,14 +564,14 @@ static void llc_shdlc_handle_send_queue(struct llc_shdlc *shdlc)
 
 static void llc_shdlc_connect_timeout(struct timer_list *t)
 {
-       struct llc_shdlc *shdlc = from_timer(shdlc, t, connect_timer);
+       struct llc_shdlc *shdlc = timer_container_of(shdlc, t, connect_timer);
 
        schedule_work(&shdlc->sm_work);
 }
 
 static void llc_shdlc_t1_timeout(struct timer_list *t)
 {
-       struct llc_shdlc *shdlc = from_timer(shdlc, t, t1_timer);
+       struct llc_shdlc *shdlc = timer_container_of(shdlc, t, t1_timer);
 
        pr_debug("SoftIRQ: need to send ack\n");
 
@@ -580,7 +580,7 @@ static void llc_shdlc_t1_timeout(struct timer_list *t)
 
 static void llc_shdlc_t2_timeout(struct timer_list *t)
 {
-       struct llc_shdlc *shdlc = from_timer(shdlc, t, t2_timer);
+       struct llc_shdlc *shdlc = timer_container_of(shdlc, t, t2_timer);
 
        pr_debug("SoftIRQ: need to retransmit\n");
 
index 27e863f96ed1e2cb1707e47b04fed2ff8149105a..beeb3b4d28caba92166a44f2fbb2af27a40b5582 100644 (file)
@@ -243,7 +243,8 @@ static void nfc_llcp_timeout_work(struct work_struct *work)
 
 static void nfc_llcp_symm_timer(struct timer_list *t)
 {
-       struct nfc_llcp_local *local = from_timer(local, t, link_timer);
+       struct nfc_llcp_local *local = timer_container_of(local, t,
+                                                         link_timer);
 
        pr_err("SYMM timeout\n");
 
@@ -286,7 +287,8 @@ static void nfc_llcp_sdreq_timeout_work(struct work_struct *work)
 
 static void nfc_llcp_sdreq_timer(struct timer_list *t)
 {
-       struct nfc_llcp_local *local = from_timer(local, t, sdreq_timer);
+       struct nfc_llcp_local *local = timer_container_of(local, t,
+                                                         sdreq_timer);
 
        schedule_work(&local->sdreq_timeout_work);
 }
index 0171bf3c70162bd2c0c7b37fd8f0eae5d7cdd11b..fc921cd2cdffa5e5678d394cf5449b08bb0b8aaf 100644 (file)
@@ -610,7 +610,7 @@ static int nci_close_device(struct nci_dev *ndev)
 /* NCI command timer function */
 static void nci_cmd_timer(struct timer_list *t)
 {
-       struct nci_dev *ndev = from_timer(ndev, t, cmd_timer);
+       struct nci_dev *ndev = timer_container_of(ndev, t, cmd_timer);
 
        atomic_set(&ndev->cmd_cnt, 1);
        queue_work(ndev->cmd_wq, &ndev->cmd_work);
@@ -619,7 +619,7 @@ static void nci_cmd_timer(struct timer_list *t)
 /* NCI data exchange timer function */
 static void nci_data_timer(struct timer_list *t)
 {
-       struct nci_dev *ndev = from_timer(ndev, t, data_timer);
+       struct nci_dev *ndev = timer_container_of(ndev, t, data_timer);
 
        set_bit(NCI_DATA_EXCHANGE_TO, &ndev->flags);
        queue_work(ndev->rx_wq, &ndev->rx_work);
index 20be2c47cf4191f07073d6d66753563ba711072c..3d43f3eae7599ebc331bca46e5145fe4b43e8f5a 100644 (file)
@@ -722,7 +722,7 @@ static void _prb_refresh_rx_retire_blk_timer(struct tpacket_kbdq_core *pkc)
 static void prb_retire_rx_blk_timer_expired(struct timer_list *t)
 {
        struct packet_sock *po =
-               from_timer(po, t, rx_ring.prb_bdqc.retire_blk_timer);
+               timer_container_of(po, t, rx_ring.prb_bdqc.retire_blk_timer);
        struct tpacket_kbdq_core *pkc = GET_PBDQC_FROM_RB(&po->rx_ring);
        unsigned int frozen;
        struct tpacket_block_desc *pbd;
index a4a668b88a8f27c77d2faa39ba9ad174e748966b..4e72b636a46a5fed572d31dc1355079d7c38c3b8 100644 (file)
@@ -345,7 +345,7 @@ void rose_destroy_socket(struct sock *);
  */
 static void rose_destroy_timer(struct timer_list *t)
 {
-       struct sock *sk = from_timer(sk, t, sk_timer);
+       struct sock *sk = timer_container_of(sk, t, sk_timer);
 
        rose_destroy_socket(sk);
 }
index 9f9629e6fdaea06b7b9a7743e8057aeade6aaa96..7746229fdc8cfc53853c265209f7a430f98e4487 100644 (file)
@@ -78,7 +78,7 @@ static void rose_ftimer_expiry(struct timer_list *t)
 
 static void rose_t0timer_expiry(struct timer_list *t)
 {
-       struct rose_neigh *neigh = from_timer(neigh, t, t0timer);
+       struct rose_neigh *neigh = timer_container_of(neigh, t, t0timer);
 
        rose_transmit_restart_request(neigh);
 
index 1525773e94aa175dd2b73b27314259da0f1dc239..020369c49587f123d5db22159c8270b20f8c6875 100644 (file)
@@ -118,7 +118,7 @@ void rose_stop_idletimer(struct sock *sk)
 
 static void rose_heartbeat_expiry(struct timer_list *t)
 {
-       struct sock *sk = from_timer(sk, t, sk_timer);
+       struct sock *sk = timer_container_of(sk, t, sk_timer);
        struct rose_sock *rose = rose_sk(sk);
 
        bh_lock_sock(sk);
@@ -163,7 +163,7 @@ out:
 
 static void rose_timer_expiry(struct timer_list *t)
 {
-       struct rose_sock *rose = from_timer(rose, t, timer);
+       struct rose_sock *rose = timer_container_of(rose, t, timer);
        struct sock *sk = &rose->sock;
 
        bh_lock_sock(sk);
@@ -198,7 +198,7 @@ out:
 
 static void rose_idletimer_expiry(struct timer_list *t)
 {
-       struct rose_sock *rose = from_timer(rose, t, idletimer);
+       struct rose_sock *rose = timer_container_of(rose, t, idletimer);
        struct sock *sk = &rose->sock;
 
        bh_lock_sock(sk);
index e9e8f0ef3fd58ef01bfc3ee12eda618662df91c0..15067ff7b1f2caefb59069c598f6e118d1c0d4dd 100644 (file)
@@ -64,7 +64,7 @@ void rxrpc_poke_call(struct rxrpc_call *call, enum rxrpc_call_poke_trace what)
 
 static void rxrpc_call_timer_expired(struct timer_list *t)
 {
-       struct rxrpc_call *call = from_timer(call, t, timer);
+       struct rxrpc_call *call = timer_container_of(call, t, timer);
 
        _enter("%d", call->debug_id);
 
index 5c2580a07530e4e0615a7df7ff9d0a35ae9e94b4..5693b41b093f3f5723bc3e780dcf20419dd9863e 100644 (file)
@@ -345,7 +345,7 @@ TC_INDIRECT_SCOPE int flow_classify(struct sk_buff *skb,
 
 static void flow_perturbation(struct timer_list *t)
 {
-       struct flow_filter *f = from_timer(f, t, perturb_timer);
+       struct flow_filter *f = timer_container_of(f, t, perturb_timer);
 
        get_random_bytes(&f->hashrnd, 4);
        if (f->perturb_period)
index df7fac95ab15138bc55cf73bad27fd2bf41d1da9..b0e34daf1f7517415fe2df316649e23a7380cb8b 100644 (file)
@@ -384,7 +384,7 @@ flow_error:
 
 static void fq_pie_timer(struct timer_list *t)
 {
-       struct fq_pie_sched_data *q = from_timer(q, t, adapt_timer);
+       struct fq_pie_sched_data *q = timer_container_of(q, t, adapt_timer);
        unsigned long next, tupdate;
        struct Qdisc *sch = q->sch;
        spinlock_t *root_lock; /* to lock qdisc for probability calculations */
index 08e0e3aff97636cde7bdcf42a2713e45b56329ca..16afb834fe4a95b20f4c48a65881302ec4a8a620 100644 (file)
@@ -496,7 +496,7 @@ EXPORT_SYMBOL(netif_tx_unlock);
 
 static void dev_watchdog(struct timer_list *t)
 {
-       struct net_device *dev = from_timer(dev, t, watchdog_timer);
+       struct net_device *dev = timer_container_of(dev, t, watchdog_timer);
        bool release = true;
 
        spin_lock(&dev->tx_global_lock);
index ff49a6c97033aa43f680657b7798d4da050d8e71..ad46ee3ed5a968ab26521b83fc6dc4f8a0c0997c 100644 (file)
@@ -424,7 +424,7 @@ EXPORT_SYMBOL_GPL(pie_calculate_probability);
 
 static void pie_timer(struct timer_list *t)
 {
-       struct pie_sched_data *q = from_timer(q, t, adapt_timer);
+       struct pie_sched_data *q = timer_container_of(q, t, adapt_timer);
        struct Qdisc *sch = q->sch;
        spinlock_t *root_lock;
 
index 1ba3e0bba54f0cc8d797ab9a7ffab529481b2d4e..339d70b4a4c560cc21892a2cc6f0bacd8e3d8fdd 100644 (file)
@@ -321,7 +321,7 @@ unlock_out:
 
 static inline void red_adaptative_timer(struct timer_list *t)
 {
-       struct red_sched_data *q = from_timer(q, t, adapt_timer);
+       struct red_sched_data *q = timer_container_of(q, t, adapt_timer);
        struct Qdisc *sch = q->sch;
        spinlock_t *root_lock;
 
index b912ad99aa15d95b297fb28d0fd0baa9c21ab5cd..a8081492d67106c11613f735f917df12079385b5 100644 (file)
@@ -597,7 +597,7 @@ drop:
 
 static void sfq_perturbation(struct timer_list *t)
 {
-       struct sfq_sched_data *q = from_timer(q, t, perturb_timer);
+       struct sfq_sched_data *q = timer_container_of(q, t, perturb_timer);
        struct Qdisc *sch = q->sch;
        spinlock_t *root_lock;
        siphash_key_t nkey;
index 8c3b80c4d40b80b1aa438ce8ed9a53dda8f72e2e..f402f90eb6b6717888698c4157d2d7ee9161c527 100644 (file)
@@ -631,7 +631,7 @@ static void sctp_v4_ecn_capable(struct sock *sk)
 
 static void sctp_addr_wq_timeout_handler(struct timer_list *t)
 {
-       struct net *net = from_timer(net, t, sctp.addr_wq_timer);
+       struct net *net = timer_container_of(net, t, sctp.addr_wq_timer);
        struct sctp_sockaddr_entry *addrw, *temp;
        struct sctp_sock *sp;
 
index 3aa5da5e3bbd211a00268165040646a67304f65f..424f10a6fdba9bdb0e735d0f315c7f3266cfc455 100644 (file)
@@ -231,7 +231,7 @@ nomem:
 void sctp_generate_t3_rtx_event(struct timer_list *t)
 {
        struct sctp_transport *transport =
-               from_timer(transport, t, T3_rtx_timer);
+               timer_container_of(transport, t, T3_rtx_timer);
        struct sctp_association *asoc = transport->asoc;
        struct sock *sk = asoc->base.sk;
        struct net *net = sock_net(sk);
@@ -308,7 +308,8 @@ out_unlock:
 static void sctp_generate_t1_cookie_event(struct timer_list *t)
 {
        struct sctp_association *asoc =
-               from_timer(asoc, t, timers[SCTP_EVENT_TIMEOUT_T1_COOKIE]);
+               timer_container_of(asoc, t,
+                                  timers[SCTP_EVENT_TIMEOUT_T1_COOKIE]);
 
        sctp_generate_timeout_event(asoc, SCTP_EVENT_TIMEOUT_T1_COOKIE);
 }
@@ -316,7 +317,8 @@ static void sctp_generate_t1_cookie_event(struct timer_list *t)
 static void sctp_generate_t1_init_event(struct timer_list *t)
 {
        struct sctp_association *asoc =
-               from_timer(asoc, t, timers[SCTP_EVENT_TIMEOUT_T1_INIT]);
+               timer_container_of(asoc, t,
+                                  timers[SCTP_EVENT_TIMEOUT_T1_INIT]);
 
        sctp_generate_timeout_event(asoc, SCTP_EVENT_TIMEOUT_T1_INIT);
 }
@@ -324,7 +326,8 @@ static void sctp_generate_t1_init_event(struct timer_list *t)
 static void sctp_generate_t2_shutdown_event(struct timer_list *t)
 {
        struct sctp_association *asoc =
-               from_timer(asoc, t, timers[SCTP_EVENT_TIMEOUT_T2_SHUTDOWN]);
+               timer_container_of(asoc, t,
+                                  timers[SCTP_EVENT_TIMEOUT_T2_SHUTDOWN]);
 
        sctp_generate_timeout_event(asoc, SCTP_EVENT_TIMEOUT_T2_SHUTDOWN);
 }
@@ -332,7 +335,7 @@ static void sctp_generate_t2_shutdown_event(struct timer_list *t)
 static void sctp_generate_t4_rto_event(struct timer_list *t)
 {
        struct sctp_association *asoc =
-               from_timer(asoc, t, timers[SCTP_EVENT_TIMEOUT_T4_RTO]);
+               timer_container_of(asoc, t, timers[SCTP_EVENT_TIMEOUT_T4_RTO]);
 
        sctp_generate_timeout_event(asoc, SCTP_EVENT_TIMEOUT_T4_RTO);
 }
@@ -340,8 +343,8 @@ static void sctp_generate_t4_rto_event(struct timer_list *t)
 static void sctp_generate_t5_shutdown_guard_event(struct timer_list *t)
 {
        struct sctp_association *asoc =
-               from_timer(asoc, t,
-                          timers[SCTP_EVENT_TIMEOUT_T5_SHUTDOWN_GUARD]);
+               timer_container_of(asoc, t,
+                                  timers[SCTP_EVENT_TIMEOUT_T5_SHUTDOWN_GUARD]);
 
        sctp_generate_timeout_event(asoc,
                                    SCTP_EVENT_TIMEOUT_T5_SHUTDOWN_GUARD);
@@ -351,7 +354,8 @@ static void sctp_generate_t5_shutdown_guard_event(struct timer_list *t)
 static void sctp_generate_autoclose_event(struct timer_list *t)
 {
        struct sctp_association *asoc =
-               from_timer(asoc, t, timers[SCTP_EVENT_TIMEOUT_AUTOCLOSE]);
+               timer_container_of(asoc, t,
+                                  timers[SCTP_EVENT_TIMEOUT_AUTOCLOSE]);
 
        sctp_generate_timeout_event(asoc, SCTP_EVENT_TIMEOUT_AUTOCLOSE);
 }
@@ -361,7 +365,8 @@ static void sctp_generate_autoclose_event(struct timer_list *t)
  */
 void sctp_generate_heartbeat_event(struct timer_list *t)
 {
-       struct sctp_transport *transport = from_timer(transport, t, hb_timer);
+       struct sctp_transport *transport = timer_container_of(transport, t,
+                                                             hb_timer);
        struct sctp_association *asoc = transport->asoc;
        struct sock *sk = asoc->base.sk;
        struct net *net = sock_net(sk);
@@ -407,7 +412,7 @@ out_unlock:
 void sctp_generate_proto_unreach_event(struct timer_list *t)
 {
        struct sctp_transport *transport =
-               from_timer(transport, t, proto_unreach_timer);
+               timer_container_of(transport, t, proto_unreach_timer);
        struct sctp_association *asoc = transport->asoc;
        struct sock *sk = asoc->base.sk;
        struct net *net = sock_net(sk);
@@ -442,7 +447,7 @@ out_unlock:
 void sctp_generate_reconf_event(struct timer_list *t)
 {
        struct sctp_transport *transport =
-               from_timer(transport, t, reconf_timer);
+               timer_container_of(transport, t, reconf_timer);
        struct sctp_association *asoc = transport->asoc;
        struct sock *sk = asoc->base.sk;
        struct net *net = sock_net(sk);
@@ -478,7 +483,8 @@ out_unlock:
 /* Handle the timeout of the probe timer. */
 void sctp_generate_probe_event(struct timer_list *t)
 {
-       struct sctp_transport *transport = from_timer(transport, t, probe_timer);
+       struct sctp_transport *transport = timer_container_of(transport, t,
+                                                             probe_timer);
        struct sctp_association *asoc = transport->asoc;
        struct sock *sk = asoc->base.sk;
        struct net *net = sock_net(sk);
@@ -511,7 +517,7 @@ out_unlock:
 static void sctp_generate_sack_event(struct timer_list *t)
 {
        struct sctp_association *asoc =
-               from_timer(asoc, t, timers[SCTP_EVENT_TIMEOUT_SACK]);
+               timer_container_of(asoc, t, timers[SCTP_EVENT_TIMEOUT_SACK]);
 
        sctp_generate_timeout_event(asoc, SCTP_EVENT_TIMEOUT_SACK);
 }
index cb14d6ddac6c4b9b659784684f9c13dde537ae3d..8b1837228799c5e3ad052cfa831ff52ba12de6e1 100644 (file)
@@ -922,7 +922,7 @@ void svc_send(struct svc_rqst *rqstp)
  */
 static void svc_age_temp_xprts(struct timer_list *t)
 {
-       struct svc_serv *serv = from_timer(serv, t, sv_temptimer);
+       struct svc_serv *serv = timer_container_of(serv, t, sv_temptimer);
        struct svc_xprt *xprt;
        struct list_head *le, *next;
 
index d5e0cdcad9e0c9bc7ce1ec1534f0ed07254866eb..1023361845f9fe79329ec73238eac86276334541 100644 (file)
@@ -854,7 +854,7 @@ xprt_schedule_autodisconnect(struct rpc_xprt *xprt)
 static void
 xprt_init_autodisconnect(struct timer_list *t)
 {
-       struct rpc_xprt *xprt = from_timer(xprt, t, timer);
+       struct rpc_xprt *xprt = timer_container_of(xprt, t, timer);
 
        if (!RB_EMPTY_ROOT(&xprt->recv_queue))
                return;
index 685389d4b245eac3d30a61b6442d0044e928523f..775fd4f3f0725147381b7d339bdfdcfe0facae60 100644 (file)
@@ -292,7 +292,7 @@ void tipc_disc_remove_dest(struct tipc_discoverer *d)
  */
 static void tipc_disc_timeout(struct timer_list *t)
 {
-       struct tipc_discoverer *d = from_timer(d, t, timer);
+       struct tipc_discoverer *d = timer_container_of(d, t, timer);
        struct tipc_net *tn = tipc_net(d->net);
        struct tipc_media_addr maddr;
        struct sk_buff *skb = NULL;
index b45c5b91bc7afbba51c9f0fa1981517e976dc564..572b79bf76ce1b7a7fff313850028e3ea8729141 100644 (file)
@@ -630,7 +630,7 @@ void tipc_mon_get_state(struct net *net, u32 addr,
 
 static void mon_timeout(struct timer_list *t)
 {
-       struct tipc_monitor *mon = from_timer(mon, t, timer);
+       struct tipc_monitor *mon = timer_container_of(mon, t, timer);
        struct tipc_peer *self;
        int best_member_cnt = dom_size(mon->peer_cnt) - 1;
 
index cb43f2016a708471e8047b00a8f7ab4c532339c7..a07fb073368cab1a022de5919d6f8eb60d3c3c4c 100644 (file)
@@ -800,7 +800,7 @@ static bool tipc_node_cleanup(struct tipc_node *peer)
  */
 static void tipc_node_timeout(struct timer_list *t)
 {
-       struct tipc_node *n = from_timer(n, t, timer);
+       struct tipc_node *n = timer_container_of(n, t, timer);
        struct tipc_link_entry *le;
        struct sk_buff_head xmitq;
        int remains = n->link_cnt;
index 65dcbb54f55d966612f3ef7800ac3539305b1771..7c61d47ea2086058c6fe11a19383c3029f4acb52 100644 (file)
@@ -2862,7 +2862,7 @@ static void tipc_sk_retry_connect(struct sock *sk, struct sk_buff_head *list)
 
 static void tipc_sk_timeout(struct timer_list *t)
 {
-       struct sock *sk = from_timer(sk, t, sk_timer);
+       struct sock *sk = timer_container_of(sk, t, sk_timer);
        struct tipc_sock *tsk = tipc_sk(sk);
        u32 pnode = tsk_peer_node(tsk);
        struct sk_buff_head list;
index 621addab28349ec8a0b7fe7122ba1abab9b4ffc7..f8490d94e32364d9858033be07aa42c048bb03d0 100644 (file)
@@ -105,7 +105,7 @@ void tipc_sub_report_overlap(struct tipc_subscription *sub,
 
 static void tipc_sub_timeout(struct timer_list *t)
 {
-       struct tipc_subscription *sub = from_timer(sub, t, timer);
+       struct tipc_subscription *sub = timer_container_of(sub, t, timer);
 
        spin_lock(&sub->lock);
        tipc_sub_send_event(sub, NULL, TIPC_SUBSCR_TIMEOUT);
index dcce326fdb8ca99c762d7683974f610ff2ed0d77..5c3c72df0591c6e32d64f7d4e10c07339f3f72c7 100644 (file)
@@ -1709,7 +1709,7 @@ EXPORT_SYMBOL_GPL(wiphy_work_flush);
 
 void wiphy_delayed_work_timer(struct timer_list *t)
 {
-       struct wiphy_delayed_work *dwork = from_timer(dwork, t, timer);
+       struct wiphy_delayed_work *dwork = timer_container_of(dwork, t, timer);
 
        wiphy_work_queue(dwork->wiphy, &dwork->work);
 }
index 8dda4178497c970d1ae3cac220281b50ceb97d86..1f8ae9f4a3f1960d63557f34a3c9e8bbf55e8633 100644 (file)
@@ -359,7 +359,7 @@ static void __x25_destroy_socket(struct sock *);
  */
 static void x25_destroy_timer(struct timer_list *t)
 {
-       struct sock *sk = from_timer(sk, t, sk_timer);
+       struct sock *sk = timer_container_of(sk, t, sk_timer);
 
        x25_destroy_socket_from_timer(sk);
 }
index 37b190499405e2c4fb895f7a0c3175756f9ea087..4608aa5b4f318c3bf136badc6744df941803fea8 100644 (file)
@@ -46,7 +46,7 @@ static inline void x25_start_t20timer(struct x25_neigh *nb)
 
 static void x25_t20timer_expiry(struct timer_list *t)
 {
-       struct x25_neigh *nb = from_timer(nb, t, t20timer);
+       struct x25_neigh *nb = timer_container_of(nb, t, t20timer);
 
        x25_transmit_restart_request(nb);
 
index e4c5ad5b070f5caf0f65b6a0bb943ed2d1a9af5b..2ec63a1f4c6d42e3fedb2ddfda57eed8cdab00de 100644 (file)
@@ -89,7 +89,7 @@ unsigned long x25_display_timer(struct sock *sk)
 
 static void x25_heartbeat_expiry(struct timer_list *t)
 {
-       struct sock *sk = from_timer(sk, t, sk_timer);
+       struct sock *sk = timer_container_of(sk, t, sk_timer);
 
        bh_lock_sock(sk);
        if (sock_owned_by_user(sk)) /* can currently only occur in state 3 */
@@ -156,7 +156,7 @@ static inline void x25_do_timer_expiry(struct sock * sk)
 
 static void x25_timer_expiry(struct timer_list *t)
 {
-       struct x25_sock *x25 = from_timer(x25, t, timer);
+       struct x25_sock *x25 = timer_container_of(x25, t, timer);
        struct sock *sk = &x25->sk;
 
        bh_lock_sock(sk);
index d4134a18c65819ceb4aac593d7709b42640b0301..094d2454602e25e984819205bcb3dfdbfc1f527b 100644 (file)
@@ -353,7 +353,7 @@ static inline unsigned long make_jiffies(long secs)
 
 static void xfrm_policy_timer(struct timer_list *t)
 {
-       struct xfrm_policy *xp = from_timer(xp, t, timer);
+       struct xfrm_policy *xp = timer_container_of(xp, t, timer);
        time64_t now = ktime_get_real_seconds();
        time64_t next = TIME64_MAX;
        int warn = 0;
@@ -2898,7 +2898,7 @@ static void xfrm_policy_queue_process(struct timer_list *t)
        struct sk_buff *skb;
        struct sock *sk;
        struct dst_entry *dst;
-       struct xfrm_policy *pol = from_timer(pol, t, polq.hold_timer);
+       struct xfrm_policy *pol = timer_container_of(pol, t, polq.hold_timer);
        struct net *net = xp_net(pol);
        struct xfrm_policy_queue *pq = &pol->polq;
        struct flowi fl;
index 203b585c2ae28fa0bb05d02cbdd1f01e9106b833..77cc418ad69eaa2aac4d8ca63abca69808355648 100644 (file)
@@ -2697,7 +2697,7 @@ EXPORT_SYMBOL(xfrm_state_walk_done);
 
 static void xfrm_replay_timer_handler(struct timer_list *t)
 {
-       struct xfrm_state *x = from_timer(x, t, rtimer);
+       struct xfrm_state *x = timer_container_of(x, t, rtimer);
 
        spin_lock(&x->lock);
 
index 1de4b90fd4d18f665e14c0238982a777145eb107..8072183c33d39374f548ee2a71d54b335ed6eb78 100644 (file)
@@ -1118,8 +1118,8 @@ struct snd_timer_system_private {
 
 static void snd_timer_s_function(struct timer_list *t)
 {
-       struct snd_timer_system_private *priv = from_timer(priv, t,
-                                                               tlist);
+       struct snd_timer_system_private *priv = timer_container_of(priv, t,
+                                                                  tlist);
        struct snd_timer *timer = priv->snd_timer;
        unsigned long jiff = jiffies;
        if (time_after(jiff, priv->last_expires))
index 4b02ec127cc01b461d4e7ce47045abcae0b8ef35..6c318a5903abe9119035828b49f00b4eda5a91ef 100644 (file)
@@ -699,7 +699,7 @@ static unsigned int loopback_jiffies_timer_pos_update
 
 static void loopback_jiffies_timer_function(struct timer_list *t)
 {
-       struct loopback_pcm *dpcm = from_timer(dpcm, t, timer);
+       struct loopback_pcm *dpcm = timer_container_of(dpcm, t, timer);
        unsigned long flags;
 
        spin_lock_irqsave(&dpcm->cable->lock, flags);
index 1d923cbe8cd0848d6a88ea2a7e69334e9b2ffe5c..783fe3a22bc91cf258867b69a76b4c119e49d7f9 100644 (file)
@@ -301,7 +301,7 @@ static int dummy_systimer_prepare(struct snd_pcm_substream *substream)
 
 static void dummy_systimer_callback(struct timer_list *t)
 {
-       struct dummy_systimer_pcm *dpcm = from_timer(dpcm, t, timer);
+       struct dummy_systimer_pcm *dpcm = timer_container_of(dpcm, t, timer);
        unsigned long flags;
        int elapsed = 0;
 
index a63e7558ac07c86c26f91125b180d7f348a5a84e..670f8ba92c0843d3904a7a71241a4fef2ca1b7b4 100644 (file)
@@ -157,7 +157,7 @@ EXPORT_SYMBOL(snd_mpu401_uart_interrupt_tx);
  */
 static void snd_mpu401_uart_timer(struct timer_list *t)
 {
-       struct snd_mpu401 *mpu = from_timer(mpu, t, timer);
+       struct snd_mpu401 *mpu = timer_container_of(mpu, t, timer);
        unsigned long flags;
 
        spin_lock_irqsave(&mpu->timer_lock, flags);
index dffcdf9e10d475c51bf346675cbaeaece477124d..851f34e2cdd08f85a94ba7b2789f7c29cb84ab76 100644 (file)
@@ -388,7 +388,7 @@ static void snd_mtpav_input_trigger(struct snd_rawmidi_substream *substream, int
 static void snd_mtpav_output_timer(struct timer_list *t)
 {
        unsigned long flags;
-       struct mtpav *chip = from_timer(chip, t, timer);
+       struct mtpav *chip = timer_container_of(chip, t, timer);
        int p;
 
        spin_lock_irqsave(&chip->spinlock, flags);
index 9bee454441b07bcdd8a70222e9f1e37f49608384..de7449cb6515f1f081d10c75c9406c8f4a55b19d 100644 (file)
@@ -233,7 +233,7 @@ static int opl3_get_voice(struct snd_opl3 *opl3, int instr_4op,
 void snd_opl3_timer_func(struct timer_list *t)
 {
 
-       struct snd_opl3 *opl3 = from_timer(opl3, t, tlist);
+       struct snd_opl3 *opl3 = timer_container_of(opl3, t, tlist);
        unsigned long flags;
        int again = 0;
        int i;
index 72378f354fd01e198e3bd535d9e40b2cf8fb37ed..39f1e1fe4c446a0c1a594cd645dda3387b096f9a 100644 (file)
@@ -345,7 +345,7 @@ static void timer_timeout(struct timer_list *data)
        struct pcmtst_buf_iter *v_iter;
        struct snd_pcm_substream *substream;
 
-       v_iter = from_timer(v_iter, data, timer_instance);
+       v_iter = timer_container_of(v_iter, data, timer_instance);
        substream = v_iter->substream;
 
        if (v_iter->suspend)
index 1857a78f55d762521ebdffe29a58ff39ef4ea7d4..6d0656fcd574d325eb8c24a1870f310a1c713de4 100644 (file)
@@ -299,7 +299,7 @@ static void snd_uart16550_buffer_timer(struct timer_list *t)
        unsigned long flags;
        struct snd_uart16550 *uart;
 
-       uart = from_timer(uart, t, buffer_timer);
+       uart = timer_container_of(uart, t, buffer_timer);
        spin_lock_irqsave(&uart->open_lock, flags);
        snd_uart16550_del_timer(uart);
        snd_uart16550_io_loop(uart);
index 657b331d7a79239313a933e0d7c5e364de4a69c7..cd380db195ef5ed653d4474093a2190619a1d99d 100644 (file)
@@ -504,7 +504,7 @@ int snd_ak4117_check_rate_and_errors(struct ak4117 *ak4117, unsigned int flags)
 
 static void snd_ak4117_timer(struct timer_list *t)
 {
-       struct ak4117 *chip = from_timer(chip, t, timer);
+       struct ak4117 *chip = timer_container_of(chip, t, timer);
 
        if (chip->init)
                return;
index 0162352099282584a6a2565d70f631184cf33275..215bbcd0360e6bf310655a7700b5bbd088646f17 100644 (file)
@@ -182,7 +182,7 @@ static inline int emu8k_get_curpos(struct snd_emu8k_pcm *rec, int ch)
  */
 static void emu8k_pcm_timer_func(struct timer_list *t)
 {
-       struct snd_emu8k_pcm *rec = from_timer(rec, t, timer);
+       struct snd_emu8k_pcm *rec = timer_container_of(rec, t, timer);
        int ptr, delta;
 
        spin_lock(&rec->timer_lock);
index 57867e51d3670086e672853e575c8dd25f56d1b8..637079a2f02a4d835c24395f63ca26902e249923 100644 (file)
@@ -200,7 +200,7 @@ static void snd_sb8dsp_midi_output_write(struct snd_rawmidi_substream *substream
 
 static void snd_sb8dsp_midi_output_timer(struct timer_list *t)
 {
-       struct snd_sb *chip = from_timer(chip, t, midi_timer);
+       struct snd_sb *chip = timer_container_of(chip, t, midi_timer);
        struct snd_rawmidi_substream *substream = chip->midi_substream_output;
        unsigned long flags;
 
index fcc2a0d67792f15edc00e18f9f7abd0ea9d99fc2..494b21be665c8aa6dbe7d2de1cc57efae3b24322 100644 (file)
@@ -352,7 +352,7 @@ static void snd_wavefront_midi_input_trigger(struct snd_rawmidi_substream *subst
 
 static void snd_wavefront_midi_output_timer(struct timer_list *t)
 {
-       snd_wavefront_midi_t *midi = from_timer(midi, t, timer);
+       snd_wavefront_midi_t *midi = timer_container_of(midi, t, timer);
        snd_wavefront_card_t *card = midi->timer_card;
        unsigned long flags;
        
index 7e5ce96954b9e91dba0620958604c3ce66ea0061..cbd964f87349e7df33254c5b6e200ef89a21b451 100644 (file)
@@ -709,7 +709,7 @@ static inline unsigned int modulo_min(unsigned int a, unsigned int b,
 */
 static void snd_card_asihpi_timer_function(struct timer_list *t)
 {
-       struct snd_card_asihpi_pcm *dpcm = from_timer(dpcm, t, timer);
+       struct snd_card_asihpi_pcm *dpcm = timer_container_of(dpcm, t, timer);
        struct snd_pcm_substream *substream = dpcm->substream;
        struct snd_card_asihpi *card = snd_pcm_substream_chip(substream);
        struct snd_pcm_runtime *runtime;
index aa179644b5c9c0774c3ea8243b9357105661edd4..fa6867adb42b5b583406c73a82e1ef13b2406248 100644 (file)
@@ -62,7 +62,7 @@ struct ct_timer {
 
 static void ct_systimer_callback(struct timer_list *t)
 {
-       struct ct_timer_instance *ti = from_timer(ti, t, timer);
+       struct ct_timer_instance *ti = timer_container_of(ti, t, timer);
        struct snd_pcm_substream *substream = ti->substream;
        struct snd_pcm_runtime *runtime = substream->runtime;
        struct ct_atc_pcm *apcm = ti->apcm;
index 2ef59184249c5bdaec0a9c06ee9fee054d2b9215..c3f3c912956196569f7918b57d20aa18c2091ad8 100644 (file)
@@ -200,7 +200,7 @@ static int snd_echo_midi_output_open(struct snd_rawmidi_substream *substream)
 
 static void snd_echo_midi_output_write(struct timer_list *t)
 {
-       struct echoaudio *chip = from_timer(chip, t, timer);
+       struct echoaudio *chip = timer_container_of(chip, t, timer);
        unsigned long flags;
        int bytes, sent, time;
        unsigned char buf[MIDI_OUT_BUFFER_SIZE - 1];
index 873b7eadfc501d12f829a7a4bae014c3cb4890f1..8df0f5bba0f60a22b3b45a930281a415daded44b 100644 (file)
@@ -1393,7 +1393,7 @@ static void snd_hdsp_midi_input_trigger(struct snd_rawmidi_substream *substream,
 
 static void snd_hdsp_midi_output_timer(struct timer_list *t)
 {
-       struct hdsp_midi *hmidi = from_timer(hmidi, t, timer);
+       struct hdsp_midi *hmidi = timer_container_of(hmidi, t, timer);
        unsigned long flags;
 
        snd_hdsp_midi_output_write(hmidi);
index 64de540899551773a54cb6a92b9c2bd63cd7428e..2041cf00cca0c1e1c7ee1e12c9c48ab67e423170 100644 (file)
@@ -1943,7 +1943,7 @@ snd_hdspm_midi_input_trigger(struct snd_rawmidi_substream *substream, int up)
 
 static void snd_hdspm_midi_output_timer(struct timer_list *t)
 {
-       struct hdspm_midi *hmidi = from_timer(hmidi, t, timer);
+       struct hdspm_midi *hmidi = timer_container_of(hmidi, t, timer);
        unsigned long flags;
 
        snd_hdspm_midi_output_write(hmidi);
index f88331a48638174d2ae25cbe6e2233126aec9001..40ea843113a7438cadab7b2e9d9f9a0e01331816 100644 (file)
@@ -284,8 +284,8 @@ static void run_spu_dma(struct work_struct *work)
 
 static void aica_period_elapsed(struct timer_list *t)
 {
-       struct snd_card_aica *dreamcastcard = from_timer(dreamcastcard,
-                                                             t, timer);
+       struct snd_card_aica *dreamcastcard = timer_container_of(dreamcastcard,
+                                                                t, timer);
        struct snd_pcm_substream *substream = dreamcastcard->substream;
        /*timer function - so cannot sleep */
        int play_period;
index dba78efadc85a3ad7d1035b5a19119cab1bbcf3f..08df87238eee95a2b71508b95dc9e8531a521d78 100644 (file)
@@ -3439,7 +3439,8 @@ static irqreturn_t rt5645_irq(int irq, void *data)
 
 static void rt5645_btn_check_callback(struct timer_list *t)
 {
-       struct rt5645_priv *rt5645 = from_timer(rt5645, t, btn_check_timer);
+       struct rt5645_priv *rt5645 = timer_container_of(rt5645, t,
+                                                       btn_check_timer);
 
        queue_delayed_work(system_power_efficient_wq,
                   &rt5645->jack_detect_work, msecs_to_jiffies(5));
index 8ed62d43ffd5e340c36e13e00cb62965104f3802..edab68ae836659a7081a16b4f32801945dafefa3 100644 (file)
@@ -209,7 +209,7 @@ static snd_pcm_uframes_t imx_rpmsg_pcm_pointer(struct snd_soc_component *compone
 static void imx_rpmsg_timer_callback(struct timer_list *t)
 {
        struct stream_timer  *stream_timer =
-                       from_timer(stream_timer, t, timer);
+                       timer_container_of(stream_timer, t, timer);
        struct snd_pcm_substream *substream = stream_timer->substream;
        struct rpmsg_info *info = stream_timer->info;
        struct rpmsg_msg *msg;
index 02e2c69d7f18e3dae4cb9fa26bc56c6959484409..cff6aba9bfc392bf9a20e1ac3b43c5bf9d2bcfce 100644 (file)
@@ -190,7 +190,7 @@ snd_emux_note_off(void *p, int note, int vel, struct snd_midi_channel *chan)
  */
 void snd_emux_timer_callback(struct timer_list *t)
 {
-       struct snd_emux *emu = from_timer(emu, t, tlist);
+       struct snd_emux *emu = timer_container_of(emu, t, tlist);
        struct snd_emux_voice *vp;
        unsigned long flags;
        int ch, do_again = 0;
index 3a8a977ed359c9f75b872c5a03a3d7358edd0edd..866e613fee4f17fb92b6cc71fc95aed4dfda300b 100644 (file)
@@ -339,7 +339,7 @@ static void snd_usbmidi_out_work(struct work_struct *work)
 /* called after transfers had been interrupted due to some USB error */
 static void snd_usbmidi_error_timer(struct timer_list *t)
 {
-       struct snd_usb_midi *umidi = from_timer(umidi, t, error_timer);
+       struct snd_usb_midi *umidi = timer_container_of(umidi, t, error_timer);
        unsigned int i, j;
 
        spin_lock(&umidi->disc_lock);