mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2025-01-19 06:07:22 +07: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
|
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;
|
struct csio_mb *mbp = NULL;
|
||||||
|
|
||||||
spin_lock_irq(&hw->lock);
|
spin_lock_irq(&hw->lock);
|
||||||
@ -3715,9 +3716,9 @@ csio_mgmt_req_lookup(struct csio_mgmtm *mgmtm, struct csio_ioreq *io_req)
|
|||||||
* Return - none.
|
* Return - none.
|
||||||
*/
|
*/
|
||||||
static void
|
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 list_head *tmp;
|
||||||
struct csio_ioreq *io_req;
|
struct csio_ioreq *io_req;
|
||||||
|
|
||||||
@ -3797,11 +3798,7 @@ csio_mgmtm_cleanup(struct csio_mgmtm *mgmtm)
|
|||||||
static int
|
static int
|
||||||
csio_mgmtm_init(struct csio_mgmtm *mgmtm, struct csio_hw *hw)
|
csio_mgmtm_init(struct csio_mgmtm *mgmtm, struct csio_hw *hw)
|
||||||
{
|
{
|
||||||
struct timer_list *timer = &mgmtm->mgmt_timer;
|
timer_setup(&mgmtm->mgmt_timer, csio_mgmt_tmo_handler, 0);
|
||||||
|
|
||||||
init_timer(timer);
|
|
||||||
timer->function = csio_mgmt_tmo_handler;
|
|
||||||
timer->data = (unsigned long)mgmtm;
|
|
||||||
|
|
||||||
INIT_LIST_HEAD(&mgmtm->active_q);
|
INIT_LIST_HEAD(&mgmtm->active_q);
|
||||||
INIT_LIST_HEAD(&mgmtm->cbfn_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
|
int
|
||||||
csio_mbm_init(struct csio_mbm *mbm, struct csio_hw *hw,
|
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;
|
mbm->hw = hw;
|
||||||
|
timer_setup(&mbm->timer, timer_fn, 0);
|
||||||
init_timer(timer);
|
|
||||||
timer->function = timer_fn;
|
|
||||||
timer->data = (unsigned long)hw;
|
|
||||||
|
|
||||||
INIT_LIST_HEAD(&mbm->req_q);
|
INIT_LIST_HEAD(&mbm->req_q);
|
||||||
INIT_LIST_HEAD(&mbm->cbfn_q);
|
INIT_LIST_HEAD(&mbm->cbfn_q);
|
||||||
|
@ -137,6 +137,7 @@ struct csio_mbm {
|
|||||||
uint32_t a_mbox; /* Async mbox num */
|
uint32_t a_mbox; /* Async mbox num */
|
||||||
uint32_t intr_idx; /* Interrupt index */
|
uint32_t intr_idx; /* Interrupt index */
|
||||||
struct timer_list timer; /* Mbox timer */
|
struct timer_list timer; /* Mbox timer */
|
||||||
|
struct csio_hw *hw; /* Hardware pointer */
|
||||||
struct list_head req_q; /* Mbox request queue */
|
struct list_head req_q; /* Mbox request queue */
|
||||||
struct list_head cbfn_q; /* Mbox completion q */
|
struct list_head cbfn_q; /* Mbox completion q */
|
||||||
struct csio_mb *mcurrent; /* Current mailbox */
|
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 */
|
/* MB module functions */
|
||||||
int csio_mbm_init(struct csio_mbm *, struct csio_hw *,
|
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_mbm_exit(struct csio_mbm *);
|
||||||
void csio_mb_intr_enable(struct csio_hw *);
|
void csio_mb_intr_enable(struct csio_hw *);
|
||||||
void csio_mb_intr_disable(struct csio_hw *);
|
void csio_mb_intr_disable(struct csio_hw *);
|
||||||
|
Loading…
Reference in New Issue
Block a user