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>
This commit is contained in:
@@ -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 @@
|
|||||||
#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 @@
|
|||||||
#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
|
|||||||
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)
|
|||||||
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)
|
|||||||
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 @@
|
|||||||
|
|
||||||
#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,
|
|||||||
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)
|
|||||||
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,
|
|||||||
#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,
|
|||||||
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,
|
|||||||
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)
|
|||||||
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)
|
|||||||
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)
|
||||||
|
Reference in New Issue
Block a user