crypto: talitos - Simplify per-channel initialization
authorMartin Hicks <mort@bork.org>
Tue, 3 Mar 2015 13:21:33 +0000 (08:21 -0500)
committerHerbert Xu <herbert@gondor.apana.org.au>
Fri, 6 Mar 2015 11:51:27 +0000 (22:51 +1100)
There were multiple loops in a row, for each separate step of the
initialization of the channels.  Simplify to a single loop.

Signed-off-by: Martin Hicks <mort@bork.org>
Acked-by: Kim Phillips <kim.phillips@freescale.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
drivers/crypto/talitos.c

index ebbae8d..20ae97a 100644 (file)
@@ -2706,20 +2706,16 @@ static int talitos_probe(struct platform_device *ofdev)
                goto err_out;
        }
 
+       priv->fifo_len = roundup_pow_of_two(priv->chfifo_len);
+
        for (i = 0; i < priv->num_channels; i++) {
                priv->chan[i].reg = priv->reg + TALITOS_CH_STRIDE * (i + 1);
                if (!priv->irq[1] || !(i & 1))
                        priv->chan[i].reg += TALITOS_CH_BASE_OFFSET;
-       }
 
-       for (i = 0; i < priv->num_channels; i++) {
                spin_lock_init(&priv->chan[i].head_lock);
                spin_lock_init(&priv->chan[i].tail_lock);
-       }
 
-       priv->fifo_len = roundup_pow_of_two(priv->chfifo_len);
-
-       for (i = 0; i < priv->num_channels; i++) {
                priv->chan[i].fifo = kzalloc(sizeof(struct talitos_request) *
                                             priv->fifo_len, GFP_KERNEL);
                if (!priv->chan[i].fifo) {
@@ -2727,11 +2723,10 @@ static int talitos_probe(struct platform_device *ofdev)
                        err = -ENOMEM;
                        goto err_out;
                }
-       }
 
-       for (i = 0; i < priv->num_channels; i++)
                atomic_set(&priv->chan[i].submit_count,
                           -(priv->chfifo_len - 1));
+       }
 
        dma_set_mask(dev, DMA_BIT_MASK(36));