#include <crypto/internal/hash.h>
 #include <crypto/scatterwalk.h>
-#include <linux/bug.h>
 #include <linux/err.h>
 #include <linux/kernel.h>
 #include <linux/module.h>
        unsigned int nbytes = min(walk->entrylen,
                                  ((unsigned int)(PAGE_SIZE)) - offset);
 
-       if (walk->flags & CRYPTO_ALG_ASYNC)
-               walk->data = kmap(walk->pg);
-       else
-               walk->data = kmap_atomic(walk->pg);
+       walk->data = kmap_atomic(walk->pg);
        walk->data += offset;
 
        if (offset & alignmask) {
                }
        }
 
-       if (walk->flags & CRYPTO_ALG_ASYNC)
-               kunmap(walk->pg);
-       else {
-               kunmap_atomic(walk->data);
-               /*
-                * The may sleep test only makes sense for sync users.
-                * Async users don't need to sleep here anyway.
-                */
-               crypto_yield(walk->flags);
-       }
+       kunmap_atomic(walk->data);
+       crypto_yield(walk->flags);
 
        if (err)
                return err;
 
        walk->alignmask = crypto_ahash_alignmask(crypto_ahash_reqtfm(req));
        walk->sg = req->src;
-       walk->flags = req->base.flags & CRYPTO_TFM_REQ_MASK;
+       walk->flags = req->base.flags;
 
        return hash_walk_new_entry(walk);
 }
 EXPORT_SYMBOL_GPL(crypto_hash_walk_first);
 
-int crypto_ahash_walk_first(struct ahash_request *req,
-                           struct crypto_hash_walk *walk)
-{
-       walk->total = req->nbytes;
-
-       if (!walk->total) {
-               walk->entrylen = 0;
-               return 0;
-       }
-
-       walk->alignmask = crypto_ahash_alignmask(crypto_ahash_reqtfm(req));
-       walk->sg = req->src;
-       walk->flags = req->base.flags & CRYPTO_TFM_REQ_MASK;
-       walk->flags |= CRYPTO_ALG_ASYNC;
-
-       BUILD_BUG_ON(CRYPTO_TFM_REQ_MASK & CRYPTO_ALG_ASYNC);
-
-       return hash_walk_new_entry(walk);
-}
-EXPORT_SYMBOL_GPL(crypto_ahash_walk_first);
-
 static int ahash_setkey_unaligned(struct crypto_ahash *tfm, const u8 *key,
                                unsigned int keylen)
 {
 
 int crypto_hash_walk_done(struct crypto_hash_walk *walk, int err);
 int crypto_hash_walk_first(struct ahash_request *req,
                           struct crypto_hash_walk *walk);
-int crypto_ahash_walk_first(struct ahash_request *req,
-                          struct crypto_hash_walk *walk);
-
-static inline int crypto_ahash_walk_done(struct crypto_hash_walk *walk,
-                                        int err)
-{
-       return crypto_hash_walk_done(walk, err);
-}
 
 static inline int crypto_hash_walk_last(struct crypto_hash_walk *walk)
 {
        return !(walk->entrylen | walk->total);
 }
 
-static inline int crypto_ahash_walk_last(struct crypto_hash_walk *walk)
-{
-       return crypto_hash_walk_last(walk);
-}
-
 int crypto_register_ahash(struct ahash_alg *alg);
 void crypto_unregister_ahash(struct ahash_alg *alg);
 int crypto_register_ahashes(struct ahash_alg *algs, int count);