scsi: csiostor: Convert timers to use timer_setup()
PATCH 1/1 scsi: csiostor: Convert timers to use timer_setup()
In preparation for unconditionally passing the struct timer_list pointer to all timer callbacks, switch to using the new timer_setup() and from_timer() to pass the timer pointer explicitly.
Cc "Martin K. Petersen" <[email protected]>
Cc "James E.J. Bottomley" <[email protected]>
Cc Varun Prakash <[email protected]>
Cc Johannes Thumshirn <[email protected]>
Signed-off-by Kees Cook <[email protected]>
--- drivers/scsi/csiostor/csio_hw.c | 15 ++++++--------- drivers/scsi/csiostor/csio_mb.c | 9 +++------ drivers/scsi/csiostor/csio_mb.h | 3 ++- 3 files changed, 11 insertions(+), 16 deletions(-)
drivers/scsi/csiostor/csio_hw.c +6 -9
@@ -3347,9 +3347,10 @@ csio_mberr_worker(void *data)* **/ static void -csio_hw_mb_timer (uintptr_t data) +csio_hw_mb_timer (struct timer_list *t) { -struct csio_hw *hw = (struct csio_hw *)data; +struct csio_mbm *mbm =from_timer (mbm, t, timer); +struct csio_hw *hw = mbm->hw;struct csio_mb *mbp =NULL ;spin_lock_irq (&hw->lock);
@@ -3715,9 +3716,9 @@ csio_mgmt_req_lookup(struct csio_mgmtm *mgmtm, struct csio_ioreq *io_req)* Return - none. */ static void -csio_mgmt_tmo_handler (uintptr_t data) +csio_mgmt_tmo_handler (struct timer_list *t) { -struct csio_mgmtm *mgmtm = (struct csio_mgmtm *) data; +struct csio_mgmtm *mgmtm =from_timer (mgmtm, t, mgmt_timer);struct list_head *tmp;struct csio_ioreq *io_req;
@@ -3797,11 +3798,7 @@ csio_mgmtm_cleanup(struct csio_mgmtm *mgmtm)static int csio_mgmtm_init (struct csio_mgmtm *mgmtm,struct csio_hw *hw) { -struct timer_list *timer = &mgmtm->mgmt_timer; - -init_timer (timer); - timer->function = csio_mgmt_tmo_handler; - timer->data = (unsigned long )mgmtm; +timer_setup (&mgmtm->mgmt_timer, csio_mgmt_tmo_handler,0 );INIT_LIST_HEAD (&mgmtm->active_q);INIT_LIST_HEAD (&mgmtm->cbfn_q);
drivers/scsi/csiostor/csio_mb.c +3 -6
@@ -1647,13 +1647,10 @@ csio_mb_cancel_all(struct csio_hw *hw, struct list_head *cbfn_q)*/ int csio_mbm_init (struct csio_mbm *mbm,struct csio_hw *hw, -void (*timer_fn)(uintptr_t )) +void (*timer_fn)(struct timer_list *)) { -struct timer_list *timer = &mbm->timer; - -init_timer (timer); - timer->function = timer_fn; - timer->data = (unsigned long )hw; + mbm->hw = hw; +timer_setup (&mbm->timer, timer_fn,0 );INIT_LIST_HEAD (&mbm->req_q);INIT_LIST_HEAD (&mbm->cbfn_q);
drivers/scsi/csiostor/csio_mb.h +2 -1
@@ -137,6 +137,7 @@ struct csio_mbm {uint32_t a_mbox;/* Async mbox num */ uint32_t intr_idx;/* Interrupt index */ struct timer_list timer;/* Mbox timer */ +struct csio_hw *hw;/* Hardware pointer */ struct list_head req_q;/* Mbox request queue */ struct list_head cbfn_q;/* Mbox completion q */ struct csio_mb *mcurrent;/* Current mailbox */
@@ -252,7 +253,7 @@ void csio_mb_process_portparams_rsp(struct csio_hw *hw, struct csio_mb *mbp,/* MB module functions */ int csio_mbm_init (struct csio_mbm *,struct csio_hw *, -void (*)(uintptr_t )); +void (*)(struct timer_list *));void csio_mbm_exit (struct csio_mbm *);void csio_mb_intr_enable (struct csio_hw *);void csio_mb_intr_disable (struct csio_hw *);
Signature · 6 lines
2.7.4 -- Kees Cook Pixel Security
Kees,
Quoted 3 lines
In preparation for unconditionally passing the struct
timer_listpointer to all timer callbacks, switch to using the newtimer_setup()andfrom_timer()to pass the timer pointer explicitly.
Reviewed-by Martin K. Petersen <[email protected]>
Signature · 1 line
Martin K. Petersen Oracle Linux Engineering