/**
  * lcs_new_device will be called by setting the group device online.
  */
+static const struct net_device_ops lcs_netdev_ops = {
+       .ndo_open               = lcs_open_device,
+       .ndo_stop               = lcs_stop_device,
+       .ndo_get_stats          = lcs_getstats,
+       .ndo_start_xmit         = lcs_start_xmit,
+};
+
+static const struct net_device_ops lcs_mc_netdev_ops = {
+       .ndo_open               = lcs_open_device,
+       .ndo_stop               = lcs_stop_device,
+       .ndo_get_stats          = lcs_getstats,
+       .ndo_start_xmit         = lcs_start_xmit,
+       .ndo_set_multicast_list = lcs_set_multicast_list,
+};
 
 static int
 lcs_new_device(struct ccwgroup_device *ccwgdev)
                goto out;
        card->dev = dev;
        card->dev->ml_priv = card;
-       card->dev->open = lcs_open_device;
-       card->dev->stop = lcs_stop_device;
-       card->dev->hard_start_xmit = lcs_start_xmit;
-       card->dev->get_stats = lcs_getstats;
+       card->dev->netdev_ops = &lcs_netdev_ops;
        memcpy(card->dev->dev_addr, card->mac, LCS_MAC_LENGTH);
 #ifdef CONFIG_IP_MULTICAST
        if (!lcs_check_multicast_support(card))
-               card->dev->set_multicast_list = lcs_set_multicast_list;
+               card->dev->netdev_ops = &lcs_mc_netdev_ops;
 #endif
 netdev_out:
        lcs_set_allowed_threads(card,0xffffffff);