diff options
Diffstat (limited to 'drivers/s390')
-rw-r--r-- | drivers/s390/net/Kconfig | 5 | ||||
-rw-r--r-- | drivers/s390/net/lcs.c | 21 | ||||
-rw-r--r-- | drivers/s390/net/qeth_core.h | 2 | ||||
-rw-r--r-- | drivers/s390/net/qeth_core_main.c | 6 | ||||
-rw-r--r-- | drivers/s390/net/qeth_l3_main.c | 35 |
5 files changed, 11 insertions, 58 deletions
diff --git a/drivers/s390/net/Kconfig b/drivers/s390/net/Kconfig index 9b66d2d1809..dfda748c400 100644 --- a/drivers/s390/net/Kconfig +++ b/drivers/s390/net/Kconfig | |||
@@ -4,11 +4,10 @@ menu "S/390 network device drivers" | |||
4 | config LCS | 4 | config LCS |
5 | def_tristate m | 5 | def_tristate m |
6 | prompt "Lan Channel Station Interface" | 6 | prompt "Lan Channel Station Interface" |
7 | depends on CCW && NETDEVICES && (ETHERNET || TR || FDDI) | 7 | depends on CCW && NETDEVICES && (ETHERNET || FDDI) |
8 | help | 8 | help |
9 | Select this option if you want to use LCS networking on IBM System z. | 9 | Select this option if you want to use LCS networking on IBM System z. |
10 | This device driver supports Token Ring (IEEE 802.5), | 10 | This device driver supports FDDI (IEEE 802.7) and Ethernet. |
11 | FDDI (IEEE 802.7) and Ethernet. | ||
12 | To compile as a module, choose M. The module name is lcs. | 11 | To compile as a module, choose M. The module name is lcs. |
13 | If you do not know what it is, it's safe to choose Y. | 12 | If you do not know what it is, it's safe to choose Y. |
14 | 13 | ||
diff --git a/drivers/s390/net/lcs.c b/drivers/s390/net/lcs.c index 687efe4d589..6056cf6da03 100644 --- a/drivers/s390/net/lcs.c +++ b/drivers/s390/net/lcs.c | |||
@@ -30,7 +30,6 @@ | |||
30 | #include <linux/if.h> | 30 | #include <linux/if.h> |
31 | #include <linux/netdevice.h> | 31 | #include <linux/netdevice.h> |
32 | #include <linux/etherdevice.h> | 32 | #include <linux/etherdevice.h> |
33 | #include <linux/trdevice.h> | ||
34 | #include <linux/fddidevice.h> | 33 | #include <linux/fddidevice.h> |
35 | #include <linux/inetdevice.h> | 34 | #include <linux/inetdevice.h> |
36 | #include <linux/in.h> | 35 | #include <linux/in.h> |
@@ -50,8 +49,7 @@ | |||
50 | #include "lcs.h" | 49 | #include "lcs.h" |
51 | 50 | ||
52 | 51 | ||
53 | #if !defined(CONFIG_ETHERNET) && \ | 52 | #if !defined(CONFIG_ETHERNET) && !defined(CONFIG_FDDI) |
54 | !defined(CONFIG_TR) && !defined(CONFIG_FDDI) | ||
55 | #error Cannot compile lcs.c without some net devices switched on. | 53 | #error Cannot compile lcs.c without some net devices switched on. |
56 | #endif | 54 | #endif |
57 | 55 | ||
@@ -1166,10 +1164,7 @@ static void | |||
1166 | lcs_get_mac_for_ipm(__be32 ipm, char *mac, struct net_device *dev) | 1164 | lcs_get_mac_for_ipm(__be32 ipm, char *mac, struct net_device *dev) |
1167 | { | 1165 | { |
1168 | LCS_DBF_TEXT(4,trace, "getmac"); | 1166 | LCS_DBF_TEXT(4,trace, "getmac"); |
1169 | if (dev->type == ARPHRD_IEEE802_TR) | 1167 | ip_eth_mc_map(ipm, mac); |
1170 | ip_tr_mc_map(ipm, mac); | ||
1171 | else | ||
1172 | ip_eth_mc_map(ipm, mac); | ||
1173 | } | 1168 | } |
1174 | 1169 | ||
1175 | /** | 1170 | /** |
@@ -1641,12 +1636,6 @@ lcs_startlan_auto(struct lcs_card *card) | |||
1641 | return 0; | 1636 | return 0; |
1642 | 1637 | ||
1643 | #endif | 1638 | #endif |
1644 | #ifdef CONFIG_TR | ||
1645 | card->lan_type = LCS_FRAME_TYPE_TR; | ||
1646 | rc = lcs_send_startlan(card, LCS_INITIATOR_TCPIP); | ||
1647 | if (rc == 0) | ||
1648 | return 0; | ||
1649 | #endif | ||
1650 | #ifdef CONFIG_FDDI | 1639 | #ifdef CONFIG_FDDI |
1651 | card->lan_type = LCS_FRAME_TYPE_FDDI; | 1640 | card->lan_type = LCS_FRAME_TYPE_FDDI; |
1652 | rc = lcs_send_startlan(card, LCS_INITIATOR_TCPIP); | 1641 | rc = lcs_send_startlan(card, LCS_INITIATOR_TCPIP); |
@@ -2172,12 +2161,6 @@ lcs_new_device(struct ccwgroup_device *ccwgdev) | |||
2172 | dev = alloc_etherdev(0); | 2161 | dev = alloc_etherdev(0); |
2173 | break; | 2162 | break; |
2174 | #endif | 2163 | #endif |
2175 | #ifdef CONFIG_TR | ||
2176 | case LCS_FRAME_TYPE_TR: | ||
2177 | card->lan_type_trans = tr_type_trans; | ||
2178 | dev = alloc_trdev(0); | ||
2179 | break; | ||
2180 | #endif | ||
2181 | #ifdef CONFIG_FDDI | 2164 | #ifdef CONFIG_FDDI |
2182 | case LCS_FRAME_TYPE_FDDI: | 2165 | case LCS_FRAME_TYPE_FDDI: |
2183 | card->lan_type_trans = fddi_type_trans; | 2166 | card->lan_type_trans = fddi_type_trans; |
diff --git a/drivers/s390/net/qeth_core.h b/drivers/s390/net/qeth_core.h index ec7921b5138..bb7190fdfbb 100644 --- a/drivers/s390/net/qeth_core.h +++ b/drivers/s390/net/qeth_core.h | |||
@@ -13,8 +13,6 @@ | |||
13 | 13 | ||
14 | #include <linux/if.h> | 14 | #include <linux/if.h> |
15 | #include <linux/if_arp.h> | 15 | #include <linux/if_arp.h> |
16 | #include <linux/if_tr.h> | ||
17 | #include <linux/trdevice.h> | ||
18 | #include <linux/etherdevice.h> | 16 | #include <linux/etherdevice.h> |
19 | #include <linux/if_vlan.h> | 17 | #include <linux/if_vlan.h> |
20 | #include <linux/ctype.h> | 18 | #include <linux/ctype.h> |
diff --git a/drivers/s390/net/qeth_core_main.c b/drivers/s390/net/qeth_core_main.c index 8334dadc681..83b0d2feac0 100644 --- a/drivers/s390/net/qeth_core_main.c +++ b/drivers/s390/net/qeth_core_main.c | |||
@@ -4911,11 +4911,7 @@ struct sk_buff *qeth_core_get_next_skb(struct qeth_card *card, | |||
4911 | break; | 4911 | break; |
4912 | case QETH_HEADER_TYPE_LAYER3: | 4912 | case QETH_HEADER_TYPE_LAYER3: |
4913 | skb_len = (*hdr)->hdr.l3.length; | 4913 | skb_len = (*hdr)->hdr.l3.length; |
4914 | if ((card->info.link_type == QETH_LINK_TYPE_LANE_TR) || | 4914 | headroom = ETH_HLEN; |
4915 | (card->info.link_type == QETH_LINK_TYPE_HSTR)) | ||
4916 | headroom = TR_HLEN; | ||
4917 | else | ||
4918 | headroom = ETH_HLEN; | ||
4919 | break; | 4915 | break; |
4920 | case QETH_HEADER_TYPE_OSN: | 4916 | case QETH_HEADER_TYPE_OSN: |
4921 | skb_len = (*hdr)->hdr.osn.pdu_length; | 4917 | skb_len = (*hdr)->hdr.osn.pdu_length; |
diff --git a/drivers/s390/net/qeth_l3_main.c b/drivers/s390/net/qeth_l3_main.c index f8592160768..74ebeaf597a 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) | |||
1671 | static void qeth_l3_get_mac_for_ipm(__u32 ipm, char *mac, | 1671 | static 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 | ||
1680 | static void qeth_l3_add_mc(struct qeth_card *card, struct in_device *in4_dev) | 1677 | 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 | #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) |