Message ID | 20190909074636.GA21024@gondor.apana.org.au (mailing list archive) |
---|---|
State | Superseded |
Delegated to: | Herbert Xu |
Headers | show |
Series | crypto: caam - Cast to long first before pointer conversion | expand |
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
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;