]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
nfc: s3fwrn5: Use SHA-1 library instead of crypto_shash
authorEric Biggers <ebiggers@kernel.org>
Fri, 15 Aug 2025 02:23:29 +0000 (19:23 -0700)
committerJakub Kicinski <kuba@kernel.org>
Tue, 19 Aug 2025 00:29:08 +0000 (17:29 -0700)
Now that a SHA-1 library API is available, use it instead of
crypto_shash.  This is simpler and faster.

Signed-off-by: Eric Biggers <ebiggers@kernel.org>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://patch.msgid.link/20250815022329.28672-1-ebiggers@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/nfc/s3fwrn5/Kconfig
drivers/nfc/s3fwrn5/firmware.c

index 8a6b1a79de25354409204c9b88bf2db5bd30e50f..96386b73fa2b66b3d98f18f7e9ac5e925398d8cc 100644 (file)
@@ -1,8 +1,7 @@
 # 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
index 781cdbcac104c01f0126aba1df51aae647229129..64d61b2a715aecb053985cd5de676a259c00f945 100644 (file)
@@ -8,7 +8,6 @@
 
 #include <linux/completion.h>
 #include <linux/firmware.h>
-#include <crypto/hash.h>
 #include <crypto/sha1.h>
 
 #include "s3fwrn5.h"
@@ -411,27 +410,13 @@ 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 */