On Mon, 4 Apr 2005, Ralf Baechle wrote:
> On Fri, Apr 01, 2005 at 10:28:04AM +0200, Ulrich Eckhardt wrote:
> > I just stumbled over arch/mips/au1000/common/prom.c, which contains a
> > function
> > defined like this:
> > char* prom_getcmdline(void);
> > EXPORT_SYMBOL(prom_getcmdline);
> > while there are implementations that define the function as
> > char* __init prom_getcmdline();
> > Further, there are several declarations throughout sourcefiles and in
> > include/asm-mips/mips-boards/prom.h and include/asm-mips/sgialib.h. Just
> > grep
> > for it and you'll see the mess.
> >
> > If anyone tells me which one is right and cares to explain why I hereby
> > volunteer to create a patch. ;)
>
> __init was introduced long after prom_getcmdline() and not all definitions
> ever got updated. For prototypes where __init doesn't server any useful
> purpose other than for the human reader so we generally don't use it.
IIRC, there are architectures (alpha?) where __init does matter for prototypes
because a different jump type is used depending on the sections of the caller
and callee.
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
|