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

Pavel Herrmann morpheus.ibis at gmail.com
Tue Oct 9 15:42:11 CEST 2012


On Sunday 07 of October 2012 20:14:23 Marek Vasut wrote:
> 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 at 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 ;-)

the code says "shorts", as in "multiple of u16", rather than "pants".

Pavel Herrmann


More information about the U-Boot mailing list