[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [patch] infineon tpm build fix


  • To: xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxx>
  • From: Gerd Knorr <kraxel@xxxxxxx>
  • Date: Fri, 11 Nov 2005 16:32:24 +0100
  • Delivery-date: Fri, 11 Nov 2005 15:32:32 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>

  Hi,

The attached patch is for the http://xenbits.xensource.com/linux-2.6-xen.hg linux kernel source tree. It adapts the infinion tpm driver to the general tpm changes and is needed to build it.

please apply,

  Gerd
Index: linux-2.6.14-xen/drivers/char/tpm/tpm_infineon.c
===================================================================
--- linux-2.6.14-xen.orig/drivers/char/tpm/tpm_infineon.c       2005-10-28 
02:02:08.000000000 +0200
+++ linux-2.6.14-xen/drivers/char/tpm/tpm_infineon.c    2005-11-11 
16:04:16.000000000 +0100
@@ -143,10 +143,10 @@ static int wait(struct tpm_chip *chip, i
        }
        if (i == TPM_MAX_TRIES) {       /* timeout occurs */
                if (wait_for_bit == STAT_XFE)
-                       dev_err(&chip->pci_dev->dev,
+                       dev_err(chip->dev,
                                "Timeout in wait(STAT_XFE)\n");
                if (wait_for_bit == STAT_RDA)
-                       dev_err(&chip->pci_dev->dev,
+                       dev_err(chip->dev,
                                "Timeout in wait(STAT_RDA)\n");
                return -EIO;
        }
@@ -170,7 +170,7 @@ static void wait_and_send(struct tpm_chi
 static void tpm_wtx(struct tpm_chip *chip)
 {
        number_of_wtx++;
-       dev_info(&chip->pci_dev->dev, "Granting WTX (%02d / %02d)\n",
+       dev_info(chip->dev, "Granting WTX (%02d / %02d)\n",
                 number_of_wtx, TPM_MAX_WTX_PACKAGES);
        wait_and_send(chip, TPM_VL_VER);
        wait_and_send(chip, TPM_CTRL_WTX);
@@ -181,7 +181,7 @@ static void tpm_wtx(struct tpm_chip *chi
 
 static void tpm_wtx_abort(struct tpm_chip *chip)
 {
-       dev_info(&chip->pci_dev->dev, "Aborting WTX\n");
+       dev_info(chip->dev, "Aborting WTX\n");
        wait_and_send(chip, TPM_VL_VER);
        wait_and_send(chip, TPM_CTRL_WTX_ABORT);
        wait_and_send(chip, 0x00);
@@ -206,7 +206,7 @@ recv_begin:
        }
 
        if (buf[0] != TPM_VL_VER) {
-               dev_err(&chip->pci_dev->dev,
+               dev_err(chip->dev,
                        "Wrong transport protocol implementation!\n");
                return -EIO;
        }
@@ -221,7 +221,7 @@ recv_begin:
                }
 
                if ((size == 0x6D00) && (buf[1] == 0x80)) {
-                       dev_err(&chip->pci_dev->dev,
+                       dev_err(chip->dev,
                                "Error handling on vendor layer!\n");
                        return -EIO;
                }
@@ -234,7 +234,7 @@ recv_begin:
        }
 
        if (buf[1] == TPM_CTRL_WTX) {
-               dev_info(&chip->pci_dev->dev, "WTX-package received\n");
+               dev_info(chip->dev, "WTX-package received\n");
                if (number_of_wtx < TPM_MAX_WTX_PACKAGES) {
                        tpm_wtx(chip);
                        goto recv_begin;
@@ -245,14 +245,14 @@ recv_begin:
        }
 
        if (buf[1] == TPM_CTRL_WTX_ABORT_ACK) {
-               dev_info(&chip->pci_dev->dev, "WTX-abort acknowledged\n");
+               dev_info(chip->dev, "WTX-abort acknowledged\n");
                return size;
        }
 
        if (buf[1] == TPM_CTRL_ERROR) {
-               dev_err(&chip->pci_dev->dev, "ERROR-package received:\n");
+               dev_err(chip->dev, "ERROR-package received:\n");
                if (buf[4] == TPM_INF_NAK)
-                       dev_err(&chip->pci_dev->dev,
+                       dev_err(chip->dev,
                                "-> Negative acknowledgement"
                                " - retransmit command!\n");
                return -EIO;
@@ -271,7 +271,7 @@ static int tpm_inf_send(struct tpm_chip 
 
        ret = empty_fifo(chip, 1);
        if (ret) {
-               dev_err(&chip->pci_dev->dev, "Timeout while clearing FIFO\n");
+               dev_err(chip->dev, "Timeout while clearing FIFO\n");
                return -EIO;
        }
 
@@ -488,7 +488,7 @@ static int __devinit tpm_inf_probe(struc
                         vendorid[0], vendorid[1],
                         productid[0], productid[1], chipname);
 
-               rc = tpm_register_hardware(pci_dev, &tpm_inf);
+               rc = tpm_register_hardware(&pci_dev->dev, &tpm_inf);
                if (rc < 0)
                        goto error;
                return 0;
@@ -503,6 +503,14 @@ error2:
        }
 }
 
+static void __devexit tpm_inf_remove(struct pci_dev *pci_dev)
+{
+       struct tpm_chip *chip = pci_get_drvdata(pci_dev);
+
+       if (chip)
+               tpm_remove_hardware(chip->dev);
+}
+
 static struct pci_device_id tpm_pci_tbl[] __devinitdata = {
        {PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801BA_0)},
        {PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801CA_12)},
@@ -521,7 +529,7 @@ static struct pci_driver inf_pci_driver 
        .name = "tpm_inf",
        .id_table = tpm_pci_tbl,
        .probe = tpm_inf_probe,
-       .remove = __devexit_p(tpm_remove),
+       .remove = __devexit_p(tpm_inf_remove),
        .suspend = tpm_pm_suspend,
        .resume = tpm_pm_resume,
 };
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.