add __exit_p to complement __devexit_p
PATCH 1/1 add __exit_p to complement __devexit_p
Full GNU patch attached after description for easy review
Linus, please do a
bk pull bk://kernel.bkbits.net/jgarzik/exitp-2.5
This will update the following files:
drivers/net/tulip/de2104x.c | 3 +-- include/linux/init.h | 13 ++++++++++++- 2 files changed, 13 insertions(+), 3 deletions(-)
through these ChangeSets:
<[email protected]> (02/12/02 1.797.1.172)
Add __exit_p() to match existing __devexit_p().
This patch fixes de2104x net driver up by doing the following things:
(1) add __exit_p() to <linux/init.h>
(2) add the unused attributed to __exit routines for non-modules
(3) use __exit_p() to refer to de_remove_one()
# --------------------------------------------
# 02/12/02 [email protected] 1.797.1.172
# Add __exit_p() to match existing __devexit_p().
#
# This patch fixes de2104x net driver up by doing the following things:
# (1) add __exit_p() to <linux/init.h>
# (2) add the unused attributed to __exit routines for non-modules # (3) use __exit_p() to refer to de_remove_one()
# --------------------------------------------
#
drivers/net/tulip/de2104x.c +1 -2
@@ -2217,8 +2217,7 @@ .name = DRV_NAME, .id_table = de_pci_tbl, .probe = de_init_one, -#warning only here to fix build. should be __exit_p not __devexit_p. - .remove = __devexit_p(de_remove_one), + .remove =__exit_p (de_remove_one), #ifdef CONFIG_PM .suspend = de_suspend, .resume = de_resume,
include/linux/init.h +12 -1
@@ -42,10 +42,15 @@discard it in modules) */ #define __init __attribute__ ((__section__ (".init.text")))#define __initdata __attribute__ ((__section__ (".init.data"))) -#define __exit __attribute__ ((__section__(".exit.text")))#define __exitdata __attribute__ ((__section__(".exit.data")))#define __exit_call __attribute__ ((unused,__section__ (".exitcall.exit"))) +#ifdef MODULE +#define __exit __attribute__ ((__section__(".exit.text"))) +#else +#define __exit __attribute__ ((unused,__section__(".exit.text"))) +#endif +/* For assembly routines */ #define __INIT .section ".init.text","ax"#define __FINIT .previous
@@ -183,6 +188,12 @@#define __devexit_p (x) x#else #define __devexit_p (x) NULL +#endif + +#ifdef MODULE +#define __exit_p (x) x +#else +#define __exit_p (x) NULL#endif #endif /* _LINUX_INIT_H */