crypto: caam - Cast to long first before pointer conversion
diff mbox series

Message ID 20190909074636.GA21024@gondor.apana.org.au
State Superseded
Headers show
Series
  • crypto: caam - Cast to long first before pointer conversion
Related show

Commit Message

Herbert Xu Sept. 9, 2019, 7:46 a.m. UTC
On Tue, Sep 03, 2019 at 07:35:07PM -0700, Andrey Smirnov wrote:
> With IRQ requesting being managed by devres we need to make sure that
> we dispose of IRQ mapping after and not before it is free'd (otherwise
> we'll end up with a warning from the kernel). To achieve that simply
> convert IRQ mapping to rely on devres as well.
> 
> Fixes: f314f12db65c ("crypto: caam - convert caam_jr_init() to use devres")
> Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
> Cc: Chris Healy <cphealy@gmail.com>
> Cc: Lucas Stach <l.stach@pengutronix.de>
> Cc: Horia Geantă <horia.geanta@nxp.com>
> Cc: Herbert Xu <herbert@gondor.apana.org.au>
> Cc: Iuliana Prodan <iuliana.prodan@nxp.com>
> Cc: linux-crypto@vger.kernel.org
> Cc: linux-kernel@vger.kernel.org
> ---
>  drivers/crypto/caam/jr.c | 14 ++++++++++----
>  1 file changed, 10 insertions(+), 4 deletions(-)

I needed to apply this on top of it to shut up the compiler:

---8<---
While storing an int in a pointer is safe the compiler is not
happy about it.  So we need some extra casting in order to make
this warning free.

Fixes: 1d3f75bce123 ("crypto: caam - dispose of IRQ mapping only...")
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>

Comments

Horia Geantă Sept. 9, 2019, 11:06 a.m. UTC | #1
On 9/9/2019 10:46 AM, Herbert Xu wrote:
> On Tue, Sep 03, 2019 at 07:35:07PM -0700, Andrey Smirnov wrote:
>> With IRQ requesting being managed by devres we need to make sure that
>> we dispose of IRQ mapping after and not before it is free'd (otherwise
>> we'll end up with a warning from the kernel). To achieve that simply
>> convert IRQ mapping to rely on devres as well.
>>
>> Fixes: f314f12db65c ("crypto: caam - convert caam_jr_init() to use devres")
>> Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
>> Cc: Chris Healy <cphealy@gmail.com>
>> Cc: Lucas Stach <l.stach@pengutronix.de>
>> Cc: Horia Geantă <horia.geanta@nxp.com>
>> Cc: Herbert Xu <herbert@gondor.apana.org.au>
>> Cc: Iuliana Prodan <iuliana.prodan@nxp.com>
>> Cc: linux-crypto@vger.kernel.org
>> Cc: linux-kernel@vger.kernel.org
>> ---
>>  drivers/crypto/caam/jr.c | 14 ++++++++++----
>>  1 file changed, 10 insertions(+), 4 deletions(-)
> 
> I needed to apply this on top of it to shut up the compiler:
> 
> ---8<---
> While storing an int in a pointer is safe the compiler is not
> happy about it.  So we need some extra casting in order to make
> this warning free.
> 
> Fixes: 1d3f75bce123 ("crypto: caam - dispose of IRQ mapping only...")
> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
> 
Thanks Herbert.

Indeed, this is needed for silencing compilation on ARM64
(while compiling for ARM works fine).

Reviewed-by: Horia Geantă <horia.geanta@nxp.com>
for the squashed patches.

Horia

Patch
diff mbox series

diff --git a/drivers/crypto/caam/jr.c b/drivers/crypto/caam/jr.c
index 8a30bbd7f2aa..c5acd9e24e14 100644
--- a/drivers/crypto/caam/jr.c
+++ b/drivers/crypto/caam/jr.c
@@ -500,7 +500,7 @@  static int caam_jr_init(struct device *dev)
 
 static void caam_jr_irq_dispose_mapping(void *data)
 {
-	irq_dispose_mapping((int)data);
+	irq_dispose_mapping((unsigned long)data);
 }
 
 /*
@@ -558,7 +558,7 @@  static int caam_jr_probe(struct platform_device *pdev)
 	}
 
 	error = devm_add_action_or_reset(jrdev, caam_jr_irq_dispose_mapping,
-					 (void *)jrpriv->irq);
+					 (void *)(unsigned long)jrpriv->irq);
 	if (error)
 		return error;