These changes are the raw update to linux-4.4.6-rt14. Kernel sources
[kvmfornfv.git] / kernel / drivers / crypto / bfin_crc.c
index d9af940..95b7396 100644 (file)
@@ -96,26 +96,6 @@ struct bfin_crypto_crc_ctx {
        u32                     key;
 };
 
-
-/*
- * derive number of elements in scatterlist
- */
-static int sg_count(struct scatterlist *sg_list)
-{
-       struct scatterlist *sg = sg_list;
-       int sg_nents = 1;
-
-       if (sg_list == NULL)
-               return 0;
-
-       while (!sg_is_last(sg)) {
-               sg_nents++;
-               sg = sg_next(sg);
-       }
-
-       return sg_nents;
-}
-
 /*
  * get element in scatter list by given index
  */
@@ -160,7 +140,7 @@ static int bfin_crypto_crc_init(struct ahash_request *req)
        }
        spin_unlock_bh(&crc_list.lock);
 
-       if (sg_count(req->src) > CRC_MAX_DMA_DESC) {
+       if (sg_nents(req->src) > CRC_MAX_DMA_DESC) {
                dev_dbg(ctx->crc->dev, "init: requested sg list is too big > %d\n",
                        CRC_MAX_DMA_DESC);
                return -EINVAL;
@@ -370,14 +350,14 @@ static int bfin_crypto_crc_handle_queue(struct bfin_crypto_crc *crc,
                        sg_init_table(ctx->bufsl, nsg);
                        sg_set_buf(ctx->bufsl, ctx->buflast, ctx->buflast_len);
                        if (nsg > 1)
-                               scatterwalk_sg_chain(ctx->bufsl, nsg,
-                                               req->src);
+                               sg_chain(ctx->bufsl, nsg, req->src);
                        ctx->sg = ctx->bufsl;
                } else
                        ctx->sg = req->src;
 
                /* Chop crc buffer size to multiple of 32 bit */
-               nsg = ctx->sg_nents = sg_count(ctx->sg);
+               nsg = sg_nents(ctx->sg);
+               ctx->sg_nents = nsg;
                ctx->sg_buflen = ctx->buflast_len + req->nbytes;
                ctx->bufnext_len = ctx->sg_buflen % 4;
                ctx->sg_buflen &= ~0x3;