linux-mips
[Top] [All Lists]

Re: conflicting declaration of prom_getcmdline()

To: Ralf Baechle <ralf@linux-mips.org>
Subject: Re: conflicting declaration of prom_getcmdline()
From: Geert Uytterhoeven <geert@linux-m68k.org>
Date: Mon, 4 Apr 2005 13:20:15 +0200 (CEST)
Cc: Ulrich Eckhardt <eckhardt@satorlaser.com>, Linux/MIPS Development <linux-mips@linux-mips.org>
In-reply-to: <20050404062105.GA4975@linux-mips.org>
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <200504011028.04244.eckhardt@satorlaser.com> <20050404062105.GA4975@linux-mips.org>
Sender: linux-mips-bounce@linux-mips.org
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

<Prev in Thread] Current Thread [Next in Thread>