Greg, all, Attached is a series I've sat on for the past month and a half.
I'm hoping that by posting it in it's incomplete state, it will either a) motivate me to finish hooking into the crypto API, or b) motivate someone else to pitch in. ;-) >From patch 3, all commits build successfully. In addition, using the script I added in patch 1, I can confirm that no object code was harmed in this process. I'm under no time crunch with this, and I add to it as I find time. If Greg wants to take it for v3.15, great. Otherwise is fine as well. It's been a while since I watched the inner workings of the staging tree, so I'm not familiar with how strict it is recently. Barring a few false-positives, this series makes the code checkpatch-clean, but it is not ready for mainline as yet. In particular, I really don't like the adhoc macro definitions, nor the camelCase. The plan is to get skein and threefish registered into the crypto API, build as modules, and then move it to crypto/. To facilitate tinkering with this, One can pull from the following: git://git.infradead.org/users/jcooper/linux.git tags/staging-skein-3.14-rc1 This is based on v3.14-rc1, and is prone to rebasing based on comments. thx, Jason. Jason Cooper (22): scripts: objdiff: detect object code changes between two commits staging: crypto: skein: import code from Skein3Fish.git staging: crypto: skein: allow building statically staging: crypto: skein: remove brg_*.h includes staging: crypto: skein: remove skein_port.h staging: crypto: skein: remove __cplusplus and an unneeded stddef.h staging: crypto: skein: remove unneeded typedefs staging: crypto: skein: remove all typedef {struct,enum} staging: crypto: skein: use u8, u64 vice uint*_t staging: crypto: skein: fixup pointer whitespace staging: crypto: skein: cleanup whitespace around operators/punc. staging: crypto: skein: dos2unix, remove executable perms staging: crypto: skein: fix leading whitespace staging: crypto: skein: remove trailing whitespace staging: crypto: skein: cleanup >80 character lines staging: crypto: skein: fix do/while brace formatting staging: crypto: skein: fix brace placement errors staging: crypto: skein: wrap multi-line macros in do-while loops staging: crypto: skein: remove externs from .c files staging: crypto: skein: remove braces from single-statement block staging: crypto: skein: remove unnecessary line continuation staging: crypto: skein: add TODO file drivers/staging/Kconfig | 2 + drivers/staging/Makefile | 1 + drivers/staging/skein/Kconfig | 32 + drivers/staging/skein/Makefile | 13 + drivers/staging/skein/TODO | 11 + drivers/staging/skein/include/skein.h | 344 ++ drivers/staging/skein/include/skeinApi.h | 230 ++ drivers/staging/skein/include/skein_block.h | 22 + drivers/staging/skein/include/skein_iv.h | 186 + drivers/staging/skein/include/threefishApi.h | 164 + drivers/staging/skein/skein.c | 880 +++++ drivers/staging/skein/skeinApi.c | 237 ++ drivers/staging/skein/skeinBlockNo3F.c | 175 + drivers/staging/skein/skein_block.c | 770 ++++ drivers/staging/skein/threefish1024Block.c | 4900 ++++++++++++++++++++++++++ drivers/staging/skein/threefish256Block.c | 1137 ++++++ drivers/staging/skein/threefish512Block.c | 2223 ++++++++++++ drivers/staging/skein/threefishApi.c | 79 + scripts/objdiff | 126 + 19 files changed, 11532 insertions(+) create mode 100644 drivers/staging/skein/Kconfig create mode 100644 drivers/staging/skein/Makefile create mode 100644 drivers/staging/skein/TODO create mode 100644 drivers/staging/skein/include/skein.h create mode 100644 drivers/staging/skein/include/skeinApi.h create mode 100644 drivers/staging/skein/include/skein_block.h create mode 100644 drivers/staging/skein/include/skein_iv.h create mode 100644 drivers/staging/skein/include/threefishApi.h create mode 100644 drivers/staging/skein/skein.c create mode 100644 drivers/staging/skein/skeinApi.c create mode 100644 drivers/staging/skein/skeinBlockNo3F.c create mode 100644 drivers/staging/skein/skein_block.c create mode 100644 drivers/staging/skein/threefish1024Block.c create mode 100644 drivers/staging/skein/threefish256Block.c create mode 100644 drivers/staging/skein/threefish512Block.c create mode 100644 drivers/staging/skein/threefishApi.c create mode 100755 scripts/objdiff -- 1.9.0 -- To unsubscribe from this list: send the line "unsubscribe linux-crypto" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html