diff options
| -rw-r--r-- | drivers/crypto/talitos.c | 39 |
1 files changed, 21 insertions, 18 deletions
diff --git a/drivers/crypto/talitos.c b/drivers/crypto/talitos.c index dc558a097311..ce38b05c8def 100644 --- a/drivers/crypto/talitos.c +++ b/drivers/crypto/talitos.c | |||
| @@ -1479,14 +1479,17 @@ static int ablkcipher_decrypt(struct ablkcipher_request *areq) | |||
| 1479 | } | 1479 | } |
| 1480 | 1480 | ||
| 1481 | struct talitos_alg_template { | 1481 | struct talitos_alg_template { |
| 1482 | struct crypto_alg alg; | 1482 | u32 type; |
| 1483 | union { | ||
| 1484 | struct crypto_alg crypto; | ||
| 1485 | } alg; | ||
| 1483 | __be32 desc_hdr_template; | 1486 | __be32 desc_hdr_template; |
| 1484 | }; | 1487 | }; |
| 1485 | 1488 | ||
| 1486 | static struct talitos_alg_template driver_algs[] = { | 1489 | static struct talitos_alg_template driver_algs[] = { |
| 1487 | /* AEAD algorithms. These use a single-pass ipsec_esp descriptor */ | 1490 | /* AEAD algorithms. These use a single-pass ipsec_esp descriptor */ |
| 1488 | { | 1491 | { .type = CRYPTO_ALG_TYPE_AEAD, |
| 1489 | .alg = { | 1492 | .alg.crypto = { |
| 1490 | .cra_name = "authenc(hmac(sha1),cbc(aes))", | 1493 | .cra_name = "authenc(hmac(sha1),cbc(aes))", |
| 1491 | .cra_driver_name = "authenc-hmac-sha1-cbc-aes-talitos", | 1494 | .cra_driver_name = "authenc-hmac-sha1-cbc-aes-talitos", |
| 1492 | .cra_blocksize = AES_BLOCK_SIZE, | 1495 | .cra_blocksize = AES_BLOCK_SIZE, |
| @@ -1511,8 +1514,8 @@ static struct talitos_alg_template driver_algs[] = { | |||
| 1511 | DESC_HDR_MODE1_MDEU_PAD | | 1514 | DESC_HDR_MODE1_MDEU_PAD | |
| 1512 | DESC_HDR_MODE1_MDEU_SHA1_HMAC, | 1515 | DESC_HDR_MODE1_MDEU_SHA1_HMAC, |
| 1513 | }, | 1516 | }, |
| 1514 | { | 1517 | { .type = CRYPTO_ALG_TYPE_AEAD, |
| 1515 | .alg = { | 1518 | .alg.crypto = { |
| 1516 | .cra_name = "authenc(hmac(sha1),cbc(des3_ede))", | 1519 | .cra_name = "authenc(hmac(sha1),cbc(des3_ede))", |
| 1517 | .cra_driver_name = "authenc-hmac-sha1-cbc-3des-talitos", | 1520 | .cra_driver_name = "authenc-hmac-sha1-cbc-3des-talitos", |
| 1518 | .cra_blocksize = DES3_EDE_BLOCK_SIZE, | 1521 | .cra_blocksize = DES3_EDE_BLOCK_SIZE, |
| @@ -1538,8 +1541,8 @@ static struct talitos_alg_template driver_algs[] = { | |||
| 1538 | DESC_HDR_MODE1_MDEU_PAD | | 1541 | DESC_HDR_MODE1_MDEU_PAD | |
| 1539 | DESC_HDR_MODE1_MDEU_SHA1_HMAC, | 1542 | DESC_HDR_MODE1_MDEU_SHA1_HMAC, |
| 1540 | }, | 1543 | }, |
| 1541 | { | 1544 | { .type = CRYPTO_ALG_TYPE_AEAD, |
| 1542 | .alg = { | 1545 | .alg.crypto = { |
| 1543 | .cra_name = "authenc(hmac(sha256),cbc(aes))", | 1546 | .cra_name = "authenc(hmac(sha256),cbc(aes))", |
| 1544 | .cra_driver_name = "authenc-hmac-sha256-cbc-aes-talitos", | 1547 | .cra_driver_name = "authenc-hmac-sha256-cbc-aes-talitos", |
| 1545 | .cra_blocksize = AES_BLOCK_SIZE, | 1548 | .cra_blocksize = AES_BLOCK_SIZE, |
| @@ -1564,8 +1567,8 @@ static struct talitos_alg_template driver_algs[] = { | |||
| 1564 | DESC_HDR_MODE1_MDEU_PAD | | 1567 | DESC_HDR_MODE1_MDEU_PAD | |
| 1565 | DESC_HDR_MODE1_MDEU_SHA256_HMAC, | 1568 | DESC_HDR_MODE1_MDEU_SHA256_HMAC, |
| 1566 | }, | 1569 | }, |
| 1567 | { | 1570 | { .type = CRYPTO_ALG_TYPE_AEAD, |
| 1568 | .alg = { | 1571 | .alg.crypto = { |
| 1569 | .cra_name = "authenc(hmac(sha256),cbc(des3_ede))", | 1572 | .cra_name = "authenc(hmac(sha256),cbc(des3_ede))", |
| 1570 | .cra_driver_name = "authenc-hmac-sha256-cbc-3des-talitos", | 1573 | .cra_driver_name = "authenc-hmac-sha256-cbc-3des-talitos", |
| 1571 | .cra_blocksize = DES3_EDE_BLOCK_SIZE, | 1574 | .cra_blocksize = DES3_EDE_BLOCK_SIZE, |
| @@ -1591,8 +1594,8 @@ static struct talitos_alg_template driver_algs[] = { | |||
| 1591 | DESC_HDR_MODE1_MDEU_PAD | | 1594 | DESC_HDR_MODE1_MDEU_PAD | |
| 1592 | DESC_HDR_MODE1_MDEU_SHA256_HMAC, | 1595 | DESC_HDR_MODE1_MDEU_SHA256_HMAC, |
| 1593 | }, | 1596 | }, |
| 1594 | { | 1597 | { .type = CRYPTO_ALG_TYPE_AEAD, |
| 1595 | .alg = { | 1598 | .alg.crypto = { |
| 1596 | .cra_name = "authenc(hmac(md5),cbc(aes))", | 1599 | .cra_name = "authenc(hmac(md5),cbc(aes))", |
| 1597 | .cra_driver_name = "authenc-hmac-md5-cbc-aes-talitos", | 1600 | .cra_driver_name = "authenc-hmac-md5-cbc-aes-talitos", |
| 1598 | .cra_blocksize = AES_BLOCK_SIZE, | 1601 | .cra_blocksize = AES_BLOCK_SIZE, |
| @@ -1617,8 +1620,8 @@ static struct talitos_alg_template driver_algs[] = { | |||
| 1617 | DESC_HDR_MODE1_MDEU_PAD | | 1620 | DESC_HDR_MODE1_MDEU_PAD | |
| 1618 | DESC_HDR_MODE1_MDEU_MD5_HMAC, | 1621 | DESC_HDR_MODE1_MDEU_MD5_HMAC, |
| 1619 | }, | 1622 | }, |
| 1620 | { | 1623 | { .type = CRYPTO_ALG_TYPE_AEAD, |
| 1621 | .alg = { | 1624 | .alg.crypto = { |
| 1622 | .cra_name = "authenc(hmac(md5),cbc(des3_ede))", | 1625 | .cra_name = "authenc(hmac(md5),cbc(des3_ede))", |
| 1623 | .cra_driver_name = "authenc-hmac-md5-cbc-3des-talitos", | 1626 | .cra_driver_name = "authenc-hmac-md5-cbc-3des-talitos", |
| 1624 | .cra_blocksize = DES3_EDE_BLOCK_SIZE, | 1627 | .cra_blocksize = DES3_EDE_BLOCK_SIZE, |
| @@ -1645,8 +1648,8 @@ static struct talitos_alg_template driver_algs[] = { | |||
| 1645 | DESC_HDR_MODE1_MDEU_MD5_HMAC, | 1648 | DESC_HDR_MODE1_MDEU_MD5_HMAC, |
| 1646 | }, | 1649 | }, |
| 1647 | /* ABLKCIPHER algorithms. */ | 1650 | /* ABLKCIPHER algorithms. */ |
| 1648 | { | 1651 | { .type = CRYPTO_ALG_TYPE_ABLKCIPHER, |
| 1649 | .alg = { | 1652 | .alg.crypto = { |
| 1650 | .cra_name = "cbc(aes)", | 1653 | .cra_name = "cbc(aes)", |
| 1651 | .cra_driver_name = "cbc-aes-talitos", | 1654 | .cra_driver_name = "cbc-aes-talitos", |
| 1652 | .cra_blocksize = AES_BLOCK_SIZE, | 1655 | .cra_blocksize = AES_BLOCK_SIZE, |
| @@ -1667,8 +1670,8 @@ static struct talitos_alg_template driver_algs[] = { | |||
| 1667 | DESC_HDR_SEL0_AESU | | 1670 | DESC_HDR_SEL0_AESU | |
| 1668 | DESC_HDR_MODE0_AESU_CBC, | 1671 | DESC_HDR_MODE0_AESU_CBC, |
| 1669 | }, | 1672 | }, |
| 1670 | { | 1673 | { .type = CRYPTO_ALG_TYPE_ABLKCIPHER, |
| 1671 | .alg = { | 1674 | .alg.crypto = { |
| 1672 | .cra_name = "cbc(des3_ede)", | 1675 | .cra_name = "cbc(des3_ede)", |
| 1673 | .cra_driver_name = "cbc-3des-talitos", | 1676 | .cra_driver_name = "cbc-3des-talitos", |
| 1674 | .cra_blocksize = DES3_EDE_BLOCK_SIZE, | 1677 | .cra_blocksize = DES3_EDE_BLOCK_SIZE, |
| @@ -1789,7 +1792,7 @@ static struct talitos_crypto_alg *talitos_alg_alloc(struct device *dev, | |||
| 1789 | return ERR_PTR(-ENOMEM); | 1792 | return ERR_PTR(-ENOMEM); |
| 1790 | 1793 | ||
| 1791 | alg = &t_alg->crypto_alg; | 1794 | alg = &t_alg->crypto_alg; |
| 1792 | *alg = template->alg; | 1795 | *alg = template->alg.crypto; |
| 1793 | 1796 | ||
| 1794 | alg->cra_module = THIS_MODULE; | 1797 | alg->cra_module = THIS_MODULE; |
| 1795 | alg->cra_init = talitos_cra_init; | 1798 | alg->cra_init = talitos_cra_init; |
