linux_dsm_epyc7002/drivers/char/tpm
Jason Gunthorpe cae8b441fc tpm: Factor out common startup code
The TCG standard startup sequence (get timeouts, tpm startup, etc) for
TPM and TPM2 chips is being open coded in many drivers, move it into
the core code.

tpm_tis and tpm_crb are used as the basis for the core code
implementation and the easy drivers are converted. In the process
several small drivers bugs relating to error handling this flow
are fixed.

For now the flag TPM_OPS_AUTO_STARTUP is optional to allow a staged
driver roll out, but ultimately all drivers should use this flow and
the flag removed. Some drivers still do not implement the startup
sequence at all and will need to be tested with it enabled.

Signed-off-by: Jason Gunthorpe <jgunthorpe@obsidianresearch.com>
Tested-by: Andrew Zamansky <andrew.zamansky@nuvoton.com>
Reviewed-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
2016-07-19 17:43:38 +03:00
..
st33zp24 tpm: Factor out common startup code 2016-07-19 17:43:38 +03:00
Kconfig tpm/tpm_tis_spi: Add support for spi phy 2016-06-25 17:28:57 +03:00
Makefile tpm/tpm_tis_spi: Add support for spi phy 2016-06-25 17:28:57 +03:00
tpm2-cmd.c tpm: Factor out common startup code 2016-07-19 17:43:38 +03:00
tpm_acpi.c ACPI: Clean up acpi_os_map/unmap_memory() to eliminate __iomem. 2014-05-27 18:13:08 +02:00
tpm_atmel.c tpm: Remove useless priv field in struct tpm_vendor_specific 2016-06-25 17:26:35 +03:00
tpm_atmel.h tpm: Remove useless priv field in struct tpm_vendor_specific 2016-06-25 17:26:35 +03:00
tpm_crb.c tpm: Factor out common startup code 2016-07-19 17:43:38 +03:00
tpm_eventlog.c tpm: Get rid of devname 2016-06-25 17:26:35 +03:00
tpm_eventlog.h tpm: fix tpm_bios_log_setup stub prototype 2016-06-25 17:26:35 +03:00
tpm_i2c_atmel.c tpm: Factor out common startup code 2016-07-19 17:43:38 +03:00
tpm_i2c_infineon.c tpm: Factor out common startup code 2016-07-19 17:43:38 +03:00
tpm_i2c_nuvoton.c tpm: Factor out common startup code 2016-07-19 17:43:38 +03:00
tpm_ibmvtpm.c tpm: fix for typo in tpm/tpm_ibmvtpm.c 2016-06-25 17:26:35 +03:00
tpm_ibmvtpm.h tpm_ibmvtpm: properly handle interrupted packet receptions 2015-12-20 15:27:12 +02:00
tpm_infineon.c tpm: Get rid of chip->pdev 2016-06-25 17:26:35 +03:00
tpm_nsc.c tpm: Remove useless priv field in struct tpm_vendor_specific 2016-06-25 17:26:35 +03:00
tpm_of.c TPM: Avoid reference to potentially freed memory 2015-11-09 17:52:55 +02:00
tpm_ppi.c tpm: move the PPI attributes to character device directory. 2015-10-19 01:01:20 +02:00
tpm_tis_core.c tpm: Factor out common startup code 2016-07-19 17:43:38 +03:00
tpm_tis_core.h tpm/tpm_tis: Split tpm_tis driver into a core and TCG TIS compliant phy 2016-06-25 17:28:57 +03:00
tpm_tis_spi.c tpm/tpm_tis_spi: Add support for spi phy 2016-06-25 17:28:57 +03:00
tpm_tis.c tpm/tpm_tis: Split tpm_tis driver into a core and TCG TIS compliant phy 2016-06-25 17:28:57 +03:00
tpm_vtpm_proxy.c tpm: Factor out common startup code 2016-07-19 17:43:38 +03:00
tpm-chip.c tpm: Factor out common startup code 2016-07-19 17:43:38 +03:00
tpm-dev.c tpm: Provide strong locking for device removal 2016-06-25 17:26:35 +03:00
tpm-interface.c tpm: Factor out common startup code 2016-07-19 17:43:38 +03:00
tpm-sysfs.c tpm: Remove all uses of drvdata from the TPM Core 2016-06-25 17:26:35 +03:00
tpm.h tpm: Factor out common startup code 2016-07-19 17:43:38 +03:00
xen-tpmfront.c tpm: Remove useless priv field in struct tpm_vendor_specific 2016-06-25 17:26:35 +03:00