From: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
To: Peter Huewe <peterhuewe@gmx.de>,
Ashley Lai <ashley@ashleylai.com>,
Marcel Selhorst <tpmdd@selhorst.net>
Cc: tpmdd-devel@lists.sourceforge.net, linux-kernel@vger.kernel.org,
linux-api@vger.kernel.org, josh.triplett@intel.com,
christophe.ricard@gmail.com, will.c.arthur@intel.com,
monty.wiseman@intel.com,
Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
Subject: [PATCH v3 0/6] TPM 2.0 support
Date: Wed, 15 Oct 2014 13:35:10 +0200 [thread overview]
Message-ID: <1413372916-12091-1-git-send-email-jarkko.sakkinen@linux.intel.com> (raw)
This patch set enables TPM2 protocol and provides drivers for FIFO and
CRB interfaces. In addition life-cycle model is somewhat improved (but
not yet fully fixed) for TPM device drivers. There's still work to do
in ref counting and locking but this patch set takes (I believe) the
correct interm steps towards right direction.
TPM2 sysfs attributes are placed to misc dev instead of binding them
to the platform device as misc dev represents the device to the user
space. TPM1 uses invalid place for the sysfs attributes.
Major changes since v1:
- Improved struct tpm_chip life-cycle by taking advantage of devres
API.
- Refined sysfs attributes as simple key-values thereby not repeating
mistakes in TPM1 sysfs attributes.
- Documented functions in tpm-chip.c and tpm2-cmd.c.
- Documented sysfs attributes.
Major changes since v2:
- Lots of fixes in calling order in device drivers (thanks to Jason
Gunthorpe for pointing these out!).
- Attach sysfs attributes to the misc device because it represents
TPM device to the user space.
Known opens:
- I'm still pending to test the FIFO (tpm_tis) driver. Now I should
have system to actually get this done but I'm right now at the
LinuxCon.
- struct tpm_chip would need proper ref counting and locking applied
everywhere but this has been existing problem before this patch set.
It is a large change that I'm willing to work on after getting this
merged first.
- It might be that in some cases PPI interface might be attached to
a wrong PPI interface if ACPI tree shows up having two PPI interface.
I think the way PPI interface is grabbed is invalid. Instead it should
be passed an ACPI handle to the device and it should take PPI interface
under that ACPi handle. I can add a fix to do this in v4 if everyone
else agrees.
Jarkko Sakkinen (5):
tpm: merge duplicate transmit_cmd() functions
tpm: two-phase chip management functions
tpm: TPM 2.0 commands
tpm: TPM 2.0 sysfs attributes
tpm: TPM 2.0 CRB Interface
Will Arthur (1):
tpm: TPM 2.0 FIFO Interface
Documentation/ABI/stable/sysfs-class-tpm2 | 72 ++++
drivers/char/tpm/Kconfig | 9 +
drivers/char/tpm/Makefile | 3 +-
drivers/char/tpm/tpm-chip.c | 209 ++++++++++++
drivers/char/tpm/tpm-dev.c | 7 +-
drivers/char/tpm/tpm-interface.c | 225 +++----------
drivers/char/tpm/tpm-sysfs.c | 23 +-
drivers/char/tpm/tpm.h | 106 +++++-
drivers/char/tpm/tpm2-cmd.c | 543 ++++++++++++++++++++++++++++++
drivers/char/tpm/tpm2-sysfs.c | 314 +++++++++++++++++
drivers/char/tpm/tpm_atmel.c | 11 +-
drivers/char/tpm/tpm_crb.c | 329 ++++++++++++++++++
drivers/char/tpm/tpm_i2c_atmel.c | 33 +-
drivers/char/tpm/tpm_i2c_infineon.c | 37 +-
drivers/char/tpm/tpm_i2c_nuvoton.c | 44 +--
drivers/char/tpm/tpm_i2c_stm_st33.c | 22 +-
drivers/char/tpm/tpm_ibmvtpm.c | 17 +-
drivers/char/tpm/tpm_infineon.c | 13 +-
drivers/char/tpm/tpm_nsc.c | 11 +-
drivers/char/tpm/tpm_tis.c | 160 +++++----
drivers/char/tpm/xen-tpmfront.c | 14 +-
21 files changed, 1813 insertions(+), 389 deletions(-)
create mode 100644 Documentation/ABI/stable/sysfs-class-tpm2
create mode 100644 drivers/char/tpm/tpm-chip.c
create mode 100644 drivers/char/tpm/tpm2-cmd.c
create mode 100644 drivers/char/tpm/tpm2-sysfs.c
create mode 100644 drivers/char/tpm/tpm_crb.c
--
2.1.0
next reply other threads:[~2014-10-15 11:35 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-10-15 11:35 Jarkko Sakkinen [this message]
2014-10-15 11:35 ` [PATCH v3 1/6] tpm: merge duplicate transmit_cmd() functions Jarkko Sakkinen
2014-10-15 11:35 ` [PATCH v3 2/6] tpm: two-phase chip management functions Jarkko Sakkinen
2014-10-15 11:35 ` [PATCH v3 3/6] tpm: TPM 2.0 commands Jarkko Sakkinen
2014-10-15 11:35 ` [PATCH v3 4/6] tpm: TPM 2.0 sysfs attributes Jarkko Sakkinen
2014-10-16 9:31 ` Greg KH
2014-10-16 16:03 ` Jarkko Sakkinen
2014-10-19 21:09 ` Tomas Winkler
2014-10-20 10:45 ` Jarkko Sakkinen
2014-10-19 22:07 ` Andy Lutomirski
2014-10-20 10:35 ` Jarkko Sakkinen
2014-10-15 11:35 ` [PATCH v3 5/6] tpm: TPM 2.0 CRB Interface Jarkko Sakkinen
2014-10-15 11:35 ` [PATCH v3 6/6] tpm: TPM 2.0 FIFO Interface Jarkko Sakkinen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1413372916-12091-1-git-send-email-jarkko.sakkinen@linux.intel.com \
--to=jarkko.sakkinen@linux.intel.com \
--cc=ashley@ashleylai.com \
--cc=christophe.ricard@gmail.com \
--cc=josh.triplett@intel.com \
--cc=linux-api@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=monty.wiseman@intel.com \
--cc=peterhuewe@gmx.de \
--cc=tpmdd-devel@lists.sourceforge.net \
--cc=tpmdd@selhorst.net \
--cc=will.c.arthur@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®