From: Jiri Slaby Use __init macro for functions, that may be freed after initialization. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton --- drivers/char/stallion.c | 16 ++++++++-------- 1 files changed, 8 insertions(+), 8 deletions(-) diff -puN drivers/char/stallion.c~char-stallion-mark-functions-as-init drivers/char/stallion.c --- a/drivers/char/stallion.c~char-stallion-mark-functions-as-init +++ a/drivers/char/stallion.c @@ -700,7 +700,7 @@ static struct class *stallion_class; * Check for any arguments passed in on the module load command line. */ -static void stl_argbrds(void) +static void __init stl_argbrds(void) { struct stlconf conf; struct stlbrd *brdp; @@ -767,7 +767,7 @@ static unsigned long stl_atol(char *str) * Parse the supplied argument string, into the board conf struct. */ -static int stl_parsebrd(struct stlconf *confp, char **argp) +static int __init stl_parsebrd(struct stlconf *confp, char **argp) { char *sp; int i; @@ -2016,7 +2016,7 @@ static int __init stl_initports(struct s * Try to find and initialize an EasyIO board. */ -static int stl_initeio(struct stlbrd *brdp) +static int __init stl_initeio(struct stlbrd *brdp) { struct stlpanel *panelp; unsigned int status; @@ -2157,7 +2157,7 @@ static int stl_initeio(struct stlbrd *br * dealing with all types of ECH board. */ -static int stl_initech(struct stlbrd *brdp) +static int __init stl_initech(struct stlbrd *brdp) { struct stlpanel *panelp; unsigned int status, nxtid, ioaddr, conflict; @@ -2416,7 +2416,7 @@ static int __init stl_brdinit(struct stl * Find the next available board number that is free. */ -static int stl_getbrdnr(void) +static int __init stl_getbrdnr(void) { int i; @@ -2440,7 +2440,7 @@ static int stl_getbrdnr(void) * configuration space. */ -static int stl_initpcibrd(int brdtype, struct pci_dev *devp) +static int __init stl_initpcibrd(int brdtype, struct pci_dev *devp) { struct stlbrd *brdp; @@ -2502,7 +2502,7 @@ static int stl_initpcibrd(int brdtype, s */ -static int stl_findpcibrds(void) +static int __init stl_findpcibrds(void) { struct pci_dev *dev = NULL; int i, rc; @@ -2538,7 +2538,7 @@ static int stl_findpcibrds(void) * since the initial search and setup is too different. */ -static int stl_initbrds(void) +static int __init stl_initbrds(void) { struct stlbrd *brdp; struct stlconf *confp; _