This patch converts the crypto scatterwalk code to use the generic
scatterlist chaining rather the version specific to crypto.
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
#include <linux/scatterlist.h>
#include "internal.h"
-#include "scatterwalk.h"
static int init(struct hash_desc *desc)
{
if (!nbytes)
break;
- sg = scatterwalk_sg_next(sg);
+ sg = sg_next(sg);
}
return 0;
sg_init_table(sg1, 2);
sg_set_buf(sg1, ipad, bs);
- sg_set_page(&sg1[1], (void *) sg, 0, 0);
+ sg_chain(sg1, 2, sg);
sg_init_table(sg2, 1);
sg_set_buf(sg2, opad, bs + ds);
walk->offset += PAGE_SIZE - 1;
walk->offset &= PAGE_MASK;
if (walk->offset >= walk->sg->offset + walk->sg->length)
- scatterwalk_start(walk, scatterwalk_sg_next(walk->sg));
+ scatterwalk_start(walk, sg_next(walk->sg));
}
}
#include "internal.h"
-static inline struct scatterlist *scatterwalk_sg_next(struct scatterlist *sg)
-{
- return (++sg)->length ? sg : (void *) sg_page(sg);
-}
-
static inline unsigned long scatterwalk_samebuf(struct scatter_walk *walk_in,
struct scatter_walk *walk_out)
{