aboutsummaryrefslogtreecommitdiffstats
path: root/crypto
diff options
context:
space:
mode:
authorJussi Kivilinna <jussi.kivilinna@mbnet.fi>2012-07-11 07:19:55 -0400
committerHerbert Xu <herbert@gondor.apana.org.au>2012-08-01 05:47:24 -0400
commit738206d325a936d048bb66b5e0c70e3b1a8692be (patch)
treeb40306002fa1c3dcadcbf4776527876c4849c67d /crypto
parent2d534926205db9ffce4bbbde67cb9b2cee4b835c (diff)
crypto: tea - use crypto_[un]register_algs
Combine all crypto_alg to be registered and use new crypto_[un]register_algs functions. This simplifies init/exit code. Signed-off-by: Jussi Kivilinna <jussi.kivilinna@mbnet.fi> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'crypto')
-rw-r--r--crypto/tea.c41
1 files changed, 6 insertions, 35 deletions
diff --git a/crypto/tea.c b/crypto/tea.c
index 412bc74f817..0a572323ee4 100644
--- a/crypto/tea.c
+++ b/crypto/tea.c
@@ -219,84 +219,55 @@ static void xeta_decrypt(struct crypto_tfm *tfm, u8 *dst, const u8 *src)
219 out[1] = cpu_to_le32(z); 219 out[1] = cpu_to_le32(z);
220} 220}
221 221
222static struct crypto_alg tea_alg = { 222static struct crypto_alg tea_algs[3] = { {
223 .cra_name = "tea", 223 .cra_name = "tea",
224 .cra_flags = CRYPTO_ALG_TYPE_CIPHER, 224 .cra_flags = CRYPTO_ALG_TYPE_CIPHER,
225 .cra_blocksize = TEA_BLOCK_SIZE, 225 .cra_blocksize = TEA_BLOCK_SIZE,
226 .cra_ctxsize = sizeof (struct tea_ctx), 226 .cra_ctxsize = sizeof (struct tea_ctx),
227 .cra_alignmask = 3, 227 .cra_alignmask = 3,
228 .cra_module = THIS_MODULE, 228 .cra_module = THIS_MODULE,
229 .cra_list = LIST_HEAD_INIT(tea_alg.cra_list),
230 .cra_u = { .cipher = { 229 .cra_u = { .cipher = {
231 .cia_min_keysize = TEA_KEY_SIZE, 230 .cia_min_keysize = TEA_KEY_SIZE,
232 .cia_max_keysize = TEA_KEY_SIZE, 231 .cia_max_keysize = TEA_KEY_SIZE,
233 .cia_setkey = tea_setkey, 232 .cia_setkey = tea_setkey,
234 .cia_encrypt = tea_encrypt, 233 .cia_encrypt = tea_encrypt,
235 .cia_decrypt = tea_decrypt } } 234 .cia_decrypt = tea_decrypt } }
236}; 235}, {
237
238static struct crypto_alg xtea_alg = {
239 .cra_name = "xtea", 236 .cra_name = "xtea",
240 .cra_flags = CRYPTO_ALG_TYPE_CIPHER, 237 .cra_flags = CRYPTO_ALG_TYPE_CIPHER,
241 .cra_blocksize = XTEA_BLOCK_SIZE, 238 .cra_blocksize = XTEA_BLOCK_SIZE,
242 .cra_ctxsize = sizeof (struct xtea_ctx), 239 .cra_ctxsize = sizeof (struct xtea_ctx),
243 .cra_alignmask = 3, 240 .cra_alignmask = 3,
244 .cra_module = THIS_MODULE, 241 .cra_module = THIS_MODULE,
245 .cra_list = LIST_HEAD_INIT(xtea_alg.cra_list),
246 .cra_u = { .cipher = { 242 .cra_u = { .cipher = {
247 .cia_min_keysize = XTEA_KEY_SIZE, 243 .cia_min_keysize = XTEA_KEY_SIZE,
248 .cia_max_keysize = XTEA_KEY_SIZE, 244 .cia_max_keysize = XTEA_KEY_SIZE,
249 .cia_setkey = xtea_setkey, 245 .cia_setkey = xtea_setkey,
250 .cia_encrypt = xtea_encrypt, 246 .cia_encrypt = xtea_encrypt,
251 .cia_decrypt = xtea_decrypt } } 247 .cia_decrypt = xtea_decrypt } }
252}; 248}, {
253
254static struct crypto_alg xeta_alg = {
255 .cra_name = "xeta", 249 .cra_name = "xeta",
256 .cra_flags = CRYPTO_ALG_TYPE_CIPHER, 250 .cra_flags = CRYPTO_ALG_TYPE_CIPHER,
257 .cra_blocksize = XTEA_BLOCK_SIZE, 251 .cra_blocksize = XTEA_BLOCK_SIZE,
258 .cra_ctxsize = sizeof (struct xtea_ctx), 252 .cra_ctxsize = sizeof (struct xtea_ctx),
259 .cra_alignmask = 3, 253 .cra_alignmask = 3,
260 .cra_module = THIS_MODULE, 254 .cra_module = THIS_MODULE,
261 .cra_list = LIST_HEAD_INIT(xtea_alg.cra_list),
262 .cra_u = { .cipher = { 255 .cra_u = { .cipher = {
263 .cia_min_keysize = XTEA_KEY_SIZE, 256 .cia_min_keysize = XTEA_KEY_SIZE,
264 .cia_max_keysize = XTEA_KEY_SIZE, 257 .cia_max_keysize = XTEA_KEY_SIZE,
265 .cia_setkey = xtea_setkey, 258 .cia_setkey = xtea_setkey,
266 .cia_encrypt = xeta_encrypt, 259 .cia_encrypt = xeta_encrypt,
267 .cia_decrypt = xeta_decrypt } } 260 .cia_decrypt = xeta_decrypt } }
268}; 261} };
269 262
270static int __init tea_mod_init(void) 263static int __init tea_mod_init(void)
271{ 264{
272 int ret = 0; 265 return crypto_register_algs(tea_algs, ARRAY_SIZE(tea_algs));
273
274 ret = crypto_register_alg(&tea_alg);
275 if (ret < 0)
276 goto out;
277
278 ret = crypto_register_alg(&xtea_alg);
279 if (ret < 0) {
280 crypto_unregister_alg(&tea_alg);
281 goto out;
282 }
283
284 ret = crypto_register_alg(&xeta_alg);
285 if (ret < 0) {
286 crypto_unregister_alg(&tea_alg);
287 crypto_unregister_alg(&xtea_alg);
288 goto out;
289 }
290
291out:
292 return ret;
293} 266}
294 267
295static void __exit tea_mod_fini(void) 268static void __exit tea_mod_fini(void)
296{ 269{
297 crypto_unregister_alg(&tea_alg); 270 crypto_unregister_algs(tea_algs, ARRAY_SIZE(tea_algs));
298 crypto_unregister_alg(&xtea_alg);
299 crypto_unregister_alg(&xeta_alg);
300} 271}
301 272
302MODULE_ALIAS("xtea"); 273MODULE_ALIAS("xtea");