Message ID | 20191011145721.59257-1-pasha.tatashin@soleen.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | ftpm: add shutdown call back | expand |
On Fri, Oct 11, 2019 at 10:57:21AM -0400, Pavel Tatashin wrote: > From: thiruan <thiruan@microsoft.com> > > add shutdown call back to close existing session with fTPM TA > to support kexec scenario. > > Signed-off-by: Thirupathaiah Annapureddy <thiruan@microsoft.com> > Signed-off-by: Pavel Tatashin <pasha.tatashin@soleen.com> Use the correct tag in the short summary (tpm/tpm_ftpm_tee). > --- > drivers/char/tpm/tpm_ftpm_tee.c | 22 ++++++++++++++++++++++ > 1 file changed, 22 insertions(+) > > diff --git a/drivers/char/tpm/tpm_ftpm_tee.c b/drivers/char/tpm/tpm_ftpm_tee.c > index 6640a14dbe48..c245be6f4015 100644 > --- a/drivers/char/tpm/tpm_ftpm_tee.c > +++ b/drivers/char/tpm/tpm_ftpm_tee.c > @@ -328,6 +328,27 @@ static int ftpm_tee_remove(struct platform_device *pdev) > return 0; > } > > +/** > + * ftpm_tee_shutdown - shutdown the TPM device > + * @pdev: the platform_device description. > + * > + * Return: > + * none. Do not document return values for a void function. The last three lines do not serve any purpose. > + */ > +static void ftpm_tee_shutdown(struct platform_device *pdev) > +{ > + struct ftpm_tee_private *pvt_data = dev_get_drvdata(&pdev->dev); > + > + /* Free the shared memory pool */ > + tee_shm_free(pvt_data->shm); Is it unexpected that calling tee_shm_free() free's a shared memory pool? A comment here implies exactly that. > + /* close the existing session with fTPM TA*/ > + tee_client_close_session(pvt_data->ctx, pvt_data->session); Ditto. > + > + /* close the context with TEE driver */ > + tee_client_close_context(pvt_data->ctx); Ditto. > +} > + > static const struct of_device_id of_ftpm_tee_ids[] = { > { .compatible = "microsoft,ftpm" }, > { } > @@ -341,6 +362,7 @@ static struct platform_driver ftpm_tee_driver = { > }, > .probe = ftpm_tee_probe, > .remove = ftpm_tee_remove, > + .shutdown = ftpm_tee_shutdown, > }; > > module_platform_driver(ftpm_tee_driver); > -- > 2.23.0 > /Jarkko
On Mon, Oct 14, 2019 at 4:03 PM Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com> wrote: > > On Fri, Oct 11, 2019 at 10:57:21AM -0400, Pavel Tatashin wrote: > > From: thiruan <thiruan@microsoft.com> > > > > add shutdown call back to close existing session with fTPM TA > > to support kexec scenario. > > > > Signed-off-by: Thirupathaiah Annapureddy <thiruan@microsoft.com> > > Signed-off-by: Pavel Tatashin <pasha.tatashin@soleen.com> > > Use the correct tag in the short summary (tpm/tpm_ftpm_tee). Hi Jarkko, Thanks, I will address your comments and send out a new patch soon. Pasha
diff --git a/drivers/char/tpm/tpm_ftpm_tee.c b/drivers/char/tpm/tpm_ftpm_tee.c index 6640a14dbe48..c245be6f4015 100644 --- a/drivers/char/tpm/tpm_ftpm_tee.c +++ b/drivers/char/tpm/tpm_ftpm_tee.c @@ -328,6 +328,27 @@ static int ftpm_tee_remove(struct platform_device *pdev) return 0; } +/** + * ftpm_tee_shutdown - shutdown the TPM device + * @pdev: the platform_device description. + * + * Return: + * none. + */ +static void ftpm_tee_shutdown(struct platform_device *pdev) +{ + struct ftpm_tee_private *pvt_data = dev_get_drvdata(&pdev->dev); + + /* Free the shared memory pool */ + tee_shm_free(pvt_data->shm); + + /* close the existing session with fTPM TA*/ + tee_client_close_session(pvt_data->ctx, pvt_data->session); + + /* close the context with TEE driver */ + tee_client_close_context(pvt_data->ctx); +} + static const struct of_device_id of_ftpm_tee_ids[] = { { .compatible = "microsoft,ftpm" }, { } @@ -341,6 +362,7 @@ static struct platform_driver ftpm_tee_driver = { }, .probe = ftpm_tee_probe, .remove = ftpm_tee_remove, + .shutdown = ftpm_tee_shutdown, }; module_platform_driver(ftpm_tee_driver);