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 <m...@bork.org>
---
 drivers/crypto/talitos.c |   11 +++--------
 1 file changed, 3 insertions(+), 8 deletions(-)

diff --git a/drivers/crypto/talitos.c b/drivers/crypto/talitos.c
index 067ec21..c49d977 100644
--- a/drivers/crypto/talitos.c
+++ b/drivers/crypto/talitos.c
@@ -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));
 
-- 
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-crypto" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to