aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/s390/net/qeth_l3_main.c
diff options
context:
space:
mode:
authorPaul Gortmaker <paul.gortmaker@windriver.com>2012-05-10 15:50:52 -0400
committerPaul Gortmaker <paul.gortmaker@windriver.com>2012-05-15 20:08:21 -0400
commit1abd2296b4a1ee7b6a883541c3ede52042a09521 (patch)
tree893af5be2b314959c725e6adb619657e091b2503 /drivers/s390/net/qeth_l3_main.c
parente87cc4728f0e2fb663e592a1141742b1d6c63256 (diff)
s390: delete any traces of token ring support
The token ring support is going away from the core kernel. Divorce the S390 drivers from it in advance. Cc: Martin Schwidefsky <schwidefsky@de.ibm.com> Cc: Heiko Carstens <heiko.carstens@de.ibm.com> Cc: linux390@de.ibm.com Cc: linux-s390@vger.kernel.org Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Diffstat (limited to 'drivers/s390/net/qeth_l3_main.c')
-rw-r--r--drivers/s390/net/qeth_l3_main.c35
1 files changed, 6 insertions, 29 deletions
diff --git a/drivers/s390/net/qeth_l3_main.c b/drivers/s390/net/qeth_l3_main.c
index f85921607686..74ebeaf597a1 100644
--- a/drivers/s390/net/qeth_l3_main.c
+++ b/drivers/s390/net/qeth_l3_main.c
@@ -1671,10 +1671,7 @@ qeth_diags_trace(struct qeth_card *card, enum qeth_diags_trace_cmds diags_cmd)
1671static void qeth_l3_get_mac_for_ipm(__u32 ipm, char *mac, 1671static void qeth_l3_get_mac_for_ipm(__u32 ipm, char *mac,
1672 struct net_device *dev) 1672 struct net_device *dev)
1673{ 1673{
1674 if (dev->type == ARPHRD_IEEE802_TR) 1674 ip_eth_mc_map(ipm, mac);
1675 ip_tr_mc_map(ipm, mac);
1676 else
1677 ip_eth_mc_map(ipm, mac);
1678} 1675}
1679 1676
1680static void qeth_l3_add_mc(struct qeth_card *card, struct in_device *in4_dev) 1677static void qeth_l3_add_mc(struct qeth_card *card, struct in_device *in4_dev)
@@ -1922,8 +1919,6 @@ static inline int qeth_l3_rebuild_skb(struct qeth_card *card,
1922#endif 1919#endif
1923 case __constant_htons(ETH_P_IP): 1920 case __constant_htons(ETH_P_IP):
1924 ip_hdr = (struct iphdr *)skb->data; 1921 ip_hdr = (struct iphdr *)skb->data;
1925 (card->dev->type == ARPHRD_IEEE802_TR) ?
1926 ip_tr_mc_map(ip_hdr->daddr, tg_addr):
1927 ip_eth_mc_map(ip_hdr->daddr, tg_addr); 1922 ip_eth_mc_map(ip_hdr->daddr, tg_addr);
1928 break; 1923 break;
1929 default: 1924 default:
@@ -1959,12 +1954,7 @@ static inline int qeth_l3_rebuild_skb(struct qeth_card *card,
1959 tg_addr, "FAKELL", card->dev->addr_len); 1954 tg_addr, "FAKELL", card->dev->addr_len);
1960 } 1955 }
1961 1956
1962#ifdef CONFIG_TR 1957 skb->protocol = eth_type_trans(skb, card->dev);
1963 if (card->dev->type == ARPHRD_IEEE802_TR)
1964 skb->protocol = tr_type_trans(skb, card->dev);
1965 else
1966#endif
1967 skb->protocol = eth_type_trans(skb, card->dev);
1968 1958
1969 if (hdr->hdr.l3.ext_flags & 1959 if (hdr->hdr.l3.ext_flags &
1970 (QETH_HDR_EXT_VLAN_FRAME | QETH_HDR_EXT_INCLUDE_VLAN_TAG)) { 1960 (QETH_HDR_EXT_VLAN_FRAME | QETH_HDR_EXT_INCLUDE_VLAN_TAG)) {
@@ -2883,13 +2873,7 @@ static void qeth_l3_fill_header(struct qeth_card *card, struct qeth_hdr *hdr,
2883 hdr->hdr.l3.flags &= ~QETH_HDR_PASSTHRU; 2873 hdr->hdr.l3.flags &= ~QETH_HDR_PASSTHRU;
2884 memcpy(hdr->hdr.l3.dest_addr, pkey, 16); 2874 memcpy(hdr->hdr.l3.dest_addr, pkey, 16);
2885 } else { 2875 } else {
2886 /* passthrough */ 2876 if (!memcmp(skb->data + sizeof(struct qeth_hdr),
2887 if ((skb->dev->type == ARPHRD_IEEE802_TR) &&
2888 !memcmp(skb->data + sizeof(struct qeth_hdr) +
2889 sizeof(__u16), skb->dev->broadcast, 6)) {
2890 hdr->hdr.l3.flags = QETH_CAST_BROADCAST |
2891 QETH_HDR_PASSTHRU;
2892 } else if (!memcmp(skb->data + sizeof(struct qeth_hdr),
2893 skb->dev->broadcast, 6)) { 2877 skb->dev->broadcast, 6)) {
2894 /* broadcast? */ 2878 /* broadcast? */
2895 hdr->hdr.l3.flags = QETH_CAST_BROADCAST | 2879 hdr->hdr.l3.flags = QETH_CAST_BROADCAST |
@@ -3031,10 +3015,7 @@ static int qeth_l3_hard_start_xmit(struct sk_buff *skb, struct net_device *dev)
3031 skb_pull(new_skb, ETH_HLEN); 3015 skb_pull(new_skb, ETH_HLEN);
3032 } else { 3016 } else {
3033 if (ipv == 4) { 3017 if (ipv == 4) {
3034 if (card->dev->type == ARPHRD_IEEE802_TR) 3018 skb_pull(new_skb, ETH_HLEN);
3035 skb_pull(new_skb, TR_HLEN);
3036 else
3037 skb_pull(new_skb, ETH_HLEN);
3038 } 3019 }
3039 3020
3040 if (ipv != 4 && vlan_tx_tag_present(new_skb)) { 3021 if (ipv != 4 && vlan_tx_tag_present(new_skb)) {
@@ -3318,12 +3299,8 @@ static int qeth_l3_setup_netdev(struct qeth_card *card)
3318 card->info.type == QETH_CARD_TYPE_OSX) { 3299 card->info.type == QETH_CARD_TYPE_OSX) {
3319 if ((card->info.link_type == QETH_LINK_TYPE_LANE_TR) || 3300 if ((card->info.link_type == QETH_LINK_TYPE_LANE_TR) ||
3320 (card->info.link_type == QETH_LINK_TYPE_HSTR)) { 3301 (card->info.link_type == QETH_LINK_TYPE_HSTR)) {
3321#ifdef CONFIG_TR 3302 pr_info("qeth_l3: ignoring TR device\n");
3322 card->dev = alloc_trdev(0); 3303 return -ENODEV;
3323#endif
3324 if (!card->dev)
3325 return -ENODEV;
3326 card->dev->netdev_ops = &qeth_l3_netdev_ops;
3327 } else { 3304 } else {
3328 card->dev = alloc_etherdev(0); 3305 card->dev = alloc_etherdev(0);
3329 if (!card->dev) 3306 if (!card->dev)