hwrng/xgene-rng: 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: Matt Mackall <mpm@selenic.com>
Cc: Herbert Xu <herbert@gondor.apana.org.au>
Cc: linux-crypto@vger.kernel.org
Signed-off-by: Kees Cook <keescook@chromium.org>
This commit is contained in:
Kees Cook 2017-10-11 15:55:48 -07:00
parent 607a630107
commit 200d24d633
1 changed files with 3 additions and 5 deletions

View File

@ -100,9 +100,9 @@ struct xgene_rng_dev {
struct clk *clk; struct clk *clk;
}; };
static void xgene_rng_expired_timer(unsigned long arg) static void xgene_rng_expired_timer(struct timer_list *t)
{ {
struct xgene_rng_dev *ctx = (struct xgene_rng_dev *) arg; struct xgene_rng_dev *ctx = from_timer(ctx, t, failure_timer);
/* Clear failure counter as timer expired */ /* Clear failure counter as timer expired */
disable_irq(ctx->irq); disable_irq(ctx->irq);
@ -113,8 +113,6 @@ static void xgene_rng_expired_timer(unsigned long arg)
static void xgene_rng_start_timer(struct xgene_rng_dev *ctx) static void xgene_rng_start_timer(struct xgene_rng_dev *ctx)
{ {
ctx->failure_timer.data = (unsigned long) ctx;
ctx->failure_timer.function = xgene_rng_expired_timer;
ctx->failure_timer.expires = jiffies + 120 * HZ; ctx->failure_timer.expires = jiffies + 120 * HZ;
add_timer(&ctx->failure_timer); add_timer(&ctx->failure_timer);
} }
@ -292,7 +290,7 @@ static int xgene_rng_init(struct hwrng *rng)
struct xgene_rng_dev *ctx = (struct xgene_rng_dev *) rng->priv; struct xgene_rng_dev *ctx = (struct xgene_rng_dev *) rng->priv;
ctx->failure_cnt = 0; ctx->failure_cnt = 0;
init_timer(&ctx->failure_timer); timer_setup(&ctx->failure_timer, xgene_rng_expired_timer, 0);
ctx->revision = readl(ctx->csr_base + RNG_EIP_REV); ctx->revision = readl(ctx->csr_base + RNG_EIP_REV);