linux-api.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jarkko Sakkinen <jarkko.sakkinen-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
To: Peter Huewe <peterhuewe-Mmb7MZpHnFY@public.gmane.org>,
	Ashley Lai <ashley-fm2HMyfA2y6tG0bUXCXiUA@public.gmane.org>,
	Marcel Selhorst <tpmdd-yWjUBOtONefk1uMJSBkQmQ@public.gmane.org>
Cc: tpmdd-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	josh-iaAMLnmF4UmaiuxdJuQwMA@public.gmane.org,
	christophe.ricard-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org,
	jason.gunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org,
	stefanb-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org,
	linux-api-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	trousers-tech-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
Subject: Re: [PATCH v10 0/8] TPM 2.0 support
Date: Mon, 15 Dec 2014 22:17:57 +0200	[thread overview]
Message-ID: <20141215201757.GA27923@intel.com> (raw)
In-Reply-To: <1418413600-5400-1-git-send-email-jarkko.sakkinen-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>

So, what do you think? Are we now settled with this?

/Jarkko

On Fri, Dec 12, 2014 at 11:46:32AM -0800, Jarkko Sakkinen wrote:
> This patch set enables TPM2 protocol and provides drivers for FIFO and
> CRB interfaces. This patch set does not export any sysfs attributes for
> TPM 2.0 because existing sysfs attributes have three non-trivial issues:
> 
> - They are associated with the platform device instead of character
>   device.
> - They are are not trivial key-value pairs but contain text that is
>   not easily parsed by a computer.
> - Raciness as described in
>   http://kroah.com/log/blog/2013/06/26/how-to-create-a-sysfs-file-correctly/
> 
> v2:
> - 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.
> 
> v3:
> - 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.
> 
> v4:
> - Disable sysfs attibutes for TPM 2.0 for until we can sort out the 
>   best approach for them.
> - Fixed all the style issues found with checkpatch.pl.
> 
> v5:
> - missing EXPORT_SYMBOL_GPL()
> - own class for TPM devices used for TPM 2.0 devices and onwards.
> 
> v6:
> - Non-racy initialization for sysfs attributes using struct device's
>   groups field.
> - The class 'tpm' is used now for all TPM devices. For the first device
>   node major MISC_MAJOR and minor TPM_MINOR is used in order to retain
>   backwards compatability.
> 
> v7:
> - Release device number and free struct tpm_chip memory inside
>   tpm_dev_release callback.
> - Moved code from tpm-interface.c and tpm_dev.c to tpm-chip.c.
> 
> v8:
> - Cleaned up unneeded cast from tpm_transmit_cmd().
> - Cleaned up redundant PPI_VERSION_LEN constant from tpm_ppi.c.
> - Fixed tpm_tis to use tpm2_calc_ordinal_duration() for TPM2 devices.
> - tpm_crb: in crb_recv, check that count can hold the TPM header at
>   minimum.
> - tpm_crb: add enumerations for bit flags in start and cancel fields
>   of the control area.
> - tpm_crb: use ioremap() for command and response buffer because
>   they might be anywhere.
> - tpm_crb: use IO access functions for reading ioremapped buffers
>   because using direct pointers is not portable.
> - tpm_crb: only apply ACPI start if start method reported by the
>   TPM2 ACPI table allows it.
> - In tpm2_pcr_read() just calculate index and bit and get rid of
>   hacky loop.
> - Do not add sysfs attributes for TPM 2.0 devices.
> 
> v9:
> - Fixed compilation issues in v8 (sorry for not using the correct
>   tree).
> - Just do "return tpm_chip_register();" instead of copying return
>   value to a variable.
> - Removed unused tpm2_startup().
> - In the CRB driver ACPI TPM2 table could contain platform specific
>   and therefore inequality test does not work. Fixed in this patch
>   set.
> 
> v10:
> - Fixed coccicheck and sparse errors and other reported style errors.
> - Fixed build errors without CONFIG_ACPI.
> - Fixed build error with CONFIG_OF.
> - Added TPM_CHIP_FLAG_REGISTERED to mark successful tpm_chip_register().
>   It is checked in the beginning of tpm_chip_unregister(), which is 
>   called even when "attach" callback for a device fails because "detach"
>   callback is always called.
> - Added TPM_CHIP_FLAG_PPI to mark successful PPI interface lookup because 
>   in older TPM chips version string might be non-existent.
> - Check TPM version from the 4th byte of STS register after requesting 
>   the locality because otherwise the read will return bogus data.
> - Some TPM chips just give 0xff as the 4th byte so using that for detecting
>   TPM family is unstable. Instead I chose the approach of using idempotent 
>   TPM 2.x command to detect such case.
> 
> Jarkko Sakkinen (8):
>   tpm: merge duplicate transmit_cmd() functions
>   tpm: two-phase chip management functions
>   tpm: fix raciness of PPI interface lookup
>   tpm: rename chip->dev to chip->pdev
>   tpm: device class for tpm
>   tpm: TPM 2.0 baseline support
>   tpm: TPM 2.0 CRB Interface
>   tpm: TPM 2.0 FIFO Interface
> 
>  Documentation/ABI/stable/sysfs-class-tpm |  22 +-
>  drivers/char/tpm/Kconfig                 |   9 +
>  drivers/char/tpm/Makefile                |   3 +-
>  drivers/char/tpm/tpm-chip.c              | 256 +++++++++++++
>  drivers/char/tpm/tpm-dev.c               |  42 +--
>  drivers/char/tpm/tpm-interface.c         | 263 +++++--------
>  drivers/char/tpm/tpm-sysfs.c             |  29 +-
>  drivers/char/tpm/tpm.h                   | 118 +++++-
>  drivers/char/tpm/tpm2-cmd.c              | 617 +++++++++++++++++++++++++++++++
>  drivers/char/tpm/tpm_atmel.c             |  25 +-
>  drivers/char/tpm/tpm_crb.c               | 354 ++++++++++++++++++
>  drivers/char/tpm/tpm_i2c_atmel.c         |  55 +--
>  drivers/char/tpm/tpm_i2c_infineon.c      |  43 +--
>  drivers/char/tpm/tpm_i2c_nuvoton.c       |  71 ++--
>  drivers/char/tpm/tpm_i2c_stm_st33.c      |  32 +-
>  drivers/char/tpm/tpm_ibmvtpm.c           |  17 +-
>  drivers/char/tpm/tpm_infineon.c          |  51 +--
>  drivers/char/tpm/tpm_nsc.c               |  34 +-
>  drivers/char/tpm/tpm_ppi.c               | 141 ++++---
>  drivers/char/tpm/tpm_tis.c               | 224 ++++++-----
>  drivers/char/tpm/xen-tpmfront.c          |  14 +-
>  21 files changed, 1820 insertions(+), 600 deletions(-)
>  create mode 100644 drivers/char/tpm/tpm-chip.c
>  create mode 100644 drivers/char/tpm/tpm2-cmd.c
>  create mode 100644 drivers/char/tpm/tpm_crb.c
> 
> -- 
> 2.1.0
> 

  parent reply	other threads:[~2014-12-15 20:17 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-12-12 19:46 [PATCH v10 0/8] TPM 2.0 support Jarkko Sakkinen
2014-12-12 19:46 ` [PATCH v10 1/8] tpm: merge duplicate transmit_cmd() functions Jarkko Sakkinen
     [not found]   ` <1418413600-5400-2-git-send-email-jarkko.sakkinen-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
2014-12-14 14:03     ` Stefan Berger
     [not found]       ` <548D98B8.3010003-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2014-12-14 14:57         ` Jarkko Sakkinen
     [not found]           ` <1418569030.9230.7.camel-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
2014-12-14 15:31             ` peterhuewe-Mmb7MZpHnFY
     [not found]               ` <889c95a4-ae60-44db-be8a-fd56a9497c78-2ueSQiBKiTY7tOexoI0I+QC/G2K4zDHf@public.gmane.org>
2014-12-14 15:42                 ` Jarkko Sakkinen
2014-12-12 19:46 ` [PATCH v10 3/8] tpm: fix raciness of PPI interface lookup Jarkko Sakkinen
     [not found] ` <1418413600-5400-1-git-send-email-jarkko.sakkinen-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
2014-12-12 19:46   ` [PATCH v10 2/8] tpm: two-phase chip management functions Jarkko Sakkinen
2014-12-12 19:46   ` [PATCH v10 4/8] tpm: rename chip->dev to chip->pdev Jarkko Sakkinen
2014-12-12 19:46   ` [PATCH v10 8/8] tpm: TPM 2.0 FIFO Interface Jarkko Sakkinen
     [not found]     ` <1418413600-5400-9-git-send-email-jarkko.sakkinen-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
2014-12-14 14:48       ` Stefan Berger
     [not found]         ` <548DA33A.4010300-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
2014-12-14 15:40           ` Jarkko Sakkinen
     [not found]             ` <20141214154003.GA13338-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2014-12-14 16:09               ` Stefan Berger
2014-12-15 20:17   ` Jarkko Sakkinen [this message]
2014-12-16 21:19     ` Aw: Re: [PATCH v10 0/8] TPM 2.0 support Peter Huewe
2014-12-16 21:31       ` Jarkko Sakkinen
2014-12-16 21:32       ` [tpmdd-devel] " Peter Huewe
2014-12-16 21:34         ` Jarkko Sakkinen
2014-12-12 19:46 ` [PATCH v10 5/8] tpm: device class for tpm Jarkko Sakkinen
2014-12-12 19:46 ` [PATCH v10 6/8] tpm: TPM 2.0 baseline support Jarkko Sakkinen
2014-12-12 19:46 ` [PATCH v10 7/8] tpm: TPM 2.0 CRB 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=20141215201757.GA27923@intel.com \
    --to=jarkko.sakkinen-vuqaysv1563yd54fqh9/ca@public.gmane.org \
    --cc=ashley-fm2HMyfA2y6tG0bUXCXiUA@public.gmane.org \
    --cc=christophe.ricard-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=jason.gunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org \
    --cc=josh-iaAMLnmF4UmaiuxdJuQwMA@public.gmane.org \
    --cc=linux-api-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=peterhuewe-Mmb7MZpHnFY@public.gmane.org \
    --cc=stefanb-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org \
    --cc=tpmdd-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org \
    --cc=tpmdd-yWjUBOtONefk1uMJSBkQmQ@public.gmane.org \
    --cc=trousers-tech-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org \
    /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;
as well as URLs for NNTP newsgroup(s).