Commit 1abd2296 authored by Paul Gortmaker's avatar Paul Gortmaker

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: default avatarPaul Gortmaker <paul.gortmaker@windriver.com>
parent e87cc472
...@@ -4,11 +4,10 @@ menu "S/390 network device drivers" ...@@ -4,11 +4,10 @@ menu "S/390 network device drivers"
config LCS config LCS
def_tristate m def_tristate m
prompt "Lan Channel Station Interface" prompt "Lan Channel Station Interface"
depends on CCW && NETDEVICES && (ETHERNET || TR || FDDI) depends on CCW && NETDEVICES && (ETHERNET || FDDI)
help help
Select this option if you want to use LCS networking on IBM System z. Select this option if you want to use LCS networking on IBM System z.
This device driver supports Token Ring (IEEE 802.5), This device driver supports FDDI (IEEE 802.7) and Ethernet.
FDDI (IEEE 802.7) and Ethernet.
To compile as a module, choose M. The module name is lcs. To compile as a module, choose M. The module name is lcs.
If you do not know what it is, it's safe to choose Y. If you do not know what it is, it's safe to choose Y.
......
...@@ -30,7 +30,6 @@ ...@@ -30,7 +30,6 @@
#include <linux/if.h> #include <linux/if.h>
#include <linux/netdevice.h> #include <linux/netdevice.h>
#include <linux/etherdevice.h> #include <linux/etherdevice.h>
#include <linux/trdevice.h>
#include <linux/fddidevice.h> #include <linux/fddidevice.h>
#include <linux/inetdevice.h> #include <linux/inetdevice.h>
#include <linux/in.h> #include <linux/in.h>
...@@ -50,8 +49,7 @@ ...@@ -50,8 +49,7 @@
#include "lcs.h" #include "lcs.h"
#if !defined(CONFIG_ETHERNET) && \ #if !defined(CONFIG_ETHERNET) && !defined(CONFIG_FDDI)
!defined(CONFIG_TR) && !defined(CONFIG_FDDI)
#error Cannot compile lcs.c without some net devices switched on. #error Cannot compile lcs.c without some net devices switched on.
#endif #endif
...@@ -1166,10 +1164,7 @@ static void ...@@ -1166,10 +1164,7 @@ static void
lcs_get_mac_for_ipm(__be32 ipm, char *mac, struct net_device *dev) lcs_get_mac_for_ipm(__be32 ipm, char *mac, struct net_device *dev)
{ {
LCS_DBF_TEXT(4,trace, "getmac"); LCS_DBF_TEXT(4,trace, "getmac");
if (dev->type == ARPHRD_IEEE802_TR) ip_eth_mc_map(ipm, mac);
ip_tr_mc_map(ipm, mac);
else
ip_eth_mc_map(ipm, mac);
} }
/** /**
...@@ -1641,12 +1636,6 @@ lcs_startlan_auto(struct lcs_card *card) ...@@ -1641,12 +1636,6 @@ lcs_startlan_auto(struct lcs_card *card)
return 0; return 0;
#endif #endif
#ifdef CONFIG_TR
card->lan_type = LCS_FRAME_TYPE_TR;
rc = lcs_send_startlan(card, LCS_INITIATOR_TCPIP);
if (rc == 0)
return 0;
#endif
#ifdef CONFIG_FDDI #ifdef CONFIG_FDDI
card->lan_type = LCS_FRAME_TYPE_FDDI; card->lan_type = LCS_FRAME_TYPE_FDDI;
rc = lcs_send_startlan(card, LCS_INITIATOR_TCPIP); rc = lcs_send_startlan(card, LCS_INITIATOR_TCPIP);
...@@ -2172,12 +2161,6 @@ lcs_new_device(struct ccwgroup_device *ccwgdev) ...@@ -2172,12 +2161,6 @@ lcs_new_device(struct ccwgroup_device *ccwgdev)
dev = alloc_etherdev(0); dev = alloc_etherdev(0);
break; break;
#endif #endif
#ifdef CONFIG_TR
case LCS_FRAME_TYPE_TR:
card->lan_type_trans = tr_type_trans;
dev = alloc_trdev(0);
break;
#endif
#ifdef CONFIG_FDDI #ifdef CONFIG_FDDI
case LCS_FRAME_TYPE_FDDI: case LCS_FRAME_TYPE_FDDI:
card->lan_type_trans = fddi_type_trans; card->lan_type_trans = fddi_type_trans;
......
...@@ -13,8 +13,6 @@ ...@@ -13,8 +13,6 @@
#include <linux/if.h> #include <linux/if.h>
#include <linux/if_arp.h> #include <linux/if_arp.h>
#include <linux/if_tr.h>
#include <linux/trdevice.h>
#include <linux/etherdevice.h> #include <linux/etherdevice.h>
#include <linux/if_vlan.h> #include <linux/if_vlan.h>
#include <linux/ctype.h> #include <linux/ctype.h>
......
...@@ -4911,11 +4911,7 @@ struct sk_buff *qeth_core_get_next_skb(struct qeth_card *card, ...@@ -4911,11 +4911,7 @@ struct sk_buff *qeth_core_get_next_skb(struct qeth_card *card,
break; break;
case QETH_HEADER_TYPE_LAYER3: case QETH_HEADER_TYPE_LAYER3:
skb_len = (*hdr)->hdr.l3.length; skb_len = (*hdr)->hdr.l3.length;
if ((card->info.link_type == QETH_LINK_TYPE_LANE_TR) || headroom = ETH_HLEN;
(card->info.link_type == QETH_LINK_TYPE_HSTR))
headroom = TR_HLEN;
else
headroom = ETH_HLEN;
break; break;
case QETH_HEADER_TYPE_OSN: case QETH_HEADER_TYPE_OSN:
skb_len = (*hdr)->hdr.osn.pdu_length; skb_len = (*hdr)->hdr.osn.pdu_length;
......
...@@ -1671,10 +1671,7 @@ qeth_diags_trace(struct qeth_card *card, enum qeth_diags_trace_cmds diags_cmd) ...@@ -1671,10 +1671,7 @@ qeth_diags_trace(struct qeth_card *card, enum qeth_diags_trace_cmds diags_cmd)
static void qeth_l3_get_mac_for_ipm(__u32 ipm, char *mac, static void qeth_l3_get_mac_for_ipm(__u32 ipm, char *mac,
struct net_device *dev) struct net_device *dev)
{ {
if (dev->type == ARPHRD_IEEE802_TR) ip_eth_mc_map(ipm, mac);
ip_tr_mc_map(ipm, mac);
else
ip_eth_mc_map(ipm, mac);
} }
static void qeth_l3_add_mc(struct qeth_card *card, struct in_device *in4_dev) static 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,8 +1919,6 @@ static inline int qeth_l3_rebuild_skb(struct qeth_card *card,
#endif #endif
case __constant_htons(ETH_P_IP): case __constant_htons(ETH_P_IP):
ip_hdr = (struct iphdr *)skb->data; ip_hdr = (struct iphdr *)skb->data;
(card->dev->type == ARPHRD_IEEE802_TR) ?
ip_tr_mc_map(ip_hdr->daddr, tg_addr):
ip_eth_mc_map(ip_hdr->daddr, tg_addr); ip_eth_mc_map(ip_hdr->daddr, tg_addr);
break; break;
default: default:
...@@ -1959,12 +1954,7 @@ static inline int qeth_l3_rebuild_skb(struct qeth_card *card, ...@@ -1959,12 +1954,7 @@ static inline int qeth_l3_rebuild_skb(struct qeth_card *card,
tg_addr, "FAKELL", card->dev->addr_len); tg_addr, "FAKELL", card->dev->addr_len);
} }
#ifdef CONFIG_TR skb->protocol = eth_type_trans(skb, card->dev);
if (card->dev->type == ARPHRD_IEEE802_TR)
skb->protocol = tr_type_trans(skb, card->dev);
else
#endif
skb->protocol = eth_type_trans(skb, card->dev);
if (hdr->hdr.l3.ext_flags & if (hdr->hdr.l3.ext_flags &
(QETH_HDR_EXT_VLAN_FRAME | QETH_HDR_EXT_INCLUDE_VLAN_TAG)) { (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,13 +2873,7 @@ static void qeth_l3_fill_header(struct qeth_card *card, struct qeth_hdr *hdr,
hdr->hdr.l3.flags &= ~QETH_HDR_PASSTHRU; hdr->hdr.l3.flags &= ~QETH_HDR_PASSTHRU;
memcpy(hdr->hdr.l3.dest_addr, pkey, 16); memcpy(hdr->hdr.l3.dest_addr, pkey, 16);
} else { } else {
/* passthrough */ if (!memcmp(skb->data + sizeof(struct qeth_hdr),
if ((skb->dev->type == ARPHRD_IEEE802_TR) &&
!memcmp(skb->data + sizeof(struct qeth_hdr) +
sizeof(__u16), skb->dev->broadcast, 6)) {
hdr->hdr.l3.flags = QETH_CAST_BROADCAST |
QETH_HDR_PASSTHRU;
} else if (!memcmp(skb->data + sizeof(struct qeth_hdr),
skb->dev->broadcast, 6)) { skb->dev->broadcast, 6)) {
/* broadcast? */ /* broadcast? */
hdr->hdr.l3.flags = QETH_CAST_BROADCAST | 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,10 +3015,7 @@ static int qeth_l3_hard_start_xmit(struct sk_buff *skb, struct net_device *dev)
skb_pull(new_skb, ETH_HLEN); skb_pull(new_skb, ETH_HLEN);
} else { } else {
if (ipv == 4) { if (ipv == 4) {
if (card->dev->type == ARPHRD_IEEE802_TR) skb_pull(new_skb, ETH_HLEN);
skb_pull(new_skb, TR_HLEN);
else
skb_pull(new_skb, ETH_HLEN);
} }
if (ipv != 4 && vlan_tx_tag_present(new_skb)) { if (ipv != 4 && vlan_tx_tag_present(new_skb)) {
...@@ -3318,12 +3299,8 @@ static int qeth_l3_setup_netdev(struct qeth_card *card) ...@@ -3318,12 +3299,8 @@ static int qeth_l3_setup_netdev(struct qeth_card *card)
card->info.type == QETH_CARD_TYPE_OSX) { card->info.type == QETH_CARD_TYPE_OSX) {
if ((card->info.link_type == QETH_LINK_TYPE_LANE_TR) || if ((card->info.link_type == QETH_LINK_TYPE_LANE_TR) ||
(card->info.link_type == QETH_LINK_TYPE_HSTR)) { (card->info.link_type == QETH_LINK_TYPE_HSTR)) {
#ifdef CONFIG_TR pr_info("qeth_l3: ignoring TR device\n");
card->dev = alloc_trdev(0); return -ENODEV;
#endif
if (!card->dev)
return -ENODEV;
card->dev->netdev_ops = &qeth_l3_netdev_ops;
} else { } else {
card->dev = alloc_etherdev(0); card->dev = alloc_etherdev(0);
if (!card->dev) if (!card->dev)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment