diff --git a/drivers/crypto/Kconfig b/drivers/crypto/Kconfig index e80b58d20cedc42eab73c570b767e866f7f5b6d0..1758e426dfd0878bef031e992f8e5d2dcb2614aa 100644 --- a/drivers/crypto/Kconfig +++ b/drivers/crypto/Kconfig @@ -68,7 +68,7 @@ config CRYPTO_DEV_ZHAOXIN config CRYPTO_DEV_ZHAOXIN_AES tristate "Zhaoxin ACE driver for AES algorithm" depends on CRYPTO_DEV_ZHAOXIN - default CRYPTO_DEV_ZHAOXIN + default CRYPTO_DEV_ZHAOXIN select CRYPTO_BLKCIPHER select CRYPTO_AES help @@ -82,7 +82,7 @@ config CRYPTO_DEV_ZHAOXIN_AES config CRYPTO_DEV_ZHAOXIN_SHA tristate "Zhaoxin ACE driver for SHA1 and SHA256 algorithms" depends on CRYPTO_DEV_ZHAOXIN - default CRYPTO_DEV_ZHAOXIN + default CRYPTO_DEV_ZHAOXIN select CRYPTO_HASH select CRYPTO_SHA1 select CRYPTO_SHA256 diff --git a/drivers/crypto/padlock-aes.c b/drivers/crypto/padlock-aes.c index f0c3127941ae2f5cea71a4041aafc3e617af2df9..eb5f9ede109083a4c55f11cd277f91e81cdf94ba 100644 --- a/drivers/crypto/padlock-aes.c +++ b/drivers/crypto/padlock-aes.c @@ -475,7 +475,7 @@ static struct skcipher_alg cbc_aes_alg = { }; static const struct x86_cpu_id padlock_cpu_id[] = { - { X86_VENDOR_CENTAUR, 6, X86_MODEL_ANY, X86_FEATURE_XCRYPT }, + X86_MATCH_VENDOR_FAM_FEATURE(CENTAUR, 6, X86_FEATURE_XCRYPT, NULL), {} }; MODULE_DEVICE_TABLE(x86cpu, padlock_cpu_id); diff --git a/drivers/crypto/padlock-sha.c b/drivers/crypto/padlock-sha.c index 6c56a73e5f1759003f4e4dd5d85b1c345e8372d2..1986baf40f9979e881832b4ec753a58a9dfa8b74 100644 --- a/drivers/crypto/padlock-sha.c +++ b/drivers/crypto/padlock-sha.c @@ -490,7 +490,7 @@ static struct shash_alg sha256_alg_nano = { }; static const struct x86_cpu_id padlock_sha_ids[] = { - { X86_VENDOR_CENTAUR, 6, X86_MODEL_ANY, X86_FEATURE_PHE }, + X86_MATCH_VENDOR_FAM_FEATURE(CENTAUR, 6, X86_FEATURE_PHE, NULL), {} }; MODULE_DEVICE_TABLE(x86cpu, padlock_sha_ids); diff --git a/drivers/crypto/zhaoxin-aes.c b/drivers/crypto/zhaoxin-aes.c index 5f772b160387c678b18bdc7661f606a21bebdf4f..a69d5eacfcf341455455647e3a3c4e9b69490b23 100644 --- a/drivers/crypto/zhaoxin-aes.c +++ b/drivers/crypto/zhaoxin-aes.c @@ -25,7 +25,7 @@ #include #include -#define DRIVER_VERSION "1.0.0" +#define DRIVER_VERSION "1.0.1" /* * Number of data blocks actually fetched for each xcrypt insn. @@ -456,18 +456,19 @@ static struct skcipher_alg cbc_aes_alg = { .decrypt = cbc_aes_decrypt, }; -static const struct x86_cpu_id zhaoxin_cpu_id[] = { - { X86_VENDOR_CENTAUR, 7, X86_MODEL_ANY, X86_STEPPING_ANY, X86_FEATURE_XCRYPT }, - { X86_VENDOR_ZHAOXIN, 7, X86_MODEL_ANY, X86_STEPPING_ANY, X86_FEATURE_XCRYPT }, +static const struct x86_cpu_id zhaoxin_aes_cpu_ids[] = { + X86_MATCH_VENDOR_FAM_FEATURE(ZHAOXIN, 6, X86_FEATURE_XCRYPT, NULL), + X86_MATCH_VENDOR_FAM_FEATURE(ZHAOXIN, 7, X86_FEATURE_XCRYPT, NULL), + X86_MATCH_VENDOR_FAM_FEATURE(CENTAUR, 7, X86_FEATURE_XCRYPT, NULL), {} }; -MODULE_DEVICE_TABLE(x86cpu, zhaoxin_cpu_id); +MODULE_DEVICE_TABLE(x86cpu, zhaoxin_aes_cpu_ids); static int __init padlock_init(void) { int ret; - if (!x86_match_cpu(zhaoxin_cpu_id)) + if (!x86_match_cpu(zhaoxin_aes_cpu_ids)) return -ENODEV; if (!boot_cpu_has(X86_FEATURE_XCRYPT_EN)) { diff --git a/drivers/crypto/zhaoxin-sha.c b/drivers/crypto/zhaoxin-sha.c index 8d24c3fa45929c339f098a2e73e3be272889481f..7359e4fd3229c73bedc7505c3025e66c43f0f5fe 100644 --- a/drivers/crypto/zhaoxin-sha.c +++ b/drivers/crypto/zhaoxin-sha.c @@ -19,7 +19,7 @@ #include #include -#define DRIVER_VERSION "1.0.0" +#define DRIVER_VERSION "1.0.1" static inline void padlock_output_block(uint32_t *src, uint32_t *dst, size_t count) { @@ -246,12 +246,13 @@ static struct shash_alg sha256_alg_zhaoxin = { } }; -static const struct x86_cpu_id zhaoxin_sha_ids[] = { - { X86_VENDOR_CENTAUR, 7, X86_MODEL_ANY, X86_STEPPING_ANY, X86_FEATURE_PHE }, - { X86_VENDOR_ZHAOXIN, 7, X86_MODEL_ANY, X86_STEPPING_ANY, X86_FEATURE_PHE }, +static const struct x86_cpu_id zhaoxin_sha_cpu_ids[] = { + X86_MATCH_VENDOR_FAM_FEATURE(ZHAOXIN, 6, X86_FEATURE_PHE, NULL), + X86_MATCH_VENDOR_FAM_FEATURE(CENTAUR, 7, X86_FEATURE_PHE, NULL), + X86_MATCH_VENDOR_FAM_FEATURE(ZHAOXIN, 7, X86_FEATURE_PHE, NULL), {} }; -MODULE_DEVICE_TABLE(x86cpu, zhaoxin_sha_ids); +MODULE_DEVICE_TABLE(x86cpu, zhaoxin_sha_cpu_ids); static int __init padlock_init(void) { @@ -259,7 +260,7 @@ static int __init padlock_init(void) struct shash_alg *sha1; struct shash_alg *sha256; - if (!x86_match_cpu(zhaoxin_sha_ids) || !boot_cpu_has(X86_FEATURE_PHE_EN)) + if (!x86_match_cpu(zhaoxin_sha_cpu_ids) || !boot_cpu_has(X86_FEATURE_PHE_EN)) return -ENODEV; sha1 = &sha1_alg_zhaoxin;