forked from Minki/linux
RDMA/qib: Convert tasklets to use new tasklet_setup() API
In preparation for unconditionally passing the struct tasklet_struct pointer to all tasklet callbacks, switch to using the new tasklet_setup() and from_tasklet() to pass the tasklet pointer explicitly. Link: https://lore.kernel.org/r/20200903060637.424458-5-allen.lkml@gmail.com Signed-off-by: Romain Perier <romain.perier@gmail.com> Signed-off-by: Allen Pais <allen.lkml@gmail.com> Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
This commit is contained in:
parent
4e95f84999
commit
a23afb448b
@ -1733,9 +1733,9 @@ done:
|
||||
return;
|
||||
}
|
||||
|
||||
static void qib_error_tasklet(unsigned long data)
|
||||
static void qib_error_tasklet(struct tasklet_struct *t)
|
||||
{
|
||||
struct qib_devdata *dd = (struct qib_devdata *)data;
|
||||
struct qib_devdata *dd = from_tasklet(dd, t, error_tasklet);
|
||||
|
||||
handle_7322_errors(dd);
|
||||
qib_write_kreg(dd, kr_errmask, dd->cspec->errormask);
|
||||
@ -3537,8 +3537,7 @@ try_intx:
|
||||
for (i = 0; i < ARRAY_SIZE(redirect); i++)
|
||||
qib_write_kreg(dd, kr_intredirect + i, redirect[i]);
|
||||
dd->cspec->main_int_mask = mask;
|
||||
tasklet_init(&dd->error_tasklet, qib_error_tasklet,
|
||||
(unsigned long)dd);
|
||||
tasklet_setup(&dd->error_tasklet, qib_error_tasklet);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -62,7 +62,7 @@ static void sdma_get(struct qib_sdma_state *);
|
||||
static void sdma_put(struct qib_sdma_state *);
|
||||
static void sdma_set_state(struct qib_pportdata *, enum qib_sdma_states);
|
||||
static void sdma_start_sw_clean_up(struct qib_pportdata *);
|
||||
static void sdma_sw_clean_up_task(unsigned long);
|
||||
static void sdma_sw_clean_up_task(struct tasklet_struct *);
|
||||
static void unmap_desc(struct qib_pportdata *, unsigned);
|
||||
|
||||
static void sdma_get(struct qib_sdma_state *ss)
|
||||
@ -119,9 +119,10 @@ static void clear_sdma_activelist(struct qib_pportdata *ppd)
|
||||
}
|
||||
}
|
||||
|
||||
static void sdma_sw_clean_up_task(unsigned long opaque)
|
||||
static void sdma_sw_clean_up_task(struct tasklet_struct *t)
|
||||
{
|
||||
struct qib_pportdata *ppd = (struct qib_pportdata *) opaque;
|
||||
struct qib_pportdata *ppd = from_tasklet(ppd, t,
|
||||
sdma_sw_clean_up_task);
|
||||
unsigned long flags;
|
||||
|
||||
spin_lock_irqsave(&ppd->sdma_lock, flags);
|
||||
@ -436,8 +437,7 @@ int qib_setup_sdma(struct qib_pportdata *ppd)
|
||||
|
||||
INIT_LIST_HEAD(&ppd->sdma_activelist);
|
||||
|
||||
tasklet_init(&ppd->sdma_sw_clean_up_task, sdma_sw_clean_up_task,
|
||||
(unsigned long)ppd);
|
||||
tasklet_setup(&ppd->sdma_sw_clean_up_task, sdma_sw_clean_up_task);
|
||||
|
||||
ret = dd->f_init_sdma_regs(ppd);
|
||||
if (ret)
|
||||
|
Loading…
Reference in New Issue
Block a user