IB/ipoib: Add more rtnl_link_ops callbacks
[deliverable/linux.git] / drivers / infiniband / ulp / ipoib / ipoib_main.c
index 128fab1020547089c80be6ff6151f18cb7f74758..3f9a9ba2f9ecc3a6414c2978738e15fb703e9e06 100644 (file)
@@ -1381,12 +1381,9 @@ static ssize_t show_umcast(struct device *dev,
        return sprintf(buf, "%d\n", test_bit(IPOIB_FLAG_UMCAST, &priv->flags));
 }
 
-static ssize_t set_umcast(struct device *dev,
-                         struct device_attribute *attr,
-                         const char *buf, size_t count)
+void ipoib_set_umcast(struct net_device *ndev, int umcast_val)
 {
-       struct ipoib_dev_priv *priv = netdev_priv(to_net_dev(dev));
-       unsigned long umcast_val = simple_strtoul(buf, NULL, 0);
+       struct ipoib_dev_priv *priv = netdev_priv(ndev);
 
        if (umcast_val > 0) {
                set_bit(IPOIB_FLAG_UMCAST, &priv->flags);
@@ -1394,6 +1391,15 @@ static ssize_t set_umcast(struct device *dev,
                                "by userspace\n");
        } else
                clear_bit(IPOIB_FLAG_UMCAST, &priv->flags);
+}
+
+static ssize_t set_umcast(struct device *dev,
+                         struct device_attribute *attr,
+                         const char *buf, size_t count)
+{
+       unsigned long umcast_val = simple_strtoul(buf, NULL, 0);
+
+       ipoib_set_umcast(to_net_dev(dev), umcast_val);
 
        return count;
 }
This page took 0.024666 seconds and 5 git commands to generate.