This cleans up the Ux500 hash accelerator. This has been very sparingly maintained the last few years, but as it happens an active user appeared and sent me a bug report, so here is a series cleaning up the driver so we can maintain it going forward. Most patches are modernizations, using new frameworks and helpers. The expensive self tests are passing fine after this series. I think it is a bit too big to backport to stable :/ But please put it in as non-urgent fix. If this goes well the plan is to do the same for the crypto driver which has all the same problems. Linus Walleij (15): crypto: ux500/hash: Pass ctx to hash_setconfiguration() crypto: ux500/hash: Get rid of custom device list crypto: ux500/hash: Pass context to zero message digest crypto: ux500/hash: Drop custom state save/restore crypto: ux500/hash: Drop bit index crypto: ux500/hash: Break while/do instead of if/else crypto: ux500/hash: Rename and switch type of member crypto: ux500/hash: Stop saving/restoring compulsively crypto: ux500/hash: Get rid of state from request context crypto: ux500/hash: Implement .export and .import crypto: ux500/hash: Drop custom uint64 type crypto: ux500/hash: Convert to regmap MMIO crypto: ux500/hash: Use AMBA core primecell IDs crypto: ux500/hash: Implement runtime PM crypto: ux500/hash: Drop regulator handling drivers/crypto/ux500/Kconfig | 1 + drivers/crypto/ux500/hash/hash_alg.h | 260 ++----- drivers/crypto/ux500/hash/hash_core.c | 1028 ++++++++++--------------- 3 files changed, 479 insertions(+), 810 deletions(-) -- 2.36.1