[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAM0nabFLeW+1krAQxk=FPBAjSag7Jbwgkh=6vVWV_iXy2ULm0Q@mail.gmail.com>
Date: Tue, 27 Nov 2012 08:48:49 -0600
From: Kent Yoder <shpedoikal@...il.com>
To: Mathias LEBLANC <Mathias.LEBLANC@...com>
Cc: Kent Yoder <key@...ux.vnet.ibm.com>,
Jean-Luc BLANC <jean-luc.blanc@...com>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
Rajiv Andrade <mail@...jiv.net>,
"tpmdd-devel@...ts.sourceforge.net"
<tpmdd-devel@...ts.sourceforge.net>, Sirrix AG <tpmdd@...rix.com>
Subject: Re: [tpmdd-devel] [PATCH 1/1] TPM: STMicroelectronics ST33 I2C KERNEL 3.x.x
On Tue, Nov 27, 2012 at 2:44 AM, Mathias LEBLANC <Mathias.LEBLANC@...com> wrote:
> Hi Kent,
>
> What's version of the kernel do you compiled?
> I don't understand why you have some problem with formating, i have send you the patch with no error and warning of code formating.
> The tpm_continue_selftest_nocheck() (in kernel 3.x.x) and tpm_continue_selftest() (in kernel 2.6.x) is called to have the tpm ready.
> If the tpm_continue_selftest is not called by the driver, it will be use in the applications.
Apply against this tree's "next" branch.
git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security.git
Thanks,
Kent
> Regards,
>
> Matthias Leblanc
> ________________________________________
> From: Kent Yoder [key@...ux.vnet.ibm.com]
> Sent: 26 November 2012 18:46
> To: Mathias LEBLANC
> Cc: Rajiv Andrade; Marcel Selhorst; Sirrix AG; tpmdd-devel@...ts.sourceforge.net; Debora Velarde; linux-kernel@...r.kernel.org; Jean-Luc BLANC
> Subject: Re: [PATCH 1/1] TPM: STMicroelectronics ST33 I2C KERNEL 3.x.x
>
> Hi Mathias,
>
> On Mon, Nov 19, 2012 at 11:15:21PM +0100, Mathias Leblanc wrote:
>> * STMicroelectronics version 1.2.0, Copyright (C) 2010
>> * STMicroelectronics comes with ABSOLUTELY NO WARRANTY.
>> * This is free software, and you are welcome to redistribute it
>> * under certain conditions.
>>
>> This is the driver for TPM chip from ST Microelectronics.
>>
>> If you have a TPM security chip from STMicroelectronics working with
>> an I2C, in menuconfig or .config choose the tpm driver on
>> device --> tpm and activate the protocol of your choice before compiling
>> the kernel.
>> The driver will be accessible from within Linux.
>>
>> Tested on linux x86/x64, beagleboard REV B & XM REV C and CHROMIUM OS
>> on kernel 3.x.x
>>
>> Signed-off-by: Mathias Leblanc <mathias.leblanc@...com>
>> ---
>> drivers/char/tpm/tpm_stm_st33_i2c.c | 903 ++++++++++++++++++++++++++++++++++
>> drivers/char/tpm/tpm_stm_st33_i2c.h | 81 +++
>> include/linux/i2c/tpm_stm_st33_i2c.h | 47 ++
>> 3 files changed, 1031 insertions(+)
>> create mode 100644 drivers/char/tpm/tpm_stm_st33_i2c.c
>> create mode 100644 drivers/char/tpm/tpm_stm_st33_i2c.h
>> create mode 100644 include/linux/i2c/tpm_stm_st33_i2c.h
>
> I'm still getting the compiler errors I mentioned earlier. I've fixed
> them up with the patch below (plus some formatting), all except for the
> tpm_continue_selftest_nocheck() problem. Do you really need to call
> continue selftest on resume? That strikes me as out of place here.
> What's making the call to the TPM to start the self test in that case?
>
> Please test with the patch below.
>
> Thanks,
> Kent
>
>
> diff --git a/drivers/char/tpm/tpm_stm_st33_i2c.c b/drivers/char/tpm/tpm_stm_st33_i2c.c
> index 52f3380..67f81b6 100644
> --- a/drivers/char/tpm/tpm_stm_st33_i2c.c
> +++ b/drivers/char/tpm/tpm_stm_st33_i2c.c
> @@ -722,7 +722,7 @@ tpm_st33_i2c_probe(struct i2c_client *client, const struct i2c_device_id *id)
> goto _irq_set;
>
> intmask = TPM_GLOBAL_INT_ENABLE;
> - err = I2C_WRITE_DATA(client, TPM_INT_ENABLE + 3, &intmask, 1);
> + err = I2C_WRITE_DATA(client, (TPM_INT_ENABLE + 3), &intmask, 1);
> if (err < 0)
> goto _irq_set;
>
> @@ -820,10 +820,10 @@ static int tpm_st33_i2c_pm_suspend(struct i2c_client *client, pm_message_t mesg)
>
> if (power_mgt)
> gpio_set_value(pin_infos->io_lpcpd, 0);
> - else{
> + else {
> if (chip->data_buffer == NULL)
> chip->data_buffer = pin_infos->tpm_i2c_buffer[0];
> - ret = tpm_pm_suspend(&client->dev, mesg);
> + ret = tpm_pm_suspend(&client->dev);
> }
> return ret;
> } /* tpm_st33_i2c_suspend() */
> @@ -848,12 +848,12 @@ static int tpm_st33_i2c_pm_resume(struct i2c_client *client)
> (chip->vendor.status(chip) &&
> TPM_STS_VALID) == TPM_STS_VALID,
> chip->vendor.timeout_b);
> - } else{
> - if (chip->data_buffer == NULL)
> - chip->data_buffer = pin_infos->tpm_i2c_buffer[0];
> - ret = tpm_pm_resume(&client->dev);
> - if (!ret)
> - tpm_continue_selftest_nocheck(chip);
> + } else {
> + if (chip->data_buffer == NULL)
> + chip->data_buffer = pin_infos->tpm_i2c_buffer[0];
> + ret = tpm_pm_resume(&client->dev);
> + if (!ret)
> + tpm_continue_selftest_nocheck(chip);
> }
> return ret;
> } /* tpm_st33_i2c_pm_resume() */
>
> ------------------------------------------------------------------------------
> Monitor your physical, virtual and cloud infrastructure from a single
> web console. Get in-depth insight into apps, servers, databases, vmware,
> SAP, cloud infrastructure, etc. Download 30-day Free Trial.
> Pricing starts from $795 for 25 servers or applications!
> http://p.sf.net/sfu/zoho_dev2dev_nov
> _______________________________________________
> tpmdd-devel mailing list
> tpmdd-devel@...ts.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/tpmdd-devel
--
IBM LTC Security
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists