[U-Boot] [PATCH v7 14/27] net: Clean up network stack names used in DM drivers

Joe Hershberger joe.hershberger at ni.com
Sun Mar 22 23:09:11 CET 2015


Take the opportunity to enforce better names on newly written or
retrofitted Ethernet drivers.

Signed-off-by: Joe Hershberger <joe.hershberger at ni.com>
Reviewed-by: Simon Glass <sjg at chromium.org>

---

Changes in v7: None
Changes in v6: None
Changes in v5:
-New to v5

Changes in v4: None
Changes in v3: None
Changes in v2: None

 include/net.h |  9 ++++++++-
 net/net.c     | 30 +++++++++++++++++++-----------
 2 files changed, 27 insertions(+), 12 deletions(-)

diff --git a/include/net.h b/include/net.h
index fff82cb..31ef1ff 100644
--- a/include/net.h
+++ b/include/net.h
@@ -466,7 +466,11 @@ 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 uchar		*NetTxPacket;		/* THE transmit packet */
+#ifdef CONFIG_DM_ETH
+extern uchar		*net_rx_packets[PKTBUFSRX]; /* Receive packets */
+#else
 extern uchar		*NetRxPackets[PKTBUFSRX]; /* Receive packets */
+#endif
 extern uchar		*NetRxPacket;		/* Current receive packet */
 extern int		NetRxPacketLen;		/* Current rx packet length */
 extern unsigned		NetIPID;		/* IP ID (counting) */
@@ -616,8 +620,11 @@ static inline void NetSendPacket(uchar *pkt, int len)
 int NetSendUDPPacket(uchar *ether, IPaddr_t dest, int dport,
 			int sport, int payload_len);
 
+#ifndef CONFIG_DM_ETH
+#define NetReceive(in_packet, len) net_process_received_packet(in_packet, len)
+#endif
 /* Processes a received packet */
-void NetReceive(uchar *, int);
+void net_process_received_packet(uchar *in_packet, int len);
 
 #ifdef CONFIG_NETCONSOLE
 void NcStart(void);
diff --git a/net/net.c b/net/net.c
index 37b4aab..afec443 100644
--- a/net/net.c
+++ b/net/net.c
@@ -183,10 +183,13 @@ int		NetTimeOffset;
 #endif
 
 static uchar PktBuf[(PKTBUFSRX+1) * PKTSIZE_ALIGN + PKTALIGN];
-
+#ifdef CONFIG_DM_ETH
+/* Receive packets */
+uchar *net_rx_packets[PKTBUFSRX];
+#else
 /* Receive packet */
 uchar *NetRxPackets[PKTBUFSRX];
-
+#endif
 /* Current UDP RX packet handler */
 static rxhand_f *udp_packet_handler;
 /* Current ARP RX packet handler */
@@ -304,9 +307,15 @@ void net_init(void)
 
 		NetTxPacket = &PktBuf[0] + (PKTALIGN - 1);
 		NetTxPacket -= (ulong)NetTxPacket % PKTALIGN;
+#ifdef CONFIG_DM_ETH
+		for (i = 0; i < PKTBUFSRX; i++) {
+			net_rx_packets[i] = NetTxPacket + (i + 1) *
+				PKTSIZE_ALIGN;
+		}
+#else
 		for (i = 0; i < PKTBUFSRX; i++)
 			NetRxPackets[i] = NetTxPacket + (i + 1) * PKTSIZE_ALIGN;
-
+#endif
 		ArpInit();
 		net_clear_handlers();
 
@@ -952,8 +961,7 @@ static void receive_icmp(struct ip_udp_hdr *ip, int len,
 	}
 }
 
-void
-NetReceive(uchar *inpkt, int len)
+void net_process_received_packet(uchar *in_packet, int len)
 {
 	struct ethernet_hdr *et;
 	struct ip_udp_hdr *ip;
@@ -967,9 +975,9 @@ NetReceive(uchar *inpkt, int len)
 
 	debug_cond(DEBUG_NET_PKT, "packet received\n");
 
-	NetRxPacket = inpkt;
+	NetRxPacket = in_packet;
 	NetRxPacketLen = len;
-	et = (struct ethernet_hdr *)inpkt;
+	et = (struct ethernet_hdr *)in_packet;
 
 	/* too small packet? */
 	if (len < ETHER_HDR_SIZE)
@@ -977,7 +985,7 @@ NetReceive(uchar *inpkt, int len)
 
 #ifdef CONFIG_API
 	if (push_packet) {
-		(*push_packet)(inpkt, len);
+		(*push_packet)(in_packet, len);
 		return;
 	}
 #endif
@@ -1004,11 +1012,11 @@ NetReceive(uchar *inpkt, int len)
 		 */
 		eth_proto = ntohs(et802->et_prot);
 
-		ip = (struct ip_udp_hdr *)(inpkt + E802_HDR_SIZE);
+		ip = (struct ip_udp_hdr *)(in_packet + E802_HDR_SIZE);
 		len -= E802_HDR_SIZE;
 
 	} else if (eth_proto != PROT_VLAN) {	/* normal packet */
-		ip = (struct ip_udp_hdr *)(inpkt + ETHER_HDR_SIZE);
+		ip = (struct ip_udp_hdr *)(in_packet + ETHER_HDR_SIZE);
 		len -= ETHER_HDR_SIZE;
 
 	} else {			/* VLAN packet */
@@ -1033,7 +1041,7 @@ NetReceive(uchar *inpkt, int len)
 		vlanid = cti & VLAN_IDMASK;
 		eth_proto = ntohs(vet->vet_type);
 
-		ip = (struct ip_udp_hdr *)(inpkt + VLAN_ETHER_HDR_SIZE);
+		ip = (struct ip_udp_hdr *)(in_packet + VLAN_ETHER_HDR_SIZE);
 		len -= VLAN_ETHER_HDR_SIZE;
 	}
 
-- 
1.7.11.5



More information about the U-Boot mailing list