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 <[email protected]>
Signed-off-by: Peter Huewe <[email protected]>
---
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 *);
--
1.8.1.5
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 <[email protected]>
> Signed-off-by: Peter Huewe <[email protected]>
> ---
> 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.
Hi James,
The following changes since commit 5b88e270253db6d817e6a2f61909d1e53620e990:
maintainers: Remove Kent from maintainers
are available in the git repository at:
git://github.com/PeterHuewe/linux-tpmdd.git for-james
for you to fetch changes up to e2fa3d799b7471f00adae59ff36260ad8237929f:
tpm: fix regression caused by section type conflict of tpm_dev_release() in ppc builds
----------------------------------------------------------------
Peter Huewe (1):
tpm: fix regression caused by section type conflict of tpm_dev_release() in ppc builds
drivers/char/tpm/tpm.c | 2 +-
drivers/char/tpm/tpm.h | 1 +
2 files changed, 2 insertions(+), 1 deletion(-)
Thanks,
Peter
On Mon, 27 May 2013, Peter H?we wrote:
> Hi James,
>
> The following changes since commit 5b88e270253db6d817e6a2f61909d1e53620e990:
>
> maintainers: Remove Kent from maintainers
>
> are available in the git repository at:
>
> git://github.com/PeterHuewe/linux-tpmdd.git for-james
>
> for you to fetch changes up to e2fa3d799b7471f00adae59ff36260ad8237929f:
>
> tpm: fix regression caused by section type conflict of tpm_dev_release() in ppc builds
Pulled, thanks.
--
James Morris
<[email protected]>