aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKees Cook <keescook@chromium.org>2017-10-18 00:10:19 -0400
committerKees Cook <keescook@chromium.org>2017-11-21 18:46:44 -0500
commit87c1d2d373c2dfc9993f09c3cfd69cf2c3347b20 (patch)
tree833d43300400de30c1eb041d3faf3e19e5fd9415
parentbd1a7b44768a6a926a95e80c98b6be5f461f76e0 (diff)
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 <mb@lightnvm.io> Cc: linux-block@vger.kernel.org Signed-off-by: Kees Cook <keescook@chromium.org>
-rw-r--r--drivers/lightnvm/pblk-core.c4
-rw-r--r--drivers/lightnvm/pblk-gc.c6
-rw-r--r--drivers/lightnvm/pblk-init.c2
-rw-r--r--drivers/lightnvm/pblk-rl.c6
-rw-r--r--drivers/lightnvm/pblk.h2
-rw-r--r--drivers/lightnvm/rrpc.c6
6 files changed, 13 insertions, 13 deletions
diff --git a/drivers/lightnvm/pblk-core.c b/drivers/lightnvm/pblk-core.c
index ce90213a42fa..76516ee84e9a 100644
--- a/drivers/lightnvm/pblk-core.c
+++ b/drivers/lightnvm/pblk-core.c
@@ -270,9 +270,9 @@ static void pblk_write_kick(struct pblk *pblk)
270 mod_timer(&pblk->wtimer, jiffies + msecs_to_jiffies(1000)); 270 mod_timer(&pblk->wtimer, jiffies + msecs_to_jiffies(1000));
271} 271}
272 272
273void pblk_write_timer_fn(unsigned long data) 273void pblk_write_timer_fn(struct timer_list *t)
274{ 274{
275 struct pblk *pblk = (struct pblk *)data; 275 struct pblk *pblk = from_timer(pblk, t, wtimer);
276 276
277 /* kick the write thread every tick to flush outstanding data */ 277 /* kick the write thread every tick to flush outstanding data */
278 pblk_write_kick(pblk); 278 pblk_write_kick(pblk);
diff --git a/drivers/lightnvm/pblk-gc.c b/drivers/lightnvm/pblk-gc.c
index 00d5698d64a9..9c8e114c8a54 100644
--- a/drivers/lightnvm/pblk-gc.c
+++ b/drivers/lightnvm/pblk-gc.c
@@ -442,9 +442,9 @@ next_gc_group:
442 goto next_gc_group; 442 goto next_gc_group;
443} 443}
444 444
445static void pblk_gc_timer(unsigned long data) 445static void pblk_gc_timer(struct timer_list *t)
446{ 446{
447 struct pblk *pblk = (struct pblk *)data; 447 struct pblk *pblk = from_timer(pblk, t, gc.gc_timer);
448 448
449 pblk_gc_kick(pblk); 449 pblk_gc_kick(pblk);
450} 450}
@@ -601,7 +601,7 @@ int pblk_gc_init(struct pblk *pblk)
601 goto fail_free_writer_kthread; 601 goto fail_free_writer_kthread;
602 } 602 }
603 603
604 setup_timer(&gc->gc_timer, pblk_gc_timer, (unsigned long)pblk); 604 timer_setup(&gc->gc_timer, pblk_gc_timer, 0);
605 mod_timer(&gc->gc_timer, jiffies + msecs_to_jiffies(GC_TIME_MSECS)); 605 mod_timer(&gc->gc_timer, jiffies + msecs_to_jiffies(GC_TIME_MSECS));
606 606
607 gc->gc_active = 0; 607 gc->gc_active = 0;
diff --git a/drivers/lightnvm/pblk-init.c b/drivers/lightnvm/pblk-init.c
index f62112ba5482..695826a06b5d 100644
--- a/drivers/lightnvm/pblk-init.c
+++ b/drivers/lightnvm/pblk-init.c
@@ -866,7 +866,7 @@ fail:
866 866
867static int pblk_writer_init(struct pblk *pblk) 867static int pblk_writer_init(struct pblk *pblk)
868{ 868{
869 setup_timer(&pblk->wtimer, pblk_write_timer_fn, (unsigned long)pblk); 869 timer_setup(&pblk->wtimer, pblk_write_timer_fn, 0);
870 mod_timer(&pblk->wtimer, jiffies + msecs_to_jiffies(100)); 870 mod_timer(&pblk->wtimer, jiffies + msecs_to_jiffies(100));
871 871
872 pblk->writer_ts = kthread_create(pblk_write_ts, pblk, "pblk-writer-t"); 872 pblk->writer_ts = kthread_create(pblk_write_ts, pblk, "pblk-writer-t");
diff --git a/drivers/lightnvm/pblk-rl.c b/drivers/lightnvm/pblk-rl.c
index abae31fd434e..dacc71922260 100644
--- a/drivers/lightnvm/pblk-rl.c
+++ b/drivers/lightnvm/pblk-rl.c
@@ -158,9 +158,9 @@ int pblk_rl_max_io(struct pblk_rl *rl)
158 return rl->rb_max_io; 158 return rl->rb_max_io;
159} 159}
160 160
161static void pblk_rl_u_timer(unsigned long data) 161static void pblk_rl_u_timer(struct timer_list *t)
162{ 162{
163 struct pblk_rl *rl = (struct pblk_rl *)data; 163 struct pblk_rl *rl = from_timer(rl, t, u_timer);
164 164
165 /* Release user I/O state. Protect from GC */ 165 /* Release user I/O state. Protect from GC */
166 smp_store_release(&rl->rb_user_active, 0); 166 smp_store_release(&rl->rb_user_active, 0);
@@ -202,7 +202,7 @@ void pblk_rl_init(struct pblk_rl *rl, int budget)
202 atomic_set(&rl->rb_gc_cnt, 0); 202 atomic_set(&rl->rb_gc_cnt, 0);
203 atomic_set(&rl->rb_space, -1); 203 atomic_set(&rl->rb_space, -1);
204 204
205 setup_timer(&rl->u_timer, pblk_rl_u_timer, (unsigned long)rl); 205 timer_setup(&rl->u_timer, pblk_rl_u_timer, 0);
206 206
207 rl->rb_user_active = 0; 207 rl->rb_user_active = 0;
208 rl->rb_gc_active = 0; 208 rl->rb_gc_active = 0;
diff --git a/drivers/lightnvm/pblk.h b/drivers/lightnvm/pblk.h
index 90961033a79f..59a64d461a5d 100644
--- a/drivers/lightnvm/pblk.h
+++ b/drivers/lightnvm/pblk.h
@@ -797,7 +797,7 @@ void pblk_map_rq(struct pblk *pblk, struct nvm_rq *rqd, unsigned int sentry,
797 * pblk write thread 797 * pblk write thread
798 */ 798 */
799int pblk_write_ts(void *data); 799int pblk_write_ts(void *data);
800void pblk_write_timer_fn(unsigned long data); 800void pblk_write_timer_fn(struct timer_list *t);
801void pblk_write_should_kick(struct pblk *pblk); 801void pblk_write_should_kick(struct pblk *pblk);
802 802
803/* 803/*
diff --git a/drivers/lightnvm/rrpc.c b/drivers/lightnvm/rrpc.c
index 267f01ae87e4..0993c14be860 100644
--- a/drivers/lightnvm/rrpc.c
+++ b/drivers/lightnvm/rrpc.c
@@ -267,9 +267,9 @@ static void rrpc_gc_kick(struct rrpc *rrpc)
267/* 267/*
268 * timed GC every interval. 268 * timed GC every interval.
269 */ 269 */
270static void rrpc_gc_timer(unsigned long data) 270static void rrpc_gc_timer(struct timer_list *t)
271{ 271{
272 struct rrpc *rrpc = (struct rrpc *)data; 272 struct rrpc *rrpc = from_timer(rrpc, t, gc_timer);
273 273
274 rrpc_gc_kick(rrpc); 274 rrpc_gc_kick(rrpc);
275 mod_timer(&rrpc->gc_timer, jiffies + msecs_to_jiffies(10)); 275 mod_timer(&rrpc->gc_timer, jiffies + msecs_to_jiffies(10));
@@ -1063,7 +1063,7 @@ static int rrpc_gc_init(struct rrpc *rrpc)
1063 if (!rrpc->kgc_wq) 1063 if (!rrpc->kgc_wq)
1064 return -ENOMEM; 1064 return -ENOMEM;
1065 1065
1066 setup_timer(&rrpc->gc_timer, rrpc_gc_timer, (unsigned long)rrpc); 1066 timer_setup(&rrpc->gc_timer, rrpc_gc_timer, 0);
1067 1067
1068 return 0; 1068 return 0;
1069} 1069}