# \[PATCH v9 0/3\] Enable PPI sysfs interface for TPM 2.0

- Subsystems: DRIVER CORE, KOBJECTS, DEBUGFS AND SYSFS, FILESYSTEMS (VFS and infrastructure), THE REST, TPM DEVICE DRIVER
- Maintainers: Greg Kroah-Hartman, "Rafael J. Wysocki", Danilo Krummrich, Johan Hovold, Alexander Viro, Christian Brauner, Linus Torvalds, Peter Huewe, Jarkko Sakkinen
- Series: 3 patches touching 6 files, +100/-49
- Status: PENDING · 1 of 3 reviewed
- Pending, 1 of 3 reviewed.
- Revision v9 (7 revisions archived).
- List: linux-api
- 5 messages, 3 authors
- Page: https://ratatoskr.run/linux-api/2015/08/4556740/t

## \[PATCH v9 0/3\] Enable PPI sysfs interface for TPM 2.0

- From: Jarkko Sakkinen \<hidden\>
- Date: 2015-08-12 14:06:09 
- Message: https://ratatoskr.run/linux-api/2015/08/4556740.md

```text
v9:
* Fixed naming for __compat_only_sysfs_link_entry_to_kobj()

v8:
* Renamed sysfs_link_entry_to_kobj() to
  __compat_only_sysfs_link_entry_to_kobj()

v7:
* Fixed compile error when CONFIG_SYSFS is not enabled.

v6:
* Updated documentation.

v5:
* Removed dangling export of kernfs_remove_by_name_ns() from the sysfs
  patch.

v4:
* Use sysfs_remove_link()

v3:
* Fixed to_tpm_chip() macro.
* Split into two patches.
* Renamed sysfs_link_group_to_kobj to sysfs_link_entry_to_kobj
* Only create the "backwards compatibility" symlink for TPM 1.x devices.

Jarkko Sakkinen (3):
  sysfs: added __compat_only_sysfs_link_entry_to_kobj()
  tpm: move the PPI attributes to character device directory.
  tpm: update PPI documentation to address the location change.

 Documentation/ABI/testing/sysfs-driver-ppi | 19 ++++++++-----
 drivers/char/tpm/tpm-chip.c                | 24 ++++++++++------
 drivers/char/tpm/tpm.h                     | 17 ++++--------
 drivers/char/tpm/tpm_ppi.c                 | 34 ++++++++---------------
 fs/sysfs/group.c                           | 44 ++++++++++++++++++++++++++++++
 include/linux/sysfs.h                      | 11 ++++++++
 6 files changed, 100 insertions(+), 49 deletions(-)

-- 
2.5.0
```

## \[PATCH v9 3/3\] tpm: update PPI documentation to address the location change.

- From: Jarkko Sakkinen \<hidden\>
- Date: 2015-08-12 14:06:25 
- Message: https://ratatoskr.run/linux-api/2015/08/4556743.md

```text
Updated Documentation/ABI/testing/sysfs-driver-ppi in order to explain
where PPI attributes are located and how backwards compatiblity is
addressed.

Signed-off-by: Jarkko Sakkinen <redacted>
---
 Documentation/ABI/testing/sysfs-driver-ppi | 19 ++++++++++++-------
 1 file changed, 12 insertions(+), 7 deletions(-)

diff --git a/Documentation/ABI/testing/sysfs-driver-ppi b/Documentation/ABI/testing/sysfs-driver-ppi
index 7d1435b..9921ef2 100644
--- a/Documentation/ABI/testing/sysfs-driver-ppi
+++ b/Documentation/ABI/testing/sysfs-driver-ppi
@@ -1,4 +1,4 @@
-What:		/sys/devices/pnp0/<bus-num>/ppi/
+What:		/sys/class/tpm/tpmX/ppi/
 Date:		August 2012
 Kernel Version:	3.6
 Contact:	xiaoyan.zhang-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org
@@ -8,9 +8,14 @@ Description:
 		folder makes sense. The folder path can be got by command
 		'find /sys/ -name 'pcrs''. For the detail information of PPI,
 		please refer to the PPI specification from
+
 		http://www.trustedcomputinggroup.org/
 
-What:		/sys/devices/pnp0/<bus-num>/ppi/version
+		In Linux 4.2 ppi was moved to the character device directory.
+		A symlink from tpmX/device/ppi to tpmX/ppi to provide backwards
+		compatibility.
+
+What:		/sys/class/tpm/tpmX/ppi/version
 Date:		August 2012
 Contact:	xiaoyan.zhang-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org
 Description:
@@ -18,7 +23,7 @@ Description:
 		platform.
 		This file is readonly.
 
-What:		/sys/devices/pnp0/<bus-num>/ppi/request
+What:		/sys/class/tpm/tpmX/ppi/request
 Date:		August 2012
 Contact:	xiaoyan.zhang-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org
 Description:
@@ -28,7 +33,7 @@ Description:
 		integer value range from 1 to 160, and 0 means no request.
 		This file can be read and written.
 
-What:		/sys/devices/pnp0/00:<bus-num>/ppi/response
+What:		/sys/class/tpm/tpmX/ppi/response
 Date:		August 2012
 Contact:	xiaoyan.zhang-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org
 Description:
@@ -37,7 +42,7 @@ Description:
 		: <response description>".
 		This file is readonly.
 
-What:		/sys/devices/pnp0/<bus-num>/ppi/transition_action
+What:		/sys/class/tpm/tpmX/ppi/transition_action
 Date:		August 2012
 Contact:	xiaoyan.zhang-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org
 Description:
@@ -47,7 +52,7 @@ Description:
 		description>".
 		This file is readonly.
 
-What:		/sys/devices/pnp0/<bus-num>/ppi/tcg_operations
+What:		/sys/class/tpm/tpmX/ppi/tcg_operations
 Date:		August 2012
 Contact:	xiaoyan.zhang-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org
 Description:
@@ -58,7 +63,7 @@ Description:
 		This attribute is only supported by PPI version 1.2+.
 		This file is readonly.
 
-What:		/sys/devices/pnp0/<bus-num>/ppi/vs_operations
+What:		/sys/class/tpm/tpmX/ppi/vs_operations
 Date:		August 2012
 Contact:	xiaoyan.zhang-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org
 Description:
-- 
2.5.0
```

## Re: \[PATCH v9 0/3\] Enable PPI sysfs interface for TPM 2.0

- From: Jarkko Sakkinen \<hidden\>
- Date: 2015-08-25 17:04:01 
- Message: https://ratatoskr.run/linux-api/2015/08/4563851.md

```text
Does this start be in the shape that there would be chance to pull this
in at some point? To be able to enable TPM 2.0 chips from Linux is quite
mandatory feature in my opinion.

Thank you.

/Jarkko

On Wed, Aug 12, 2015 at 05:05:40PM +0300, Jarkko Sakkinen wrote:
> v9:
> * Fixed naming for __compat_only_sysfs_link_entry_to_kobj()
> 
> v8:
> * Renamed sysfs_link_entry_to_kobj() to
>   __compat_only_sysfs_link_entry_to_kobj()
> 
> v7:
> * Fixed compile error when CONFIG_SYSFS is not enabled.
> 
> v6:
> * Updated documentation.
> 
> v5:
> * Removed dangling export of kernfs_remove_by_name_ns() from the sysfs
>   patch.
> 
> v4:
> * Use sysfs_remove_link()
> 
> v3:
> * Fixed to_tpm_chip() macro.
> * Split into two patches.
> * Renamed sysfs_link_group_to_kobj to sysfs_link_entry_to_kobj
> * Only create the "backwards compatibility" symlink for TPM 1.x devices.
> 
> Jarkko Sakkinen (3):
>   sysfs: added __compat_only_sysfs_link_entry_to_kobj()
>   tpm: move the PPI attributes to character device directory.
>   tpm: update PPI documentation to address the location change.
> 
>  Documentation/ABI/testing/sysfs-driver-ppi | 19 ++++++++-----
>  drivers/char/tpm/tpm-chip.c                | 24 ++++++++++------
>  drivers/char/tpm/tpm.h                     | 17 ++++--------
>  drivers/char/tpm/tpm_ppi.c                 | 34 ++++++++---------------
>  fs/sysfs/group.c                           | 44 ++++++++++++++++++++++++++++++
>  include/linux/sysfs.h                      | 11 ++++++++
>  6 files changed, 100 insertions(+), 49 deletions(-)
> 
> -- 
> 2.5.0
> 
```

## Re: \[PATCH v9 0/3\] Enable PPI sysfs interface for TPM 2.0

- From: Peter Huewe \<peterhuewe@gmx.de\>
- Date: 2015-08-25 17:20:48 
- Message: https://ratatoskr.run/linux-api/2015/08/4563861.md

```text
Will look at it as soon as possible - relocating to the us is quite stressful.sorry about that.

 But since we are already at v9 i think it is in a good shape.
Peter

Am 25. August 2015 19:03:27 MESZ, schrieb Jarkko Sakkinen [ref]:
>Does this start be in the shape that there would be chance to pull this
>in at some point? To be able to enable TPM 2.0 chips from Linux is
>quite
>mandatory feature in my opinion.
>
>Thank you.
>
>/Jarkko
>
>On Wed, Aug 12, 2015 at 05:05:40PM +0300, Jarkko Sakkinen wrote:
>> v9:
>> * Fixed naming for __compat_only_sysfs_link_entry_to_kobj()
>> 
>> v8:
>> * Renamed sysfs_link_entry_to_kobj() to
>>   __compat_only_sysfs_link_entry_to_kobj()
>> 
>> v7:
>> * Fixed compile error when CONFIG_SYSFS is not enabled.
>> 
>> v6:
>> * Updated documentation.
>> 
>> v5:
>> * Removed dangling export of kernfs_remove_by_name_ns() from the
>sysfs
>>   patch.
>> 
>> v4:
>> * Use sysfs_remove_link()
>> 
>> v3:
>> * Fixed to_tpm_chip() macro.
>> * Split into two patches.
>> * Renamed sysfs_link_group_to_kobj to sysfs_link_entry_to_kobj
>> * Only create the "backwards compatibility" symlink for TPM 1.x
>devices.
>> 
>> Jarkko Sakkinen (3):
>>   sysfs: added __compat_only_sysfs_link_entry_to_kobj()
>>   tpm: move the PPI attributes to character device directory.
>>   tpm: update PPI documentation to address the location change.
>> 
>>  Documentation/ABI/testing/sysfs-driver-ppi | 19 ++++++++-----
>>  drivers/char/tpm/tpm-chip.c                | 24 ++++++++++------
>>  drivers/char/tpm/tpm.h                     | 17 ++++--------
>>  drivers/char/tpm/tpm_ppi.c                 | 34
>++++++++---------------
>>  fs/sysfs/group.c                           | 44
>++++++++++++++++++++++++++++++
>>  include/linux/sysfs.h                      | 11 ++++++++
>>  6 files changed, 100 insertions(+), 49 deletions(-)
>> 
>> -- 
>> 2.5.0
>> 

-- 
Sent from my mobile
```

## Re: \[PATCH v9 0/3\] Enable PPI sysfs interface for TPM 2.0

- From: Jarkko Sakkinen \<hidden\>
- Date: 2015-08-26 05:28:10 
- Message: https://ratatoskr.run/linux-api/2015/08/4564228.md

```text
On Tue, Aug 25, 2015 at 07:20:24PM +0200, Peter Huewe wrote:
> Will look at it as soon as possible - relocating to the us is quite stressful.sorry about that.
> 
>  But since we are already at v9 i think it is in a good shape.
> Peter

Alright, thanks for informing about this!

/Jarkko


> Am 25. August 2015 19:03:27 MESZ, schrieb Jarkko Sakkinen [ref]:
> >Does this start be in the shape that there would be chance to pull this
> >in at some point? To be able to enable TPM 2.0 chips from Linux is
> >quite
> >mandatory feature in my opinion.
> >
> >Thank you.
> >
> >/Jarkko
> >
> >On Wed, Aug 12, 2015 at 05:05:40PM +0300, Jarkko Sakkinen wrote:
> >> v9:
> >> * Fixed naming for __compat_only_sysfs_link_entry_to_kobj()
> >> 
> >> v8:
> >> * Renamed sysfs_link_entry_to_kobj() to
> >>   __compat_only_sysfs_link_entry_to_kobj()
> >> 
> >> v7:
> >> * Fixed compile error when CONFIG_SYSFS is not enabled.
> >> 
> >> v6:
> >> * Updated documentation.
> >> 
> >> v5:
> >> * Removed dangling export of kernfs_remove_by_name_ns() from the
> >sysfs
> >>   patch.
> >> 
> >> v4:
> >> * Use sysfs_remove_link()
> >> 
> >> v3:
> >> * Fixed to_tpm_chip() macro.
> >> * Split into two patches.
> >> * Renamed sysfs_link_group_to_kobj to sysfs_link_entry_to_kobj
> >> * Only create the "backwards compatibility" symlink for TPM 1.x
> >devices.
> >> 
> >> Jarkko Sakkinen (3):
> >>   sysfs: added __compat_only_sysfs_link_entry_to_kobj()
> >>   tpm: move the PPI attributes to character device directory.
> >>   tpm: update PPI documentation to address the location change.
> >> 
> >>  Documentation/ABI/testing/sysfs-driver-ppi | 19 ++++++++-----
> >>  drivers/char/tpm/tpm-chip.c                | 24 ++++++++++------
> >>  drivers/char/tpm/tpm.h                     | 17 ++++--------
> >>  drivers/char/tpm/tpm_ppi.c                 | 34
> >++++++++---------------
> >>  fs/sysfs/group.c                           | 44
> >++++++++++++++++++++++++++++++
> >>  include/linux/sysfs.h                      | 11 ++++++++
> >>  6 files changed, 100 insertions(+), 49 deletions(-)
> >> 
> >> -- 
> >> 2.5.0
> >> 
> 
> -- 
> Sent from my mobile
```
