diff options
Diffstat (limited to 'include/linux/tpm.h')
| -rw-r--r-- | include/linux/tpm.h | 10 | 
1 files changed, 10 insertions, 0 deletions
diff --git a/include/linux/tpm.h b/include/linux/tpm.h index 12d827734686..dfeb25a0362d 100644 --- a/include/linux/tpm.h +++ b/include/linux/tpm.h @@ -207,6 +207,7 @@ enum tpm2_return_codes {  	TPM2_RC_INITIALIZE	= 0x0100, /* RC_VER1 */  	TPM2_RC_FAILURE		= 0x0101,  	TPM2_RC_DISABLED	= 0x0120, +	TPM2_RC_UPGRADE		= 0x012D,  	TPM2_RC_COMMAND_CODE    = 0x0143,  	TPM2_RC_TESTING		= 0x090A, /* RC_WARN */  	TPM2_RC_REFERENCE_H0	= 0x0910, @@ -278,6 +279,7 @@ enum tpm_chip_flags {  	TPM_CHIP_FLAG_HAVE_TIMEOUTS	= BIT(4),  	TPM_CHIP_FLAG_ALWAYS_POWERED	= BIT(5),  	TPM_CHIP_FLAG_FIRMWARE_POWER_MANAGED	= BIT(6), +	TPM_CHIP_FLAG_FIRMWARE_UPGRADE	= BIT(7),  };  #define to_tpm_chip(d) container_of(d, struct tpm_chip, dev) @@ -399,6 +401,14 @@ static inline void tpm_buf_append_u32(struct tpm_buf *buf, const u32 value)  	tpm_buf_append(buf, (u8 *) &value2, 4);  } +/* + * Check if TPM device is in the firmware upgrade mode. + */ +static inline bool tpm_is_firmware_upgrade(struct tpm_chip *chip) +{ +	return chip->flags & TPM_CHIP_FLAG_FIRMWARE_UPGRADE; +} +  static inline u32 tpm2_rc_value(u32 rc)  {  	return (rc & BIT(7)) ? rc & 0xff : rc;  | 
