These changes are the raw update to linux-4.4.6-rt14. Kernel sources
[kvmfornfv.git] / kernel / include / linux / tpm.h
index 8350c53..706e63e 100644 (file)
@@ -30,6 +30,8 @@
 #define        TPM_ANY_NUM 0xFFFF
 
 struct tpm_chip;
+struct trusted_key_payload;
+struct trusted_key_options;
 
 struct tpm_class_ops {
        const u8 req_complete_mask;
@@ -46,11 +48,22 @@ struct tpm_class_ops {
 
 #if defined(CONFIG_TCG_TPM) || defined(CONFIG_TCG_TPM_MODULE)
 
+extern int tpm_is_tpm2(u32 chip_num);
 extern int tpm_pcr_read(u32 chip_num, int pcr_idx, u8 *res_buf);
 extern int tpm_pcr_extend(u32 chip_num, int pcr_idx, const u8 *hash);
 extern int tpm_send(u32 chip_num, void *cmd, size_t buflen);
 extern int tpm_get_random(u32 chip_num, u8 *data, size_t max);
+extern int tpm_seal_trusted(u32 chip_num,
+                           struct trusted_key_payload *payload,
+                           struct trusted_key_options *options);
+extern int tpm_unseal_trusted(u32 chip_num,
+                             struct trusted_key_payload *payload,
+                             struct trusted_key_options *options);
 #else
+static inline int tpm_is_tpm2(u32 chip_num)
+{
+       return -ENODEV;
+}
 static inline int tpm_pcr_read(u32 chip_num, int pcr_idx, u8 *res_buf) {
        return -ENODEV;
 }
@@ -63,5 +76,18 @@ static inline int tpm_send(u32 chip_num, void *cmd, size_t buflen) {
 static inline int tpm_get_random(u32 chip_num, u8 *data, size_t max) {
        return -ENODEV;
 }
+
+static inline int tpm_seal_trusted(u32 chip_num,
+                                  struct trusted_key_payload *payload,
+                                  struct trusted_key_options *options)
+{
+       return -ENODEV;
+}
+static inline int tpm_unseal_trusted(u32 chip_num,
+                                    struct trusted_key_payload *payload,
+                                    struct trusted_key_options *options)
+{
+       return -ENODEV;
+}
 #endif
 #endif