mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-18 01:34:14 +08:00
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" <martin.petersen@oracle.com> Cc: "James E.J. Bottomley" <jejb@linux.vnet.ibm.com> Cc: Varun Prakash <varun@chelsio.com> Cc: Johannes Thumshirn <jthumshirn@suse.de> Cc: linux-scsi@vger.kernel.org Signed-off-by: Kees Cook <keescook@chromium.org> Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
parent
8c4602f3c1
commit
fa60a31b0c
@ -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);
|
||||
|
@ -1644,13 +1644,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);
|
||||
|
@ -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 *);
|
||||
|
Loading…
Reference in New Issue
Block a user