Re: [PATCH v11 1/4] tpm: Remove all uses of drvdata from the TPM Core

From: Stefan Berger
Date: Mon Apr 25 2016 - 15:13:38 EST


On 04/22/2016 11:06 AM, Jarkko Sakkinen wrote:
On Mon, Apr 18, 2016 at 01:26:13PM -0400, Stefan Berger wrote:
From: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx>

The final thing preventing this was the way the sysfs files were
attached to the pdev. Follow the approach developed for ppi and move
the sysfs files to the chip->dev with symlinks from the pdev
for compatibility. Everything in the core now sanely uses container_of
to get the chip.

Signed-off-by: Jason Gunthorpe <jgunthorpe@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx>
Tested-by: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx>

Three configurations:

* Haswell NUC with PTT (tpm_crb)
* Another NUC with dTPM 2.0 chip
* Dell E6420, which has TPM 1.2 chip

Things seem to be unbroken.

Stefan, have you verified that sysfs attributes work through routes:

1. From char device sysfs directory
2. Through link

Tested-by: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx>


An also tried insmod/rmmod couple of rounds?

Works as-is in polling mode but requires Jason's patch "tpm: Fix IRQ unwind ordering in TIS" for interrupt mode to not throw errors on 'rmmod'.

Tested-by: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx>