From: Grzegorz Bernacki <bernacki@xxxxxxxxxxxx> This patchset contains two patches from original patchset which have not yet be merged. As per original description: This patchset aims to add support for a platforms with cr50(tpm) i2c chip shared across two CPUs. We need to provide a mechanism, which will allow to synchronize accesses on a TPM-transaction boundaries. These two patches are modifying cr50 to use generic callbacks for locality management and then leverage this solution to apply i2c bus locking on a TPM-operation level. Changes from V1: - add dev_err() and return instead of WARN_ONCE() - correct returned value in tpm_cr50_i2c_probe() functions - I did not address Tim's suggestion to return 0 instead of loc in check and request locality, I would like to follow convention from tpm_tis_core.c file Changes from V2: - remove unnecesary locality checking Jan Dabros (2): char: tpm: cr50: Use generic request/relinquish locality ops char: tpm: cr50: Move i2c locking to request/relinquish locality ops drivers/char/tpm/tpm_tis_i2c_cr50.c | 114 ++++++++++++++++------------ 1 file changed, 66 insertions(+), 48 deletions(-) -- 2.47.0.rc0.187.ge670bccf7e-goog