Skip to content

Commit 87c1d2d

Browse files
committed
lightnvm: 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: Matias Bjorling <[email protected]> Cc: [email protected] Signed-off-by: Kees Cook <[email protected]>
1 parent bd1a7b4 commit 87c1d2d

File tree

6 files changed

+13
-13
lines changed

6 files changed

+13
-13
lines changed

drivers/lightnvm/pblk-core.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -270,9 +270,9 @@ static void pblk_write_kick(struct pblk *pblk)
270270
mod_timer(&pblk->wtimer, jiffies + msecs_to_jiffies(1000));
271271
}
272272

273-
void pblk_write_timer_fn(unsigned long data)
273+
void pblk_write_timer_fn(struct timer_list *t)
274274
{
275-
struct pblk *pblk = (struct pblk *)data;
275+
struct pblk *pblk = from_timer(pblk, t, wtimer);
276276

277277
/* kick the write thread every tick to flush outstanding data */
278278
pblk_write_kick(pblk);

drivers/lightnvm/pblk-gc.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -442,9 +442,9 @@ static void pblk_gc_run(struct pblk *pblk)
442442
goto next_gc_group;
443443
}
444444

445-
static void pblk_gc_timer(unsigned long data)
445+
static void pblk_gc_timer(struct timer_list *t)
446446
{
447-
struct pblk *pblk = (struct pblk *)data;
447+
struct pblk *pblk = from_timer(pblk, t, gc.gc_timer);
448448

449449
pblk_gc_kick(pblk);
450450
}
@@ -601,7 +601,7 @@ int pblk_gc_init(struct pblk *pblk)
601601
goto fail_free_writer_kthread;
602602
}
603603

604-
setup_timer(&gc->gc_timer, pblk_gc_timer, (unsigned long)pblk);
604+
timer_setup(&gc->gc_timer, pblk_gc_timer, 0);
605605
mod_timer(&gc->gc_timer, jiffies + msecs_to_jiffies(GC_TIME_MSECS));
606606

607607
gc->gc_active = 0;

drivers/lightnvm/pblk-init.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -866,7 +866,7 @@ static int pblk_lines_init(struct pblk *pblk)
866866

867867
static int pblk_writer_init(struct pblk *pblk)
868868
{
869-
setup_timer(&pblk->wtimer, pblk_write_timer_fn, (unsigned long)pblk);
869+
timer_setup(&pblk->wtimer, pblk_write_timer_fn, 0);
870870
mod_timer(&pblk->wtimer, jiffies + msecs_to_jiffies(100));
871871

872872
pblk->writer_ts = kthread_create(pblk_write_ts, pblk, "pblk-writer-t");

drivers/lightnvm/pblk-rl.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -158,9 +158,9 @@ int pblk_rl_max_io(struct pblk_rl *rl)
158158
return rl->rb_max_io;
159159
}
160160

161-
static void pblk_rl_u_timer(unsigned long data)
161+
static void pblk_rl_u_timer(struct timer_list *t)
162162
{
163-
struct pblk_rl *rl = (struct pblk_rl *)data;
163+
struct pblk_rl *rl = from_timer(rl, t, u_timer);
164164

165165
/* Release user I/O state. Protect from GC */
166166
smp_store_release(&rl->rb_user_active, 0);
@@ -202,7 +202,7 @@ void pblk_rl_init(struct pblk_rl *rl, int budget)
202202
atomic_set(&rl->rb_gc_cnt, 0);
203203
atomic_set(&rl->rb_space, -1);
204204

205-
setup_timer(&rl->u_timer, pblk_rl_u_timer, (unsigned long)rl);
205+
timer_setup(&rl->u_timer, pblk_rl_u_timer, 0);
206206

207207
rl->rb_user_active = 0;
208208
rl->rb_gc_active = 0;

drivers/lightnvm/pblk.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -797,7 +797,7 @@ void pblk_map_rq(struct pblk *pblk, struct nvm_rq *rqd, unsigned int sentry,
797797
* pblk write thread
798798
*/
799799
int pblk_write_ts(void *data);
800-
void pblk_write_timer_fn(unsigned long data);
800+
void pblk_write_timer_fn(struct timer_list *t);
801801
void pblk_write_should_kick(struct pblk *pblk);
802802

803803
/*

drivers/lightnvm/rrpc.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -267,9 +267,9 @@ static void rrpc_gc_kick(struct rrpc *rrpc)
267267
/*
268268
* timed GC every interval.
269269
*/
270-
static void rrpc_gc_timer(unsigned long data)
270+
static void rrpc_gc_timer(struct timer_list *t)
271271
{
272-
struct rrpc *rrpc = (struct rrpc *)data;
272+
struct rrpc *rrpc = from_timer(rrpc, t, gc_timer);
273273

274274
rrpc_gc_kick(rrpc);
275275
mod_timer(&rrpc->gc_timer, jiffies + msecs_to_jiffies(10));
@@ -1063,7 +1063,7 @@ static int rrpc_gc_init(struct rrpc *rrpc)
10631063
if (!rrpc->kgc_wq)
10641064
return -ENOMEM;
10651065

1066-
setup_timer(&rrpc->gc_timer, rrpc_gc_timer, (unsigned long)rrpc);
1066+
timer_setup(&rrpc->gc_timer, rrpc_gc_timer, 0);
10671067

10681068
return 0;
10691069
}

0 commit comments

Comments
 (0)