crypto: drivers - Convert timers to use timer_setup()
authorKees Cook <keescook@chromium.org>
Wed, 25 Oct 2017 10:18:42 +0000 (03:18 -0700)
committerHerbert Xu <herbert@gondor.apana.org.au>
Fri, 3 Nov 2017 14:11:24 +0000 (22:11 +0800)
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: Herbert Xu <herbert@gondor.apana.org.au>
Cc: Jesper Nilsson <jesper.nilsson@axis.com>
Cc: Lars Persson <lars.persson@axis.com>
Cc: Niklas Cassel <niklas.cassel@axis.com>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Jamie Iles <jamie@jamieiles.com>
Cc: linux-arm-kernel@axis.com
Cc: linux-crypto@vger.kernel.org
Cc: linux-arm-kernel@lists.infradead.org
Signed-off-by: Kees Cook <keescook@chromium.org>
Acked-by: Jamie Iles <jamie@jamieiles.com>
Acked-by: Lars Persson <lars.persson@axis.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
drivers/crypto/axis/artpec6_crypto.c
drivers/crypto/picoxcell_crypto.c

index 0f9754e077191e07f3ad985ad2897822f99a932c..456278440863b7b170bd7037e4a4eca9a122fdad 100644 (file)
@@ -2072,9 +2072,9 @@ static void artpec6_crypto_process_queue(struct artpec6_crypto *ac)
                del_timer(&ac->timer);
 }
 
-static void artpec6_crypto_timeout(unsigned long data)
+static void artpec6_crypto_timeout(struct timer_list *t)
 {
-       struct artpec6_crypto *ac = (struct artpec6_crypto *) data;
+       struct artpec6_crypto *ac = from_timer(ac, t, timer);
 
        dev_info_ratelimited(artpec6_crypto_dev, "timeout\n");
 
@@ -3063,7 +3063,7 @@ static int artpec6_crypto_probe(struct platform_device *pdev)
        spin_lock_init(&ac->queue_lock);
        INIT_LIST_HEAD(&ac->queue);
        INIT_LIST_HEAD(&ac->pending);
-       setup_timer(&ac->timer, artpec6_crypto_timeout, (unsigned long) ac);
+       timer_setup(&ac->timer, artpec6_crypto_timeout, 0);
 
        ac->base = base;
 
index b6f14844702e0c866037c0079539fdfc09be9753..5a6dc53b2b9db221e0e006391ee78e0f32a2e180 100644 (file)
@@ -1125,9 +1125,9 @@ static irqreturn_t spacc_spacc_irq(int irq, void *dev)
        return IRQ_HANDLED;
 }
 
-static void spacc_packet_timeout(unsigned long data)
+static void spacc_packet_timeout(struct timer_list *t)
 {
-       struct spacc_engine *engine = (struct spacc_engine *)data;
+       struct spacc_engine *engine = from_timer(engine, t, packet_timeout);
 
        spacc_process_done(engine);
 }
@@ -1714,8 +1714,7 @@ static int spacc_probe(struct platform_device *pdev)
        writel(SPA_IRQ_EN_STAT_EN | SPA_IRQ_EN_GLBL_EN,
               engine->regs + SPA_IRQ_EN_REG_OFFSET);
 
-       setup_timer(&engine->packet_timeout, spacc_packet_timeout,
-                   (unsigned long)engine);
+       timer_setup(&engine->packet_timeout, spacc_packet_timeout, 0);
 
        INIT_LIST_HEAD(&engine->pending);
        INIT_LIST_HEAD(&engine->completed);