According to the C standard, pointer arithmetic for pointers of type
void is undefined behavior (the assumption that they're 8-bit wide is a
GCC-specific assumption). In the interest of keeping the code
standards-compliant, and also better communicate intent, switch all
void* variables where pointer arithmetic is used to u8* variables.
Signed-off-by: Mario Six <mario.six@gdsys.cc>
Signed-off-by: Stefan Roese <sr@denx.de>
static int flash_toggle(flash_info_t *info, flash_sect_t sect,
uint offset, uchar cmd)
{
- void *addr;
+ u8 *addr;
cfiword_t cword;
int retval;
flash_sect_t sector;
int cnt;
int retcode;
- void *src = cp;
- void *dst = (void *)dest;
- void *dst2 = dst;
+ u8 *src = cp;
+ u8 *dst = (u8 *)dest;
+ u8 *dst2 = dst;
int flag = 1;
uint offset = 0;
unsigned int shift;