summaryrefslogtreecommitdiff
path: root/net/net.c
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2011-10-26 14:18:38 +0000
committerWolfgang Denk <wd@denx.de>2011-10-27 23:53:57 +0200
commit39bccd21d0c838242fb86bceda759e5640d4d683 (patch)
treed3ca88c491ec71a1b3df6fc7f383d4f2321b4a1a /net/net.c
parent206d68fdd41e4942825cfc4a91a096297b654a24 (diff)
net: Hide more code behind CONFIG_CMD_TFTPPUT
This commit reduces code size a little by making the ICMP handler only available to tftpput. This is reasonable since it is the only user at present (ping just uses the normal handler). Signed-off-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'net/net.c')
-rw-r--r--net/net.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/net/net.c b/net/net.c
index 84f28bf32e1..11f41ed38e5 100644
--- a/net/net.c
+++ b/net/net.c
@@ -215,7 +215,9 @@ volatile uchar *NetRxPackets[PKTBUFSRX];
/* Current RX packet handler */
static rxhand_f *packetHandler;
+#ifdef CONFIG_CMD_TFTPPUT
static rxhand_icmp_f *packet_icmp_handler; /* Current ICMP rx handler */
+#endif
/* Current timeout handler */
static thand_f *timeHandler;
/* Time base value */
@@ -576,9 +578,11 @@ restart:
}
done:
+#ifdef CONFIG_CMD_TFTPPUT
/* Clear out the handlers */
NetSetHandler(NULL);
net_set_icmp_handler(NULL);
+#endif
return ret;
}
@@ -653,10 +657,12 @@ NetSetHandler(rxhand_f *f)
packetHandler = f;
}
+#ifdef CONFIG_CMD_TFTPPUT
void net_set_icmp_handler(rxhand_icmp_f *f)
{
packet_icmp_handler = f;
}
+#endif
void
NetSetTimeout(ulong iv, thand_f *f)
@@ -1397,10 +1403,12 @@ static void receive_icmp(IP_t *ip, int len, IPaddr_t src_ip, Ethernet_t *et)
break;
#endif
default:
+#ifdef CONFIG_CMD_TFTPPUT
if (packet_icmp_handler)
packet_icmp_handler(icmph->type, icmph->code,
ntohs(ip->udp_dst), src_ip, ntohs(ip->udp_src),
icmph->un.data, ntohs(ip->udp_len));
+#endif
break;
}
}