|
@@ -1,7 +1,7 @@
|
|
|
/*
|
|
|
* AMD Cryptographic Coprocessor (CCP) driver
|
|
|
*
|
|
|
- * Copyright (C) 2013 Advanced Micro Devices, Inc.
|
|
|
+ * Copyright (C) 2013,2016 Advanced Micro Devices, Inc.
|
|
|
*
|
|
|
* Author: Tom Lendacky <thomas.lendacky@amd.com>
|
|
|
*
|
|
@@ -577,41 +577,22 @@ bool ccp_queues_suspended(struct ccp_device *ccp)
|
|
|
}
|
|
|
#endif
|
|
|
|
|
|
-#ifdef CONFIG_X86
|
|
|
-static const struct x86_cpu_id ccp_support[] = {
|
|
|
- { X86_VENDOR_AMD, 22, },
|
|
|
- { },
|
|
|
-};
|
|
|
-#endif
|
|
|
-
|
|
|
static int __init ccp_mod_init(void)
|
|
|
{
|
|
|
#ifdef CONFIG_X86
|
|
|
- struct cpuinfo_x86 *cpuinfo = &boot_cpu_data;
|
|
|
int ret;
|
|
|
|
|
|
- if (!x86_match_cpu(ccp_support))
|
|
|
- return -ENODEV;
|
|
|
-
|
|
|
- switch (cpuinfo->x86) {
|
|
|
- case 22:
|
|
|
- if ((cpuinfo->x86_model < 48) || (cpuinfo->x86_model > 63))
|
|
|
- return -ENODEV;
|
|
|
-
|
|
|
- ret = ccp_pci_init();
|
|
|
- if (ret)
|
|
|
- return ret;
|
|
|
-
|
|
|
- /* Don't leave the driver loaded if init failed */
|
|
|
- if (!ccp_get_device()) {
|
|
|
- ccp_pci_exit();
|
|
|
- return -ENODEV;
|
|
|
- }
|
|
|
-
|
|
|
- return 0;
|
|
|
+ ret = ccp_pci_init();
|
|
|
+ if (ret)
|
|
|
+ return ret;
|
|
|
|
|
|
- break;
|
|
|
+ /* Don't leave the driver loaded if init failed */
|
|
|
+ if (!ccp_get_device()) {
|
|
|
+ ccp_pci_exit();
|
|
|
+ return -ENODEV;
|
|
|
}
|
|
|
+
|
|
|
+ return 0;
|
|
|
#endif
|
|
|
|
|
|
#ifdef CONFIG_ARM64
|
|
@@ -636,13 +617,7 @@ static int __init ccp_mod_init(void)
|
|
|
static void __exit ccp_mod_exit(void)
|
|
|
{
|
|
|
#ifdef CONFIG_X86
|
|
|
- struct cpuinfo_x86 *cpuinfo = &boot_cpu_data;
|
|
|
-
|
|
|
- switch (cpuinfo->x86) {
|
|
|
- case 22:
|
|
|
- ccp_pci_exit();
|
|
|
- break;
|
|
|
- }
|
|
|
+ ccp_pci_exit();
|
|
|
#endif
|
|
|
|
|
|
#ifdef CONFIG_ARM64
|