[U-Boot] [PATCH 01/28] net: Remove volatile from all of net except the eth driver interface
Simon Glass
sjg at chromium.org
Fri Jan 20 17:22:38 CET 2012
Hi Joe,
On Thu, Jan 19, 2012 at 4:53 PM, Joe Hershberger <joe.hershberger at ni.com> wrote:
> The mv_eth driver should not redefine the net function definition
>
> Signed-off-by: Joe Hershberger <joe.hershberger at ni.com>
> Cc: Joe Hershberger <joe.hershberger at gmail.com>
> Cc: Wolfgang Denk <wd at denx.de>
> ---
> board/Marvell/db64360/mv_eth.c | 2 --
> board/Marvell/db64460/mv_eth.c | 2 --
> board/esd/cpci750/mv_eth.c | 2 --
> board/prodrive/p3mx/mv_eth.c | 2 --
> include/net.h | 16 ++++++++--------
> net/bootp.c | 4 ++--
> net/net.c | 40 ++++++++++++++++++++--------------------
> net/rarp.c | 2 +-
> net/tftp.c | 6 +++---
> 9 files changed, 34 insertions(+), 42 deletions(-)
>
> diff --git a/board/Marvell/db64360/mv_eth.c b/board/Marvell/db64360/mv_eth.c
> index 6340585..550610e 100644
> --- a/board/Marvell/db64360/mv_eth.c
> +++ b/board/Marvell/db64360/mv_eth.c
> @@ -95,8 +95,6 @@ int mv64360_eth_xmit (struct eth_device *, volatile void *packet, int length);
> #ifndef UPDATE_STATS_BY_SOFTWARE
> static void mv64360_eth_print_stat (struct eth_device *dev);
> #endif
> -/* Processes a received packet */
> -extern void NetReceive (volatile uchar *, int);
>
> extern unsigned int INTERNAL_REG_BASE_ADDR;
>
> diff --git a/board/Marvell/db64460/mv_eth.c b/board/Marvell/db64460/mv_eth.c
> index 4aefbaf..c447229 100644
> --- a/board/Marvell/db64460/mv_eth.c
> +++ b/board/Marvell/db64460/mv_eth.c
> @@ -95,8 +95,6 @@ int mv64460_eth_xmit (struct eth_device *, volatile void *packet, int length);
> #ifndef UPDATE_STATS_BY_SOFTWARE
> static void mv64460_eth_print_stat (struct eth_device *dev);
> #endif
> -/* Processes a received packet */
> -extern void NetReceive (volatile uchar *, int);
>
> extern unsigned int INTERNAL_REG_BASE_ADDR;
>
> diff --git a/board/esd/cpci750/mv_eth.c b/board/esd/cpci750/mv_eth.c
> index 001c1ad..db2324b 100644
> --- a/board/esd/cpci750/mv_eth.c
> +++ b/board/esd/cpci750/mv_eth.c
> @@ -95,8 +95,6 @@ int mv64360_eth_xmit (struct eth_device *, volatile void *packet, int length);
> #ifndef UPDATE_STATS_BY_SOFTWARE
> static void mv64360_eth_print_stat (struct eth_device *dev);
> #endif
> -/* Processes a received packet */
> -extern void NetReceive (volatile uchar *, int);
>
> extern unsigned int INTERNAL_REG_BASE_ADDR;
>
> diff --git a/board/prodrive/p3mx/mv_eth.c b/board/prodrive/p3mx/mv_eth.c
> index 15b3bfc..f26ded8 100644
> --- a/board/prodrive/p3mx/mv_eth.c
> +++ b/board/prodrive/p3mx/mv_eth.c
> @@ -109,8 +109,6 @@ int phy_setup_aneg (char *devname, unsigned char addr);
> #ifndef UPDATE_STATS_BY_SOFTWARE
> static void mv64460_eth_print_stat (struct eth_device *dev);
> #endif
> -/* Processes a received packet */
> -extern void NetReceive (volatile uchar *, int);
>
> extern unsigned int INTERNAL_REG_BASE_ADDR;
>
> diff --git a/include/net.h b/include/net.h
> index e4d42c2..ccdb01d 100644
> --- a/include/net.h
> +++ b/include/net.h
> @@ -342,9 +342,9 @@ extern uchar NetOurEther[6]; /* Our ethernet address */
> extern uchar NetServerEther[6]; /* Boot server enet address */
> extern IPaddr_t NetOurIP; /* Our IP addr (0 = unknown) */
> extern IPaddr_t NetServerIP; /* Server IP addr (0 = unknown) */
> -extern volatile uchar * NetTxPacket; /* THE transmit packet */
> -extern volatile uchar * NetRxPackets[PKTBUFSRX];/* Receive packets */
> -extern volatile uchar * NetRxPacket; /* Current receive packet */
> +extern uchar *NetTxPacket; /* THE transmit packet */
> +extern uchar *NetRxPackets[PKTBUFSRX];/* Receive packets */
> +extern uchar *NetRxPacket; /* Current receive packet */
> extern int NetRxPacketLen; /* Current rx packet length */
> extern unsigned NetIPID; /* IP ID (counting) */
> extern uchar NetBcastAddr[6]; /* Ethernet boardcast address */
> @@ -408,10 +408,10 @@ extern void NetStartAgain(void);
> extern int NetEthHdrSize(void);
>
> /* Set ethernet header; returns the size of the header */
> -extern int NetSetEther(volatile uchar *, uchar *, uint);
> +extern int NetSetEther(uchar *, uchar *, uint);
>
> /* Set IP header */
> -extern void NetSetIP(volatile uchar *, IPaddr_t, int, int, int);
> +extern void NetSetIP(uchar *, IPaddr_t, int, int, int);
>
> /* Checksum */
> extern int NetCksumOk(uchar *, int); /* Return true if cksum OK */
> @@ -423,7 +423,7 @@ extern void net_set_icmp_handler(rxhand_icmp_f *f); /* Set ICMP RX handler */
> extern void NetSetTimeout(ulong, thand_f *);/* Set timeout handler */
>
> /* Transmit "NetTxPacket" */
> -extern void NetSendPacket(volatile uchar *, int);
> +extern void NetSendPacket(uchar *, int);
>
> /* Transmit UDP packet, performing ARP request if needed */
> extern int NetSendUDPPacket(uchar *ether, IPaddr_t dest, int dport, int sport, int len);
> @@ -445,7 +445,7 @@ void net_auto_load(void);
> * footprint in our tests.
> */
> /* return IP *in network byteorder* */
> -static inline IPaddr_t NetReadIP(volatile void *from)
> +static inline IPaddr_t NetReadIP(void *from)
> {
> IPaddr_t ip;
> memcpy((void*)&ip, (void*)from, sizeof(ip));
> @@ -467,7 +467,7 @@ static inline void NetWriteIP(void *to, IPaddr_t ip)
> }
>
> /* copy IP */
> -static inline void NetCopyIP(volatile void *to, void *from)
> +static inline void NetCopyIP(void *to, void *from)
> {
> memcpy((void*)to, from, sizeof(IPaddr_t));
> }
> diff --git a/net/bootp.c b/net/bootp.c
> index 34124b8..6d40608 100644
> --- a/net/bootp.c
> +++ b/net/bootp.c
> @@ -585,7 +585,7 @@ static int BootpExtended (u8 * e)
> void
> BootpRequest (void)
> {
> - volatile uchar *pkt, *iphdr;
> + uchar *pkt, *iphdr;
> Bootp_t *bp;
> int ext_len, pktlen, iplen;
>
> @@ -837,7 +837,7 @@ static int DhcpMessageType(unsigned char *popt)
>
> static void DhcpSendRequestPkt(Bootp_t *bp_offer)
> {
> - volatile uchar *pkt, *iphdr;
> + uchar *pkt, *iphdr;
> Bootp_t *bp;
> int pktlen, iplen, extlen;
> IPaddr_t OfferedIP;
> diff --git a/net/net.c b/net/net.c
> index 045405b..29e018c 100644
> --- a/net/net.c
> +++ b/net/net.c
> @@ -152,7 +152,7 @@ IPaddr_t NetOurIP;
> /* Server IP addr (0 = unknown) */
> IPaddr_t NetServerIP;
> /* Current receive packet */
> -volatile uchar *NetRxPacket;
> +uchar *NetRxPacket;
> /* Current rx packet length */
> int NetRxPacketLen;
> /* IP packet ID */
> @@ -208,10 +208,10 @@ void NcStart(void);
> int nc_input_packet(uchar *pkt, unsigned dest, unsigned src, unsigned len);
> #endif
>
> -volatile uchar PktBuf[(PKTBUFSRX+1) * PKTSIZE_ALIGN + PKTALIGN];
> +uchar PktBuf[(PKTBUFSRX+1) * PKTSIZE_ALIGN + PKTALIGN];
>
> /* Receive packet */
> -volatile uchar *NetRxPackets[PKTBUFSRX];
> +uchar *NetRxPackets[PKTBUFSRX];
>
> /* Current RX packet handler */
> static rxhand_f *packetHandler;
> @@ -225,7 +225,7 @@ static ulong timeStart;
> /* Current timeout value */
> static ulong timeDelta;
> /* THE transmit packet */
> -volatile uchar *NetTxPacket;
> +uchar *NetTxPacket;
>
> static int net_check_prereq(enum proto_t protocol);
>
> @@ -246,7 +246,7 @@ int NetArpWaitTry;
>
> void ArpRequest(void)
> {
> - volatile uchar *pkt;
> + uchar *pkt;
> ARP_t *arp;
>
> debug("ARP broadcast %d\n", NetArpWaitTry);
> @@ -704,7 +704,7 @@ NetSetTimeout(ulong iv, thand_f *f)
>
>
> void
> -NetSendPacket(volatile uchar *pkt, int len)
> +NetSendPacket(uchar *pkt, int len)
> {
> (void) eth_send(pkt, len);
> }
> @@ -767,8 +767,8 @@ static ushort PingSeqNo;
> int PingSend(void)
> {
> static uchar mac[6];
> - volatile IP_t *ip;
> - volatile ushort *s;
> + IP_t *ip;
> + ushort *s;
> uchar *pkt;
>
> /* XXX always send arp request */
> @@ -783,7 +783,7 @@ int PingSend(void)
> pkt = NetArpWaitTxPacket;
> pkt += NetSetEther(pkt, mac, PROT_IP);
>
> - ip = (volatile IP_t *)pkt;
> + ip = (IP_t *)pkt;
>
> /*
> * Construct an IP and ICMP header.
> @@ -935,9 +935,9 @@ static ushort CDP_compute_csum(const uchar *buff, ushort len)
>
> int CDPSendTrigger(void)
> {
> - volatile uchar *pkt;
> - volatile ushort *s;
> - volatile ushort *cp;
> + uchar *pkt;
> + ushort *s;
> + ushort *cp;
> Ethernet_t *et;
> int len;
> ushort chksum;
> @@ -964,7 +964,7 @@ int CDPSendTrigger(void)
> /* CDP header */
> *pkt++ = 0x02; /* CDP version 2 */
> *pkt++ = 180; /* TTL */
> - s = (volatile ushort *)pkt;
> + s = (ushort *)pkt;
> cp = s;
> /* checksum (0 for later calculation) */
> *s++ = htons(0);
> @@ -1454,9 +1454,9 @@ NetReceive(volatile uchar *inpkt, int len)
>
> debug("packet received\n");
>
> - NetRxPacket = inpkt;
> + NetRxPacket = (uchar *)inpkt;
> NetRxPacketLen = len;
> - et = (Ethernet_t *)inpkt;
> + et = (Ethernet_t *)NetRxPacket;
Why change this?
>
> /* too small packet? */
> if (len < ETHER_HDR_SIZE)
> @@ -1491,11 +1491,11 @@ NetReceive(volatile uchar *inpkt, int len)
> */
> x = ntohs(et->et_prot);
>
> - ip = (IP_t *)(inpkt + E802_HDR_SIZE);
> + ip = (IP_t *)(NetRxPacket + E802_HDR_SIZE);
and these? You are using a global instead of the passed-in local.
> len -= E802_HDR_SIZE;
>
> } else if (x != PROT_VLAN) { /* normal packet */
> - ip = (IP_t *)(inpkt + ETHER_HDR_SIZE);
> + ip = (IP_t *)(NetRxPacket + ETHER_HDR_SIZE);
> len -= ETHER_HDR_SIZE;
>
> } else { /* VLAN packet */
> @@ -1519,7 +1519,7 @@ NetReceive(volatile uchar *inpkt, int len)
> vlanid = cti & VLAN_IDMASK;
> x = ntohs(vet->vet_type);
>
> - ip = (IP_t *)(inpkt + VLAN_ETHER_HDR_SIZE);
> + ip = (IP_t *)(NetRxPacket + VLAN_ETHER_HDR_SIZE);
> len -= VLAN_ETHER_HDR_SIZE;
> }
>
> @@ -1917,7 +1917,7 @@ NetEthHdrSize(void)
> }
>
> int
> -NetSetEther(volatile uchar *xet, uchar * addr, uint prot)
> +NetSetEther(uchar *xet, uchar * addr, uint prot)
> {
> Ethernet_t *et = (Ethernet_t *)xet;
> ushort myvlanid;
> @@ -1942,7 +1942,7 @@ NetSetEther(volatile uchar *xet, uchar * addr, uint prot)
> }
>
> void
> -NetSetIP(volatile uchar *xip, IPaddr_t dest, int dport, int sport, int len)
> +NetSetIP(uchar *xip, IPaddr_t dest, int dport, int sport, int len)
> {
> IP_t *ip = (IP_t *)xip;
>
> diff --git a/net/rarp.c b/net/rarp.c
> index 097f970..77d63e8 100644
> --- a/net/rarp.c
> +++ b/net/rarp.c
> @@ -71,7 +71,7 @@ void
> RarpRequest (void)
> {
> int i;
> - volatile uchar *pkt;
> + uchar *pkt;
> ARP_t * rarp;
>
> printf("RARP broadcast %d\n", ++RarpTry);
> diff --git a/net/tftp.c b/net/tftp.c
> index 7aa3e23..e62f229 100644
> --- a/net/tftp.c
> +++ b/net/tftp.c
> @@ -310,9 +310,9 @@ static void
> TftpSend(void)
> {
> uchar *pkt;
> - volatile uchar *xp;
> - int len = 0;
> - volatile ushort *s;
> + uchar *xp;
> + int len = 0;
> + ushort *s;
>
> #ifdef CONFIG_MCAST_TFTP
> /* Multicast TFTP.. non-MasterClients do not ACK data. */
> --
> 1.6.0.2
>
> _______________________________________________
> U-Boot mailing list
> U-Boot at lists.denx.de
> http://lists.denx.de/mailman/listinfo/u-boot
Regards,
Simon
More information about the U-Boot
mailing list