Re: [PATCH v2 1/4] tpm: Implement tpm_chip_find() and tpm_chip_put() for other subsystems
From: Jason Gunthorpe <jgg@ziepe.ca>
Date: 2018-06-21 17:56:11
Also in:
lkml
From: Jason Gunthorpe <jgg@ziepe.ca>
Date: 2018-06-21 17:56:11
Also in:
lkml
On Thu, Jun 21, 2018 at 01:45:03PM -0400, Stefan Berger wrote:
On 06/21/2018 01:15 PM, Jarkko Sakkinen wrote:quoted
On Wed, Jun 20, 2018 at 04:42:33PM -0400, Stefan Berger wrote:quoted
Implement tpm_chip_find() for other subsystems to find a TPM chip and get a reference to that chip. Once done with using the chip, the reference is released using tpm_chip_put(). Signed-off-by: Stefan Berger <redacted>You should sort this out in a way that we don't end up with duplicate functions.Do you want me to create a function *like* tpm_chip_find_get() that takes an additional parameter whether to get the ops semaphore and have that function called by the existing tpm_chip_find_get() and the new tpm_chip_find(). The latter would then not get the ops semphore. I didn't want to do this since one time the function returns with a lock held and the other time not.
Another option, and I haven't looked, is to revise the callers of tpm_chip_find_get to not require it to hold the ops semaphore for them. Either by giving them an API to do it, or revising the TPM entry points to do it. I didn't look, but how did the ops semaphore get grabbed in your revised patches? They do grab it, right? Jason