linux/drivers/crypto
Uwe Kleine-König 88b01c8abf crypto: stm32/cryp - Convert to platform remove callback returning void
The .remove() callback for a platform driver returns an int which makes
many driver authors wrongly assume it's possible to do error handling by
returning an error code. However the value returned is (mostly) ignored
and this typically results in resource leaks. To improve here there is a
quest to make the remove callback return void. In the first step of this
quest all drivers are converted to .remove_new() which already returns
void.

The driver adapted here suffered from this wrong assumption and had
several error paths resulting in resource leaks.

The check for cryp being non-NULL is harmless. This can never happen as
.remove() is only called after .probe() completed successfully and in
that case drvdata was set to a non-NULL value. So this check can just be
dropped.

If pm_runtime_get() fails, the other resources held by the device must
still be freed. Only clk_disable_unprepare() should be skipped as the
pm_runtime_get() failed to call clk_prepare_enable().

After these changes the remove function returns zero unconditionally and
can trivially be converted to the prototype required for .remove_new().

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2023-10-27 18:04:27 +08:00
..
allwinner crypto: sun8i-ss - Convert to platform remove callback returning void 2023-10-27 18:04:25 +08:00
amcc crypto: amcc/crypto4xx - Convert to platform remove callback returning void 2023-10-27 18:04:25 +08:00
amlogic crypto: amlogic-gxl-core - Convert to platform remove callback returning void 2023-10-27 18:04:25 +08:00
aspeed crypto: aspeed-hace - Convert to platform remove callback returning void 2023-10-27 18:04:25 +08:00
axis crypto: axis/artpec6 - Convert to platform remove callback returning void 2023-10-27 18:04:25 +08:00
bcm crypto: bcm/cipher - Convert to platform remove callback returning void 2023-10-27 18:04:25 +08:00
caam crypto: caam/jr - Convert to platform remove callback returning void 2023-10-27 18:04:25 +08:00
cavium crypto: cavium/nitrox - refactor deprecated strncpy 2023-09-20 13:15:29 +08:00
ccp crypto: ccp/sp - Convert to platform remove callback returning void 2023-10-27 18:04:26 +08:00
ccree crypto: ccree/cc - Convert to platform remove callback returning void 2023-10-27 18:04:26 +08:00
chelsio crypto: chelsio - Remove unused declarations 2023-08-25 18:46:55 +08:00
gemini crypto: gemini/sl3516-ce - Convert to platform remove callback returning void 2023-10-27 18:04:26 +08:00
hisilicon crypto: hisilicon/trng - Convert to platform remove callback returning void 2023-10-27 18:04:26 +08:00
inside-secure crypto: inside-secure/safexcel - Convert to platform remove callback returning void 2023-10-27 18:04:26 +08:00
intel crypto: intel/keembay-ocs-hcu - Convert to platform remove callback returning void 2023-10-27 18:04:26 +08:00
marvell crypto: marvell/cesa - Convert to platform remove callback returning void 2023-10-27 18:04:26 +08:00
nx crypto: nx - fix build warnings when DEBUG_FS is not enabled 2023-05-24 18:12:33 +08:00
qce crypto: qce - Convert to platform remove callback returning void 2023-10-27 18:04:26 +08:00
rockchip crypto: rockchip/rk3288 - Convert to platform remove callback returning void 2023-10-27 18:04:26 +08:00
starfive crypto: drivers - Explicitly include correct DT includes 2023-08-23 11:04:23 +08:00
stm32 crypto: stm32/cryp - Convert to platform remove callback returning void 2023-10-27 18:04:27 +08:00
virtio crypto: virtio - handle config changed by work queue 2023-10-20 13:35:55 +08:00
vmx crypto: vmx - Improved AES/XTS performance of 6-way unrolling for ppc 2023-09-15 18:29:45 +08:00
xilinx crypto: xilinx/zynqmp-sha - remove unnecessary alignmask 2023-10-27 18:04:24 +08:00
atmel-aes-regs.h
atmel-aes.c crypto: atmel-aes - Convert to platform remove callback returning void 2023-10-27 18:04:25 +08:00
atmel-authenc.h crypto: sha - split sha.h into sha1.h and sha2.h 2020-11-20 14:45:33 +11:00
atmel-ecc.c crypto: drivers - Explicitly include correct DT includes 2023-08-23 11:04:23 +08:00
atmel-i2c.c This update includes the following changes: 2023-02-21 18:10:50 -08:00
atmel-i2c.h This update includes the following changes: 2023-02-21 18:10:50 -08:00
atmel-sha204a.c crypto: atmel - Switch i2c drivers back to use .probe() 2023-06-02 18:21:32 +08:00
atmel-sha-regs.h
atmel-sha.c crypto: atmel-sha - Convert to platform remove callback returning void 2023-10-27 18:04:25 +08:00
atmel-tdes-regs.h
atmel-tdes.c crypto: atmel-tdes - Convert to platform remove callback returning void 2023-10-27 18:04:25 +08:00
exynos-rng.c crypto: exynos-rng - Convert to platform remove callback returning void 2023-10-27 18:04:26 +08:00
geode-aes.c crypto: geode - use DEFINE_SPINLOCK() for spinlock 2021-04-16 21:16:31 +10:00
geode-aes.h
hifn_795x.c crypto: hifn_795x - Silence gcc format-truncation false positive warnings 2023-10-20 13:39:26 +08:00
img-hash.c crypto: img-hash - Convert to platform remove callback returning void 2023-10-27 18:04:26 +08:00
Kconfig crypto: qcom-rng - Add missing dependency on hw_random 2023-10-20 13:39:26 +08:00
Makefile crypto: starfive - Add crypto engine support 2023-05-19 16:46:22 +08:00
mxs-dcp.c crypto: mxs-dcp - Convert to platform remove callback returning void 2023-10-27 18:04:26 +08:00
n2_asm.S
n2_core.c crypto: n2_core - Convert to platform remove callback returning void 2023-10-27 18:04:26 +08:00
n2_core.h
omap-aes-gcm.c crypto: omap - Use new crypto_engine_op interface 2023-08-18 17:01:11 +08:00
omap-aes.c crypto: omap-aes - Convert to platform remove callback returning void 2023-10-27 18:04:26 +08:00
omap-aes.h crypto: omap - Use new crypto_engine_op interface 2023-08-18 17:01:11 +08:00
omap-crypto.c crypto: omap - Avoid redundant copy when using truncated sg list 2021-08-21 15:44:53 +08:00
omap-crypto.h
omap-des.c crypto: omap-des - Convert to platform remove callback returning void 2023-10-27 18:04:26 +08:00
omap-sham.c crypto: omap-sham - Convert to platform remove callback returning void 2023-10-27 18:04:26 +08:00
padlock-aes.c crypto: algapi - Remove skbuff.h inclusion 2020-08-20 14:04:28 +10:00
padlock-sha.c crypto: sha - split sha.h into sha1.h and sha2.h 2020-11-20 14:45:33 +11:00
qcom-rng.c crypto: qcom-rng - Convert to platform remove callback returning void 2023-10-27 18:04:26 +08:00
s5p-sss.c crypto: s5p-sss - Convert to platform remove callback returning void 2023-10-27 18:04:27 +08:00
sa2ul.c crypto: sa2ul - Convert to platform remove callback returning void 2023-10-27 18:04:27 +08:00
sa2ul.h crypto: sa2ul - change unsafe data size limit to 255 bytes 2023-05-19 16:45:43 +08:00
sahara.c crypto: sahara - Convert to platform remove callback returning void 2023-10-27 18:04:27 +08:00
talitos.c crypto: drivers - Explicitly include correct DT includes 2023-08-23 11:04:23 +08:00
talitos.h crypto: talitos - Replace zero-length arrays with DECLARE_FLEX_ARRAY() helper 2022-10-21 19:05:24 +08:00