diff options
author | Lino Sanfilippo <l.sanfilippo@kunbus.com> | 2022-11-24 16:55:33 +0300 |
---|---|---|
committer | Jarkko Sakkinen <jarkko@kernel.org> | 2023-04-24 16:15:53 +0300 |
commit | 7a2f55d0be296c4e81fd782f3d6c43ed4ec7e265 (patch) | |
tree | 948aff0c3ce7d61f398b958ab4dbb33ae09a075a /drivers/char/tpm/tpm_tis_core.h | |
parent | 35f621287ead686b66aa17aa605ed5d7c95883dc (diff) | |
download | linux-7a2f55d0be296c4e81fd782f3d6c43ed4ec7e265.tar.xz |
tpm, tpm: Implement usage counter for locality
Implement a usage counter for the (default) locality used by the TPM TIS
driver:
Request the locality from the TPM if it has not been claimed yet, otherwise
only increment the counter. Also release the locality if the counter is 0
otherwise only decrement the counter. Since in case of SPI the register
accesses are locked by means of the SPI bus mutex use a sleepable lock
(i.e. also a mutex) to ensure thread-safety of the counter which may be
accessed by both a userspace thread and the interrupt handler.
By doing this refactor the names of the amended functions to use a more
appropriate prefix.
Signed-off-by: Lino Sanfilippo <l.sanfilippo@kunbus.com>
Tested-by: Michael Niewöhner <linux@mniewoehner.de>
Tested-by: Jarkko Sakkinen <jarkko@kernel.org>
Reviewed-by: Jarkko Sakkinen <jarkko@kernel.org>
Signed-off-by: Jarkko Sakkinen <jarkko@kernel.org>
Diffstat (limited to 'drivers/char/tpm/tpm_tis_core.h')
-rw-r--r-- | drivers/char/tpm/tpm_tis_core.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/char/tpm/tpm_tis_core.h b/drivers/char/tpm/tpm_tis_core.h index 19ef8c1a4142..e978f457fd4d 100644 --- a/drivers/char/tpm/tpm_tis_core.h +++ b/drivers/char/tpm/tpm_tis_core.h @@ -92,6 +92,8 @@ enum tpm_tis_flags { struct tpm_tis_data { u16 manufacturer_id; + struct mutex locality_count_mutex; + unsigned int locality_count; int locality; int irq; unsigned int int_mask; |