Prepare U-Boot for gcc-4.x
authorWolfgang Denk <wd@pollux.denx.de>
Thu, 25 Aug 2005 23:36:03 +0000 (01:36 +0200)
committerWolfgang Denk <wd@pollux.denx.de>
Thu, 25 Aug 2005 23:36:03 +0000 (01:36 +0200)
drivers/ns8382x.c
lib_ppc/board.c
net/net.c
net/tftp.c

index 281940b2225887acc53540f6f288fdd83efe74bb..be99c3b4d7646012456ced3685a006affc847ebc 100644 (file)
@@ -745,7 +745,7 @@ static int
 ns8382x_send(struct eth_device *dev, volatile void *packet, int length)
 {
        u32 i, status = 0;
-       u32 tx_stat = 0;
+       vu_long tx_stat = 0;
 
        /* Stop the transmitter */
        OUTL(dev, TxOff, ChipCmd);
@@ -771,7 +771,7 @@ ns8382x_send(struct eth_device *dev, volatile void *packet, int length)
        /* restart the transmitter */
        OUTL(dev, TxOn, ChipCmd);
 
-       for (i = 0; ((vu_long)tx_stat = le32_to_cpu(txd.cmdsts)) & DescOwn; i++) {
+       for (i = 0; (tx_stat = le32_to_cpu(txd.cmdsts)) & DescOwn; i++) {
                if (i >= TOUT_LOOP) {
                        printf ("%s: tx error buffer not ready: txd.cmdsts %#X\n",
                             dev->name, tx_stat);
index dab268e351ab9163663ba16752420f816bf41ffe..04aa8f9b4d2eeae40de7587b20723c80a5ca4041 100644 (file)
@@ -352,6 +352,7 @@ void board_init_f (ulong bootflag)
 
        bd_t *bd;
        ulong len, addr, addr_sp;
+       ulong *s;
        gd_t *id;
        init_fnc_t **init_fnc_ptr;
 #ifdef CONFIG_PRAM
@@ -471,8 +472,10 @@ void board_init_f (ulong bootflag)
         */
        addr_sp -= 16;
        addr_sp &= ~0xF;
-       *((ulong *) addr_sp)-- = 0;
-       *((ulong *) addr_sp)-- = 0;
+       s = (ulong *)addr_sp;
+       *s-- = 0;
+       *s-- = 0;
+       addr_sp = (ulong)s;
        debug ("Stack Pointer at: %08lx\n", addr_sp);
 
        /*
index 00217be08103f85aef1b7b584a2f65da2aee41c6..d13ae74cd144646abe933c653721249996a890c8 100644 (file)
--- a/net/net.c
+++ b/net/net.c
@@ -1574,10 +1574,11 @@ unsigned
 NetCksum(uchar * ptr, int len)
 {
        ulong   xsum;
+       ushort *p = ptr;
 
        xsum = 0;
        while (len-- > 0)
-               xsum += *((ushort *)ptr)++;
+               xsum += *p++;
        xsum = (xsum & 0xffff) + (xsum >> 16);
        xsum = (xsum & 0xffff) + (xsum >> 16);
        return (xsum & 0xffff);
index 64a5576663c68ff6216d82b3d4a2eade05e7f2b0..03a002767a736bca72ba437efd0b0097ccd514a5 100644 (file)
@@ -106,6 +106,7 @@ TftpSend (void)
        volatile uchar *        pkt;
        volatile uchar *        xp;
        int                     len = 0;
+       volatile ushort *s;
 
        /*
         *      We will always be sending some sort of packet, so
@@ -117,7 +118,9 @@ TftpSend (void)
 
        case STATE_RRQ:
                xp = pkt;
-               *((ushort *)pkt)++ = htons(TFTP_RRQ);
+               s = (ushort *)pkt;
+               *s++ = htons(TFTP_RRQ);
+               pkt = (uchar *)s;
                strcpy ((char *)pkt, tftp_filename);
                pkt += strlen(tftp_filename) + 1;
                strcpy ((char *)pkt, "octet");
@@ -135,15 +138,19 @@ TftpSend (void)
        case STATE_DATA:
        case STATE_OACK:
                xp = pkt;
-               *((ushort *)pkt)++ = htons(TFTP_ACK);
-               *((ushort *)pkt)++ = htons(TftpBlock);
+               s = (ushort *)pkt;
+               *s++ = htons(TFTP_ACK);
+               *s++ = htons(TftpBlock);
+               pkt = (uchar *)s;
                len = pkt - xp;
                break;
 
        case STATE_TOO_LARGE:
                xp = pkt;
-               *((ushort *)pkt)++ = htons(TFTP_ERROR);
-               *((ushort *)pkt)++ = htons(3);
+               s = (ushort *)pkt;
+               *s++ = htons(TFTP_ERROR);
+               *s++ = htons(3);
+               pkt = (uchar *)s;
                strcpy ((char *)pkt, "File too large");
                pkt += 14 /*strlen("File too large")*/ + 1;
                len = pkt - xp;
@@ -151,8 +158,10 @@ TftpSend (void)
 
        case STATE_BAD_MAGIC:
                xp = pkt;
-               *((ushort *)pkt)++ = htons(TFTP_ERROR);
-               *((ushort *)pkt)++ = htons(2);
+               s = (ushort *)pkt;
+               *s++ = htons(TFTP_ERROR);
+               *s++ = htons(2);
+               pkt = (uchar *)s;
                strcpy ((char *)pkt, "File has bad magic");
                pkt += 18 /*strlen("File has bad magic")*/ + 1;
                len = pkt - xp;
@@ -167,6 +176,7 @@ static void
 TftpHandler (uchar * pkt, unsigned dest, unsigned src, unsigned len)
 {
        ushort proto;
+       ushort *s;
 
        if (dest != TftpOurPort) {
                return;
@@ -180,7 +190,9 @@ TftpHandler (uchar * pkt, unsigned dest, unsigned src, unsigned len)
        }
        len -= 2;
        /* warning: don't use increment (++) in ntohs() macros!! */
-       proto = *((ushort *)pkt)++;
+       s = (ushort *)pkt;
+       proto = *s++;
+       pkt = (uchar *)s;
        switch (ntohs(proto)) {
 
        case TFTP_RRQ: