[U-Boot] [PATCH 04/10] change all versions of input_data() and output_data() to global weak aliases

Marek Vasut
2012-10-07T18:14:23Z

Dear Pavel Herrmann,

> This changes input_data() and friends from static function to global
> symbols under weak alias, to enable board specific overrides (and
> therefore get rid of board-specific code in cmd_ide.c)
> Also declare ide_bus_offset in the header file, so other files can use
> ATA_CURR_BASE as well.
>
> Signed-off-by: Pavel Herrmann <morpheus.ibis@gmail.com>
> ---
[...]

> +void ide_input_swap_data(int dev, ulong *sect_buf, int words)
> + __attribute__ ((weak, alias("__ide_input_swap_data")));

#include <linux/compiler.h>

__weak void ide_input_swap_data(int dev, ulong *sect_buf, int words)
{
... body ...
}

Works just fine ;-)

[...]

> +/*
> + * I/O function overrides
> + */
> +void ide_input_swap_data(int dev, ulong *sect_buf, int words);
> +void ide_input_data(int dev, ulong *sect_buf, int words);
> +void ide_output_data(int dev, const ulong *sect_buf, int words);
> +void ide_input_data_shorts(int dev, ushort *sect_buf, int words);
> +void ide_output_data_shorts(int dev, ushort *sect_buf, int words);

Shorts ... you mean like pants ? :-p

I'd say it's supposed to be "short", like u16 ;-)

> +
> #endif /* _IDE_H */