[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