Re: [PATCH] tpm: fix regression caused by section type conflict oftpm_dev_release() in ppc builds

From: Tony Camuso
Date: Mon May 27 2013 - 16:02:25 EST


On 05/27/2013 03:51 PM, Peter Huewe wrote:
> The 8119807 commit reintroduced a regression
> (error: __ksymtab_tpm_dev_release causes a section type conflict) that was fixed by commit
> cbb2ed4.
> Fix it for good by adding the prototype to tpm.h so sparse doesn't
> complain about it anymore.
>
> Reported-by: Tony Camuso <tcamuso@xxxxxxxxxx>
> Signed-off-by: Peter Huewe <peterhuewe@xxxxxx>
> ---
> James, can you please take this one directly and push it to next please?
> As it causes a build failure on ppc
>
> drivers/char/tpm/tpm.c | 2 +-
> drivers/char/tpm/tpm.h | 1 +
> 2 files changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/char/tpm/tpm.c b/drivers/char/tpm/tpm.c
> index 7c3b3dc..e3c974a 100644
> --- a/drivers/char/tpm/tpm.c
> +++ b/drivers/char/tpm/tpm.c
> @@ -1472,7 +1472,7 @@ EXPORT_SYMBOL_GPL(tpm_dev_vendor_release);
> * Once all references to platform device are down to 0,
> * release all allocated structures.
> */
> -static void tpm_dev_release(struct device *dev)
> +void tpm_dev_release(struct device *dev)
> {
> struct tpm_chip *chip = dev_get_drvdata(dev);
>
> diff --git a/drivers/char/tpm/tpm.h b/drivers/char/tpm/tpm.h
> index 4334232..a7bfc17 100644
> --- a/drivers/char/tpm/tpm.h
> +++ b/drivers/char/tpm/tpm.h
> @@ -332,6 +332,7 @@ extern struct tpm_chip* tpm_register_hardware(struct device *,
> const struct tpm_vendor_specific *);
> extern int tpm_open(struct inode *, struct file *);
> extern int tpm_release(struct inode *, struct file *);
> +extern void tpm_dev_release(struct device *dev);
> extern void tpm_dev_vendor_release(struct tpm_chip *);
> extern ssize_t tpm_write(struct file *, const char __user *, size_t,
> loff_t *);
>

Thanks, Peter. I should've mentioned that it didn't cause problems
with x86 build, only with ppc.




--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/