From: Randy Dunlap Use __devexit_p() for the exit/remove function to protect against discarding it. WARNING: drivers/char/tpm/tpm_infineon.o - Section mismatch: reference to .exit.text:tpm_inf_pnp_remove from .data between 'tpm_inf_pnp' (at offset 0x20) and 'tpm_inf' Signed-off-by: Randy Dunlap Cc: Kylene Jo Hall Signed-off-by: Andrew Morton --- drivers/char/tpm/tpm_infineon.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletion(-) diff -puN drivers/char/tpm/tpm_infineon.c~tpm_infineon-section-fixup drivers/char/tpm/tpm_infineon.c --- devel/drivers/char/tpm/tpm_infineon.c~tpm_infineon-section-fixup 2006-04-14 22:20:31.000000000 -0700 +++ devel-akpm/drivers/char/tpm/tpm_infineon.c 2006-04-14 22:20:31.000000000 -0700 @@ -15,6 +15,7 @@ * License. */ +#include #include #include "tpm.h" @@ -520,7 +521,7 @@ static struct pnp_driver tpm_inf_pnp = { }, .id_table = tpm_pnp_tbl, .probe = tpm_inf_pnp_probe, - .remove = tpm_inf_pnp_remove, + .remove = __devexit_p(tpm_inf_pnp_remove), }; static int __init init_inf(void) _