Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1381939

[PATCH v11 2/4] tpm: Introduce TPM_CHIP_FLAG_VIRTUAL

From Stefan Berger <stefanb@linux.vnet.ibm.com>
Newsgroups linux.kernel
Subject [PATCH v11 2/4] tpm: Introduce TPM_CHIP_FLAG_VIRTUAL
Date 2016-04-18 19:30 +0200
Message-ID <rpl9M-Ut-19@gated-at.bofh.it> (permalink)
References <rpl9L-Ut-3@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


Introduce TPM_CHIP_FLAG_VIRTUAL to be used when the chip device has no
parent device.

Prevent sysfs entries requiring a parent device from being created.

Signed-off-by: Stefan Berger <stefanb@linux.vnet.ibm.com>
Reviewed-by: Jason Gunthorpe <jgunthorpe@obsidianresearch.com>
---
 drivers/char/tpm/tpm-chip.c | 7 +++++--
 drivers/char/tpm/tpm.h      | 1 +
 2 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/drivers/char/tpm/tpm-chip.c b/drivers/char/tpm/tpm-chip.c
index 7e2c9cf..a12db8e 100644
--- a/drivers/char/tpm/tpm-chip.c
+++ b/drivers/char/tpm/tpm-chip.c
@@ -181,6 +181,9 @@ struct tpm_chip *tpm_chip_alloc(struct device *dev,
 	if (rc)
 		goto out;
 
+	if (!dev)
+		chip->flags |= TPM_CHIP_FLAG_VIRTUAL;
+
 	cdev_init(&chip->cdev, &tpm_fops);
 	chip->cdev.owner = THIS_MODULE;
 	chip->cdev.kobj.parent = &chip->dev.kobj;
@@ -297,7 +300,7 @@ static void tpm_del_legacy_sysfs(struct tpm_chip *chip)
 {
 	struct attribute **i;
 
-	if (chip->flags & TPM_CHIP_FLAG_TPM2)
+	if (chip->flags & (TPM_CHIP_FLAG_TPM2 | TPM_CHIP_FLAG_VIRTUAL))
 		return;
 
 	sysfs_remove_link(&chip->dev.parent->kobj, "ppi");
@@ -315,7 +318,7 @@ static int tpm_add_legacy_sysfs(struct tpm_chip *chip)
 	struct attribute **i;
 	int rc;
 
-	if (chip->flags & TPM_CHIP_FLAG_TPM2)
+	if (chip->flags & (TPM_CHIP_FLAG_TPM2 | TPM_CHIP_FLAG_VIRTUAL))
 		return 0;
 
 	rc = __compat_only_sysfs_link_entry_to_kobj(
diff --git a/drivers/char/tpm/tpm.h b/drivers/char/tpm/tpm.h
index 508e8e0..ff4e53c 100644
--- a/drivers/char/tpm/tpm.h
+++ b/drivers/char/tpm/tpm.h
@@ -138,6 +138,7 @@ enum tpm_chip_flags {
 	TPM_CHIP_FLAG_REGISTERED	= BIT(0),
 	TPM_CHIP_FLAG_TPM2		= BIT(1),
 	TPM_CHIP_FLAG_IRQ		= BIT(2),
+	TPM_CHIP_FLAG_VIRTUAL		= BIT(3),
 };
 
 struct tpm_chip {
-- 
2.4.3

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH v11 0/4] Multi-instance vTPM proxy driver Stefan Berger <stefanb@linux.vnet.ibm.com> - 2016-04-18 19:30 +0200
  [PATCH v11 1/4] tpm: Remove all uses of drvdata from the TPM Core Stefan Berger <stefanb@linux.vnet.ibm.com> - 2016-04-18 19:30 +0200
    Re: [PATCH v11 1/4] tpm: Remove all uses of drvdata from the TPM Core Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com> - 2016-04-19 12:20 +0200
      Re: [PATCH v11 1/4] tpm: Remove all uses of drvdata from the TPM Core Stefan Berger <stefanb@linux.vnet.ibm.com> - 2016-04-19 12:40 +0200
        Re: [PATCH v11 1/4] tpm: Remove all uses of drvdata from the TPM Core Jason Gunthorpe <jgunthorpe@obsidianresearch.com> - 2016-04-19 19:10 +0200
          Re: [PATCH v11 1/4] tpm: Remove all uses of drvdata from the TPM Core Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com> - 2016-04-20 07:40 +0200
        Re: [PATCH v11 1/4] tpm: Remove all uses of drvdata from the TPM Core Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com> - 2016-04-19 19:30 +0200
    Re: [PATCH v11 1/4] tpm: Remove all uses of drvdata from the TPM Core Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com> - 2016-04-22 17:10 +0200
      Re: [PATCH v11 1/4] tpm: Remove all uses of drvdata from the TPM Core Stefan Berger <stefanb@linux.vnet.ibm.com> - 2016-04-25 21:20 +0200
  [PATCH v11 4/4] tpm: Add documentation for the tpm_vtpm_proxy device driver Stefan Berger <stefanb@linux.vnet.ibm.com> - 2016-04-18 19:30 +0200
    Re: [PATCH v11 4/4] tpm: Add documentation for the tpm_vtpm_proxy  device driver Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com> - 2016-04-22 18:50 +0200
  [PATCH v11 3/4] tpm: Proxy driver for supporting multiple emulated TPMs Stefan Berger <stefanb@linux.vnet.ibm.com> - 2016-04-18 19:30 +0200
    Re: [PATCH v11 3/4] tpm: Proxy driver for supporting multiple  emulated TPMs Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com> - 2016-04-22 18:50 +0200
  [PATCH v11 2/4] tpm: Introduce TPM_CHIP_FLAG_VIRTUAL Stefan Berger <stefanb@linux.vnet.ibm.com> - 2016-04-18 19:30 +0200
    Re: [PATCH v11 2/4] tpm: Introduce TPM_CHIP_FLAG_VIRTUAL Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com> - 2016-04-22 18:50 +0200
  Re: [PATCH v11 0/4] Multi-instance vTPM proxy driver Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com> - 2016-04-22 19:00 +0200
    Re: [tpmdd-devel] [PATCH v11 0/4] Multi-instance vTPM proxy driver Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com> - 2016-04-26 11:30 +0200
      Re: [tpmdd-devel] [PATCH v11 0/4] Multi-instance vTPM proxy driver Stefan Berger <stefanb@linux.vnet.ibm.com> - 2016-04-26 13:40 +0200
        Re: [tpmdd-devel] [PATCH v11 0/4] Multi-instance vTPM proxy driver Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com> - 2016-04-27 15:00 +0200
          Re: [tpmdd-devel] [PATCH v11 0/4] Multi-instance vTPM proxy driver Stefan Berger <stefanb@linux.vnet.ibm.com> - 2016-04-27 18:30 +0200

csiph-web