Use the SHA-1 library instead of crypto_shash.  This is simpler and
faster.

Signed-off-by: Eric Biggers <ebigg...@kernel.org>
---
 drivers/nfc/s3fwrn5/Kconfig    |  3 +--
 drivers/nfc/s3fwrn5/firmware.c | 17 +----------------
 2 files changed, 2 insertions(+), 18 deletions(-)

diff --git a/drivers/nfc/s3fwrn5/Kconfig b/drivers/nfc/s3fwrn5/Kconfig
index 8a6b1a79de253..96386b73fa2b6 100644
--- a/drivers/nfc/s3fwrn5/Kconfig
+++ b/drivers/nfc/s3fwrn5/Kconfig
@@ -1,10 +1,9 @@
 # SPDX-License-Identifier: GPL-2.0-only
 config NFC_S3FWRN5
        tristate
-       select CRYPTO
-       select CRYPTO_HASH
+       select CRYPTO_LIB_SHA1
        help
          Core driver for Samsung S3FWRN5 NFC chip. Contains core utilities
          of chip. It's intended to be used by PHYs to avoid duplicating lots
          of common code.
 
diff --git a/drivers/nfc/s3fwrn5/firmware.c b/drivers/nfc/s3fwrn5/firmware.c
index 781cdbcac104c..64d61b2a715ae 100644
--- a/drivers/nfc/s3fwrn5/firmware.c
+++ b/drivers/nfc/s3fwrn5/firmware.c
@@ -6,11 +6,10 @@
  * Robert Baldyga <r.bald...@samsung.com>
  */
 
 #include <linux/completion.h>
 #include <linux/firmware.h>
-#include <crypto/hash.h>
 #include <crypto/sha1.h>
 
 #include "s3fwrn5.h"
 #include "firmware.h"
 
@@ -409,31 +408,17 @@ bool s3fwrn5_fw_check_version(const struct 
s3fwrn5_fw_info *fw_info, u32 version
 int s3fwrn5_fw_download(struct s3fwrn5_fw_info *fw_info)
 {
        struct device *dev = &fw_info->ndev->nfc_dev->dev;
        struct s3fwrn5_fw_image *fw = &fw_info->fw;
        u8 hash_data[SHA1_DIGEST_SIZE];
-       struct crypto_shash *tfm;
        u32 image_size, off;
        int ret;
 
        image_size = fw_info->sector_size * fw->image_sectors;
 
        /* Compute SHA of firmware data */
-
-       tfm = crypto_alloc_shash("sha1", 0, 0);
-       if (IS_ERR(tfm)) {
-               dev_err(dev, "Cannot allocate shash (code=%pe)\n", tfm);
-               return PTR_ERR(tfm);
-       }
-
-       ret = crypto_shash_tfm_digest(tfm, fw->image, image_size, hash_data);
-
-       crypto_free_shash(tfm);
-       if (ret) {
-               dev_err(dev, "Cannot compute hash (code=%d)\n", ret);
-               return ret;
-       }
+       sha1(fw->image, image_size, hash_data);
 
        /* Firmware update process */
 
        dev_info(dev, "Firmware update: %s\n", fw_info->fw_name);
 
-- 
2.50.1


Reply via email to