crypto: img-hash - Fix sparse endianness warning
authorHerbert Xu <herbert@gondor.apana.org.au>
Tue, 24 Jan 2023 08:28:39 +0000 (16:28 +0800)
committerHerbert Xu <herbert@gondor.apana.org.au>
Fri, 3 Feb 2023 04:54:54 +0000 (12:54 +0800)
Use cpu_to_be32 instead of be32_to_cpu in img_hash_read_result_queue
to silence sparse.  The generated code should be identical.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
drivers/crypto/img-hash.c

index 9629e98..e5ed098 100644 (file)
@@ -157,9 +157,9 @@ static inline void img_hash_write(struct img_hash_dev *hdev,
        writel_relaxed(value, hdev->io_base + offset);
 }
 
-static inline u32 img_hash_read_result_queue(struct img_hash_dev *hdev)
+static inline __be32 img_hash_read_result_queue(struct img_hash_dev *hdev)
 {
-       return be32_to_cpu(img_hash_read(hdev, CR_RESULT_QUEUE));
+       return cpu_to_be32(img_hash_read(hdev, CR_RESULT_QUEUE));
 }
 
 static void img_hash_start(struct img_hash_dev *hdev, bool dma)
@@ -283,10 +283,10 @@ static int img_hash_finish(struct ahash_request *req)
 static void img_hash_copy_hash(struct ahash_request *req)
 {
        struct img_hash_request_ctx *ctx = ahash_request_ctx(req);
-       u32 *hash = (u32 *)ctx->digest;
+       __be32 *hash = (__be32 *)ctx->digest;
        int i;
 
-       for (i = (ctx->digsize / sizeof(u32)) - 1; i >= 0; i--)
+       for (i = (ctx->digsize / sizeof(*hash)) - 1; i >= 0; i--)
                hash[i] = img_hash_read_result_queue(ctx->hdev);
 }