diff options
Diffstat (limited to 'drivers/s390/net/lcs.c')
-rw-r--r-- | drivers/s390/net/lcs.c | 21 |
1 files changed, 16 insertions, 5 deletions
diff --git a/drivers/s390/net/lcs.c b/drivers/s390/net/lcs.c index 49c3bfa1afd7..083f787d260d 100644 --- a/drivers/s390/net/lcs.c +++ b/drivers/s390/net/lcs.c | |||
@@ -2101,6 +2101,20 @@ lcs_register_netdev(struct ccwgroup_device *ccwgdev) | |||
2101 | /** | 2101 | /** |
2102 | * lcs_new_device will be called by setting the group device online. | 2102 | * lcs_new_device will be called by setting the group device online. |
2103 | */ | 2103 | */ |
2104 | static const struct net_device_ops lcs_netdev_ops = { | ||
2105 | .ndo_open = lcs_open_device, | ||
2106 | .ndo_stop = lcs_stop_device, | ||
2107 | .ndo_get_stats = lcs_getstats, | ||
2108 | .ndo_start_xmit = lcs_start_xmit, | ||
2109 | }; | ||
2110 | |||
2111 | static const struct net_device_ops lcs_mc_netdev_ops = { | ||
2112 | .ndo_open = lcs_open_device, | ||
2113 | .ndo_stop = lcs_stop_device, | ||
2114 | .ndo_get_stats = lcs_getstats, | ||
2115 | .ndo_start_xmit = lcs_start_xmit, | ||
2116 | .ndo_set_multicast_list = lcs_set_multicast_list, | ||
2117 | }; | ||
2104 | 2118 | ||
2105 | static int | 2119 | static int |
2106 | lcs_new_device(struct ccwgroup_device *ccwgdev) | 2120 | lcs_new_device(struct ccwgroup_device *ccwgdev) |
@@ -2168,14 +2182,11 @@ lcs_new_device(struct ccwgroup_device *ccwgdev) | |||
2168 | goto out; | 2182 | goto out; |
2169 | card->dev = dev; | 2183 | card->dev = dev; |
2170 | card->dev->ml_priv = card; | 2184 | card->dev->ml_priv = card; |
2171 | card->dev->open = lcs_open_device; | 2185 | card->dev->netdev_ops = &lcs_netdev_ops; |
2172 | card->dev->stop = lcs_stop_device; | ||
2173 | card->dev->hard_start_xmit = lcs_start_xmit; | ||
2174 | card->dev->get_stats = lcs_getstats; | ||
2175 | memcpy(card->dev->dev_addr, card->mac, LCS_MAC_LENGTH); | 2186 | memcpy(card->dev->dev_addr, card->mac, LCS_MAC_LENGTH); |
2176 | #ifdef CONFIG_IP_MULTICAST | 2187 | #ifdef CONFIG_IP_MULTICAST |
2177 | if (!lcs_check_multicast_support(card)) | 2188 | if (!lcs_check_multicast_support(card)) |
2178 | card->dev->set_multicast_list = lcs_set_multicast_list; | 2189 | card->dev->netdev_ops = &lcs_mc_netdev_ops; |
2179 | #endif | 2190 | #endif |
2180 | netdev_out: | 2191 | netdev_out: |
2181 | lcs_set_allowed_threads(card,0xffffffff); | 2192 | lcs_set_allowed_threads(card,0xffffffff); |