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. ChangeLog v2->v3: - Rebase on v6.0-rc1 - Use accelerated noinc regmap MMIO ChangeLog v1->v2: - Iron out some minor runtime bugs. - Fix a regmap initialization error. - Fix up to use runtime PM and drop custom power states. Linus Walleij (16): 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: Drop regulator handling crypto: ux500/hash: Convert to regmap MMIO crypto: ux500/hash: Use AMBA core primecell IDs crypto: ux500/hash: Implement runtime PM crypto: ux500/hash: Use accelerated noinc MMIO drivers/crypto/ux500/Kconfig | 1 + drivers/crypto/ux500/hash/hash_alg.h | 262 ++---- drivers/crypto/ux500/hash/hash_core.c | 1152 ++++++++++--------------- 3 files changed, 533 insertions(+), 882 deletions(-) -- 2.37.2