Move definitions from drivers/char/tpm/tpm_tis_core.h to new file
drivers/char/tpm/tpm_tis_defs.h. This allows tpm_tis_defs.h to be included
in the Secure Launch early PCR extend module. The rest of tpm_tis_core.h
cannot be included in the compressed kernel environment.

Signed-off-by: Daniel P. Smith <dpsm...@apertussolutions.com>
Signed-off-by: Ross Philipson <ross.philip...@oracle.com>
---
 drivers/char/tpm/tpm_tis_core.h | 60 +-----------------------------
 drivers/char/tpm/tpm_tis_defs.h | 81 +++++++++++++++++++++++++++++++++++++++++
 2 files changed, 82 insertions(+), 59 deletions(-)
 create mode 100644 drivers/char/tpm/tpm_tis_defs.h

diff --git a/drivers/char/tpm/tpm_tis_core.h b/drivers/char/tpm/tpm_tis_core.h
index 7337819f5d7b..daf293dfc570 100644
--- a/drivers/char/tpm/tpm_tis_core.h
+++ b/drivers/char/tpm/tpm_tis_core.h
@@ -20,65 +20,7 @@
 #define __TPM_TIS_CORE_H__
 
 #include "tpm.h"
-
-enum tis_access {
-       TPM_ACCESS_VALID = 0x80,
-       TPM_ACCESS_ACTIVE_LOCALITY = 0x20,
-       TPM_ACCESS_REQUEST_PENDING = 0x04,
-       TPM_ACCESS_REQUEST_USE = 0x02,
-};
-
-enum tis_status {
-       TPM_STS_VALID = 0x80,
-       TPM_STS_COMMAND_READY = 0x40,
-       TPM_STS_GO = 0x20,
-       TPM_STS_DATA_AVAIL = 0x10,
-       TPM_STS_DATA_EXPECT = 0x08,
-};
-
-enum tis_int_flags {
-       TPM_GLOBAL_INT_ENABLE = 0x80000000,
-       TPM_INTF_BURST_COUNT_STATIC = 0x100,
-       TPM_INTF_CMD_READY_INT = 0x080,
-       TPM_INTF_INT_EDGE_FALLING = 0x040,
-       TPM_INTF_INT_EDGE_RISING = 0x020,
-       TPM_INTF_INT_LEVEL_LOW = 0x010,
-       TPM_INTF_INT_LEVEL_HIGH = 0x008,
-       TPM_INTF_LOCALITY_CHANGE_INT = 0x004,
-       TPM_INTF_STS_VALID_INT = 0x002,
-       TPM_INTF_DATA_AVAIL_INT = 0x001,
-};
-
-enum tis_defaults {
-       TIS_MEM_LEN = 0x5000,
-       TIS_SHORT_TIMEOUT = 750,        /* ms */
-       TIS_LONG_TIMEOUT = 2000,        /* 2 sec */
-};
-
-/* Some timeout values are needed before it is known whether the chip is
- * TPM 1.0 or TPM 2.0.
- */
-#define TIS_TIMEOUT_A_MAX      max_t(int, TIS_SHORT_TIMEOUT, TPM2_TIMEOUT_A)
-#define TIS_TIMEOUT_B_MAX      max_t(int, TIS_LONG_TIMEOUT, TPM2_TIMEOUT_B)
-#define TIS_TIMEOUT_C_MAX      max_t(int, TIS_SHORT_TIMEOUT, TPM2_TIMEOUT_C)
-#define TIS_TIMEOUT_D_MAX      max_t(int, TIS_SHORT_TIMEOUT, TPM2_TIMEOUT_D)
-
-#define        TPM_ACCESS(l)                   (0x0000 | ((l) << 12))
-#define        TPM_INT_ENABLE(l)               (0x0008 | ((l) << 12))
-#define        TPM_INT_VECTOR(l)               (0x000C | ((l) << 12))
-#define        TPM_INT_STATUS(l)               (0x0010 | ((l) << 12))
-#define        TPM_INTF_CAPS(l)                (0x0014 | ((l) << 12))
-#define        TPM_STS(l)                      (0x0018 | ((l) << 12))
-#define        TPM_STS3(l)                     (0x001b | ((l) << 12))
-#define        TPM_DATA_FIFO(l)                (0x0024 | ((l) << 12))
-
-#define        TPM_DID_VID(l)                  (0x0F00 | ((l) << 12))
-#define        TPM_RID(l)                      (0x0F04 | ((l) << 12))
-
-#define LPC_CNTRL_OFFSET               0x84
-#define LPC_CLKRUN_EN                  (1 << 2)
-#define INTEL_LEGACY_BLK_BASE_ADDR     0xFED08000
-#define ILB_REMAP_SIZE                 0x100
+#include "tpm_tis_defs.h"
 
 enum tpm_tis_flags {
        TPM_TIS_ITPM_WORKAROUND         = BIT(0),
diff --git a/drivers/char/tpm/tpm_tis_defs.h b/drivers/char/tpm/tpm_tis_defs.h
new file mode 100644
index 000000000000..9979e3eeb83c
--- /dev/null
+++ b/drivers/char/tpm/tpm_tis_defs.h
@@ -0,0 +1,81 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+/*
+ * Copyright (C) 2005, 2006 IBM Corporation
+ * Copyright (C) 2014, 2015 Intel Corporation
+ *
+ * Authors:
+ * Leendert van Doorn <leend...@watson.ibm.com>
+ * Kylene Hall <kjh...@us.ibm.com>
+ *
+ * Maintained by: <tpmdd-de...@lists.sourceforge.net>
+ *
+ * Device driver for TCG/TCPA TPM (trusted platform module).
+ * Specifications at www.trustedcomputinggroup.org
+ *
+ * This device driver implements the TPM interface as defined in
+ * the TCG TPM Interface Spec version 1.2, revision 1.0.
+ */
+
+#ifndef __TPM_TIS_DEFS_H__
+#define __TPM_TIS_DEFS_H__
+
+enum tis_access {
+       TPM_ACCESS_VALID = 0x80,
+       TPM_ACCESS_ACTIVE_LOCALITY = 0x20,
+       TPM_ACCESS_REQUEST_PENDING = 0x04,
+       TPM_ACCESS_REQUEST_USE = 0x02,
+};
+
+enum tis_status {
+       TPM_STS_VALID = 0x80,
+       TPM_STS_COMMAND_READY = 0x40,
+       TPM_STS_GO = 0x20,
+       TPM_STS_DATA_AVAIL = 0x10,
+       TPM_STS_DATA_EXPECT = 0x08,
+};
+
+enum tis_int_flags {
+       TPM_GLOBAL_INT_ENABLE = 0x80000000,
+       TPM_INTF_BURST_COUNT_STATIC = 0x100,
+       TPM_INTF_CMD_READY_INT = 0x080,
+       TPM_INTF_INT_EDGE_FALLING = 0x040,
+       TPM_INTF_INT_EDGE_RISING = 0x020,
+       TPM_INTF_INT_LEVEL_LOW = 0x010,
+       TPM_INTF_INT_LEVEL_HIGH = 0x008,
+       TPM_INTF_LOCALITY_CHANGE_INT = 0x004,
+       TPM_INTF_STS_VALID_INT = 0x002,
+       TPM_INTF_DATA_AVAIL_INT = 0x001,
+};
+
+enum tis_defaults {
+       TIS_MEM_LEN = 0x5000,
+       TIS_SHORT_TIMEOUT = 750,        /* ms */
+       TIS_LONG_TIMEOUT = 2000,        /* 2 sec */
+};
+
+/* Some timeout values are needed before it is known whether the chip is
+ * TPM 1.0 or TPM 2.0.
+ */
+#define TIS_TIMEOUT_A_MAX      max_t(int, TIS_SHORT_TIMEOUT, TPM2_TIMEOUT_A)
+#define TIS_TIMEOUT_B_MAX      max_t(int, TIS_LONG_TIMEOUT, TPM2_TIMEOUT_B)
+#define TIS_TIMEOUT_C_MAX      max_t(int, TIS_SHORT_TIMEOUT, TPM2_TIMEOUT_C)
+#define TIS_TIMEOUT_D_MAX      max_t(int, TIS_SHORT_TIMEOUT, TPM2_TIMEOUT_D)
+
+#define        TPM_ACCESS(l)                   (0x0000 | ((l) << 12))
+#define        TPM_INT_ENABLE(l)               (0x0008 | ((l) << 12))
+#define        TPM_INT_VECTOR(l)               (0x000C | ((l) << 12))
+#define        TPM_INT_STATUS(l)               (0x0010 | ((l) << 12))
+#define        TPM_INTF_CAPS(l)                (0x0014 | ((l) << 12))
+#define        TPM_STS(l)                      (0x0018 | ((l) << 12))
+#define        TPM_STS3(l)                     (0x001b | ((l) << 12))
+#define        TPM_DATA_FIFO(l)                (0x0024 | ((l) << 12))
+
+#define        TPM_DID_VID(l)                  (0x0F00 | ((l) << 12))
+#define        TPM_RID(l)                      (0x0F04 | ((l) << 12))
+
+#define LPC_CNTRL_OFFSET               0x84
+#define LPC_CLKRUN_EN                  (1 << 2)
+#define INTEL_LEGACY_BLK_BASE_ADDR     0xFED08000
+#define ILB_REMAP_SIZE                 0x100
+
+#endif
-- 
2.11.0

Reply via email to