[U-Boot-Users] [PATCH] Functions added to extern for stand alone programs
Håvard Skinnemoen
hskinnemoen at gmail.com
Sat May 19 00:32:35 CEST 2007
On 5/10/07, Wolfgang Denk <wd at denx.de> wrote:
> +#if (CONFIG_COMMANDS & CFG_CMD_FLASH)
> + gd->jt[XF_do_protect] = (void *) do_protect;
> + gd->jt[XF_do_flerase] = (void *) do_flerase;
> +#endif
> }
>
> This #ifdef maze is too much even for my standards. And that does
> mean something.
>
> Is there anybody out there with an idea how to avoid that?
The cond_syscall() macro in the Linux kernel might be worth stealing.
How about something like this?
#define cond_extern(name) asm(".weak\t" #name "\n\t.set\t" #name ",
unimpl_extern")
static int unimpl_extern(void)
{
return -ENOSYS; /* or something more appropriate */
}
cond_extern(do_protect);
cond_extern(do_flerase);
Haavard
More information about the U-Boot
mailing list