]> git.sur5r.net Git - u-boot/blobdiff - examples/82559_eeprom.c
ppc: Fix roll over bug in flush_cache()
[u-boot] / examples / 82559_eeprom.c
index 1a121d42874e771be1858e1432c817e3314f1b24..5e2eee9e98b81ca3d57e1db908bd572ed033737f 100644 (file)
@@ -19,7 +19,6 @@
  */
 
 #define _PPC_STRING_H_         /* avoid unnecessary str/mem functions */
-#define _LINUX_STRING_H_       /* avoid unnecessary str/mem functions */
 
 #include <common.h>
 #include <exports.h>
@@ -51,13 +50,17 @@ static inline unsigned short swap16(unsigned short x)
 }
 
 
-static inline void *memcpy(void *dst, const void *src, unsigned int len)
+void * memcpy(void * dest,const void *src,size_t count)
 {
-       void * ret = dst;
-       while (len-- > 0) *((char *)dst)++ = *((char *)src)++;
-       return ret;
+       char *tmp = (char *) dest, *s = (char *) src;
+
+       while (count--)
+               *tmp++ = *s++;
+
+       return dest;
 }
 
+
 /* The EEPROM commands include the alway-set leading bit. */
 #define EE_WRITE_CMD   (5)
 #define EE_READ_CMD            (6)
@@ -156,7 +159,7 @@ static int reset_eeprom(unsigned long ioaddr, unsigned char *hwaddr)
        int size_test;
        int i;
 
-       printf("Resetting i82559 EEPROM @ 0x%08x ... ", ioaddr);
+       printf("Resetting i82559 EEPROM @ 0x%08lx ... ", ioaddr);
 
        size_test = do_eeprom_cmd(ioaddr, (EE_READ_CMD << 8) << 16, 27);
        eeprom_addr_size = (size_test & 0xffe0000) == 0xffe0000 ? 8 : 6;
@@ -305,7 +308,7 @@ write_config_word(int bus, int dev, int func, int reg, u16 data)
 int main (int argc, char *argv[])
 {
        unsigned char *eth_addr;
-       char buf[6];
+       uchar buf[6];
        int instance;
 
        app_startup(argv);