Experimenting by taking some small portions of the Ux500 CRYP driver and adding to the STM32 driver, it turns out we can support both platforms with the more modern STM32 driver. ChanegLog v2->v3: - Fix a kerneldoc warning. - Collect ACKs. ChangeLog v1->v2: - Minor changes to the base patches, see per-patch ChangeLog. Upsides: - We delete ~2400 lines of code and 8 files with intact crypto support for Ux500 and not properly maintained and supported. - The STM32 driver is more modern and compact thanks to using things like the crypto engine. Caveats: - The STM32 driver does not support DMA. On the U8500 this only works with AES (DES support is broken with DMA). If this is desired to be kept I can migrate it to the STM32 driver as well. I have looked at doing the same for the Ux500 hash, which is related but I am reluctant about this one, because the Ux500 hardware has no interrupt and only supports polling. I have a series of modernizations for that driver that I have worked on and will think about how to move forward. Linus Walleij (4): dt-bindings: crypto: Let STM32 define Ux500 CRYP crypto: stm32 - enable drivers to be used on Ux500 crypto: stm32/cryp - enable for use with Ux500 crypto: ux500/cryp - delete driver .../bindings/crypto/st,stm32-cryp.yaml | 19 + drivers/crypto/Makefile | 2 +- drivers/crypto/stm32/Kconfig | 4 +- drivers/crypto/stm32/stm32-cryp.c | 413 ++++- drivers/crypto/ux500/Kconfig | 10 - drivers/crypto/ux500/Makefile | 1 - drivers/crypto/ux500/cryp/Makefile | 10 - drivers/crypto/ux500/cryp/cryp.c | 394 ---- drivers/crypto/ux500/cryp/cryp.h | 315 ---- drivers/crypto/ux500/cryp/cryp_core.c | 1600 ----------------- drivers/crypto/ux500/cryp/cryp_irq.c | 45 - drivers/crypto/ux500/cryp/cryp_irq.h | 31 - drivers/crypto/ux500/cryp/cryp_irqp.h | 125 -- drivers/crypto/ux500/cryp/cryp_p.h | 122 -- 14 files changed, 344 insertions(+), 2747 deletions(-) delete mode 100644 drivers/crypto/ux500/cryp/Makefile delete mode 100644 drivers/crypto/ux500/cryp/cryp.c delete mode 100644 drivers/crypto/ux500/cryp/cryp.h delete mode 100644 drivers/crypto/ux500/cryp/cryp_core.c delete mode 100644 drivers/crypto/ux500/cryp/cryp_irq.c delete mode 100644 drivers/crypto/ux500/cryp/cryp_irq.h delete mode 100644 drivers/crypto/ux500/cryp/cryp_irqp.h delete mode 100644 drivers/crypto/ux500/cryp/cryp_p.h -- 2.38.1