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

Marek Vasut marex at denx.de
Tue Oct 9 19:13:12 CEST 2012


Dear Pavel Herrmann,

> 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".

Hm, ide_input_data_u16 is good, no ?

Best regards,
Marek Vasut


More information about the U-Boot mailing list