Re: [PATCH v2 1/4] tpm: Implement tpm_chip_find() and tpm_chip_put() for other subsystems
From: Jarkko Sakkinen
Date: Thu Jun 21 2018 - 13:13:19 EST
On Wed, Jun 20, 2018 at 02:50:04PM -0600, Jason Gunthorpe wrote:
> On Wed, Jun 20, 2018 at 04:42:33PM -0400, Stefan Berger wrote:
> > 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 <stefanb@xxxxxxxxxxxxxxxxxx>
> > drivers/char/tpm/tpm-chip.c | 37 +++++++++++++++++++++++++++++++++++++
> > include/linux/tpm.h | 9 +++++++++
> > 2 files changed, 46 insertions(+)
> >
> > diff --git a/drivers/char/tpm/tpm-chip.c b/drivers/char/tpm/tpm-chip.c
> > index 0a62c19937b6..eaaf41ce73d8 100644
> > +++ b/drivers/char/tpm/tpm-chip.c
> > @@ -81,6 +81,43 @@ void tpm_put_ops(struct tpm_chip *chip)
> > EXPORT_SYMBOL_GPL(tpm_put_ops);
> >
> > /**
> > + * tpm_chip_put() - Release a ref to the tpm_chip
> > + * @chip: Chip to put
> > + */
> > +void tpm_chip_put(struct tpm_chip *chip)
> > +{
> > + if (chip)
> > + put_device(&chip->dev);
>
> Rarely like to see those if's inside a put function.. Does it actually
> help anything?
>
> Jason
The check only helps to hidden regressions here...
/Jarkko