Messages in this thread | | | Date | Wed, 14 Nov 2012 16:06:47 -0600 | From | Kent Yoder <> | Subject | Re: [PATCH 1/1] TPM: STMicroelectronics ST33 I2C |
| |
Hi Mathias,
On Wed, Nov 14, 2012 at 03:31:42PM +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
Getting some build errors here:
drivers/char/tpm/tpm_stm_st33_i2c.c: In function ‘__check_interrupts’: drivers/char/tpm/tpm_stm_st33_i2c.c:615:1: warning: return from incompatible pointer type [enabled by default] drivers/char/tpm/tpm_stm_st33_i2c.c: In function ‘__check_power_mgt’: drivers/char/tpm/tpm_stm_st33_i2c.c:619:1: warning: return from incompatible pointer type [enabled by default] drivers/char/tpm/tpm_stm_st33_i2c.c: In function ‘tpm_st33_i2c_probe’: drivers/char/tpm/tpm_stm_st33_i2c.c:725:3: warning: suggest parentheses around arithmetic in operand of ‘|’ [-Wparentheses] drivers/char/tpm/tpm_stm_st33_i2c.c: In function ‘tpm_st33_i2c_pm_suspend’: drivers/char/tpm/tpm_stm_st33_i2c.c:826:3: error: too many arguments to function ‘tpm_pm_suspend’ In file included from drivers/char/tpm/tpm_stm_st33_i2c.h:55:0, from drivers/char/tpm/tpm_stm_st33_i2c.c:35: drivers/char/tpm/tpm.h:326:12: note: declared here drivers/char/tpm/tpm_stm_st33_i2c.c: In function ‘tpm_st33_i2c_pm_resume’: drivers/char/tpm/tpm_stm_st33_i2c.c:855:3: error: implicit declaration of function ‘tpm_continue_selftest’ [-Werror=implicit-function-declaration]
[cut] > +/* > + * _wait_for_interrupt_serirq_timeout > + * @param: tpm, the chip description > + * @param: timeout, the timeout of the interrupt > + * @return: the status of the interruption. > + */ > +static int _wait_for_interrupt_serirq_timeout(struct tpm_chip *chip, > + unsigned long timeout) > +{ > + int status; > + struct i2c_client *client; > + struct st33zp24_platform_data *pin_infos; > + > + client = (struct i2c_client *) chip->vendor.iobase; > + pin_infos = client->dev.platform_data; > + > + status = wait_for_completion_interruptible_timeout( > + &pin_infos->irq_detection, > + timeout);
status should be a long here.
[cut] > + > + if (client == NULL) { > + pr_info("client is NULL. exiting.\n"); > + err = -ENODEV; > + goto end; > + } > + > + if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) { > + pr_info("client not i2c capable\n"); > + err = -ENODEV; > + goto end; > + } > + > + chip = tpm_register_hardware(&client->dev, &st_i2c_tpm); > + if (!chip) { > + pr_info("fail chip\n");
Please use dev_info() in place of pr_info().
Thanks, Kent
-- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |