[U-Boot] [PATCH] OneNAND: Fix compiler warnings and add weak attribute to memcpy_16()
Stefan Roese
sr at denx.de
Sat Nov 8 06:36:40 CET 2008
On Friday 07 November 2008, Scott Wood wrote:
> Stefan Roese wrote:
> > This patch adds memcpy_16_from_onenand() and memcpy_16_to_onenand()
> > functions and defaults them to the already available memcpy_16()
> > function. They are defined weak so that they can be overwritten by
> > a board/platform specific version.
> >
> > This is needed for the vcth board support (still to come) which needs
> > custom access routines here.
>
> Can it just override write_bufferram and read_bufferram?
There are multiple functions here using this memcpy_16():
onenand_read_bufferram()
onenand_sync_read_bufferram()
onenand_write_bufferram()
So it seemed "easier" for me to just override the memcpy_16() function itself.
> What does it
> need to do specially?
On our board the bufferram can't be accessed memory-mapped via pointer access.
We need special accessor functions. Something like this:
/*
* Accessor functions replacing the "weak" functions in
* drivers/mtd/onenand/onenand_base.c
*/
void *memcpy_16_from_onenand(void *dst, const void *src, unsigned int len)
{
void *ret = dst;
u16 *d = dst;
u16 *s = (u16 *)src;
len >>= 1;
while (len-- > 0)
*d++ = ebi_nand_read_word(s++);
return ret;
}
Best regards,
Stefan
=====================================================================
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-0 Fax: +49-8142-66989-80 Email: office at denx.de
=====================================================================
More information about the U-Boot
mailing list