diff mbox series

[PATCH-next] crypto: aspeed: fix type warnings

Message ID 20230202025600.2598548-1-neal_liu@aspeedtech.com (mailing list archive)
State New, archived
Headers show
Series [PATCH-next] crypto: aspeed: fix type warnings | expand

Commit Message

Neal Liu Feb. 2, 2023, 2:56 a.m. UTC
This patch fixes following warnings:

1. sparse: incorrect type in assignment (different base types)
Fix: change to __le32 type.
2. sparse: cast removes address space '__iomem' of expression
Fix: change to force cast.

Signed-off-by: Neal Liu <neal_liu@aspeedtech.com>
---
 drivers/crypto/aspeed/aspeed-acry.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Neal Liu Feb. 2, 2023, 3:23 a.m. UTC | #1
> -----Original Message-----
> From: Herbert Xu <herbert@gondor.apana.org.au>
> Sent: Thursday, February 2, 2023 11:10 AM
> To: Neal Liu <neal_liu@aspeedtech.com>
> Cc: Joel Stanley <joel@jms.id.au>; Andrew Jeffery <andrew@aj.id.au>; David
> S . Miller <davem@davemloft.net>; linux-arm-kernel@lists.infradead.org;
> linux-aspeed@lists.ozlabs.org; linux-kernel@vger.kernel.org;
> linux-crypto@vger.kernel.org
> Subject: Re: [PATCH-next] crypto: aspeed: fix type warnings
> 
> On Thu, Feb 02, 2023 at 10:56:00AM +0800, Neal Liu wrote:
> >
> > @@ -302,7 +302,7 @@ static int aspeed_acry_rsa_ctx_copy(struct
> > aspeed_acry_dev *acry_dev, void *buf,  static int
> > aspeed_acry_rsa_transfer(struct aspeed_acry_dev *acry_dev)  {
> >  	struct akcipher_request *req = acry_dev->req;
> > -	u8 *sram_buffer = (u8 *)acry_dev->acry_sram;
> > +	u8 *sram_buffer = (u8 __force *)acry_dev->acry_sram;
> 
> Wouldn't it be better to keep the iomem marker and then use readb on
> sram_buffer?
> 
This way works too.
I cannot tell which way is better. Do you prefer to keep the iomem marker?
Thanks

-Neal
Neal Liu Feb. 2, 2023, 3:29 a.m. UTC | #2
> >
> > I cannot tell which way is better. Do you prefer to keep the iomem marker?
> 
> The whole point of iomem is to prevent you from directly dereferencing that
> memory.  So casting it away to remove the warning simply defeats its
> purpose.
> 
> If you're worried about the overhead of readb perhaps you can look into
> readb_relaxed after considering the effects of the barriers.
> 
Thanks for the information. I'll send next patch as you suggested.

-Neal
diff mbox series

Patch

diff --git a/drivers/crypto/aspeed/aspeed-acry.c b/drivers/crypto/aspeed/aspeed-acry.c
index 164c524015f0..f8c733376469 100644
--- a/drivers/crypto/aspeed/aspeed-acry.c
+++ b/drivers/crypto/aspeed/aspeed-acry.c
@@ -252,7 +252,7 @@  static int aspeed_acry_rsa_ctx_copy(struct aspeed_acry_dev *acry_dev, void *buf,
 				    enum aspeed_rsa_key_mode mode)
 {
 	const u8 *src = xbuf;
-	u32 *dw_buf = (u32 *)buf;
+	__le32 *dw_buf = (__le32 *)buf;
 	int nbits, ndw;
 	int i, j, idx;
 	u32 data = 0;
@@ -302,7 +302,7 @@  static int aspeed_acry_rsa_ctx_copy(struct aspeed_acry_dev *acry_dev, void *buf,
 static int aspeed_acry_rsa_transfer(struct aspeed_acry_dev *acry_dev)
 {
 	struct akcipher_request *req = acry_dev->req;
-	u8 *sram_buffer = (u8 *)acry_dev->acry_sram;
+	u8 *sram_buffer = (u8 __force *)acry_dev->acry_sram;
 	struct scatterlist *out_sg = req->dst;
 	static u8 dram_buffer[ASPEED_ACRY_SRAM_MAX_LEN];
 	int leading_zero = 1;