Everyone: This series is a different approach to addressing the issues brought up in [discussion]. This time the proposition is to get away from creating per-JR platfrom device, move all of the underlying code into caam.ko and disable manual binding/unbinding of the CAAM device via sysfs. Note that this series is a rough cut intented to gauge if this approach could be acceptable for upstreaming. Thanks, Andrey Smirnov [discussion] lore.kernel.org/lkml/20190904023515.7107-13-andrew.smirnov@xxxxxxxxx Andrey Smirnov (5): crypto: caam - use static initialization crypto: caam - introduce caam_jr_cbk crypto: caam - convert JR API to use struct caam_drv_private_jr crypto: caam - do not create a platform devices for JRs crypto: caam - disable CAAM's bind/unbind attributes drivers/crypto/caam/Kconfig | 5 +- drivers/crypto/caam/Makefile | 15 +-- drivers/crypto/caam/caamalg.c | 114 ++++++++++---------- drivers/crypto/caam/caamalg_qi.c | 12 +-- drivers/crypto/caam/caamhash.c | 117 +++++++++++---------- drivers/crypto/caam/caampkc.c | 67 ++++++------ drivers/crypto/caam/caampkc.h | 2 +- drivers/crypto/caam/caamrng.c | 41 ++++---- drivers/crypto/caam/ctrl.c | 16 ++- drivers/crypto/caam/intern.h | 3 +- drivers/crypto/caam/jr.c | 173 ++++++++----------------------- drivers/crypto/caam/jr.h | 14 ++- drivers/crypto/caam/key_gen.c | 11 +- drivers/crypto/caam/key_gen.h | 5 +- 14 files changed, 275 insertions(+), 320 deletions(-) -- 2.21.0