cxgb3 - manage sysfs attributes per port
authorDivy Le Ray <divy@chelsio.com>
Sun, 25 Feb 2007 00:43:50 +0000 (16:43 -0800)
committerJeff Garzik <jeff@garzik.org>
Tue, 27 Feb 2007 09:27:12 +0000 (04:27 -0500)
sysfs attributes are now managed per port, no longer per adapter.

Signed-off-by: Divy Le Ray <divy@chelsio.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
drivers/net/cxgb3/cxgb3_main.c

index 43583ed655ab8a3171b5dc9be25c26078a10a79d..59f2b518c926be501e826b11360affc5112ed81f 100644 (file)
@@ -434,27 +434,25 @@ static int setup_sge_qsets(struct adapter *adap)
 
 static ssize_t attr_show(struct device *d, struct device_attribute *attr,
                         char *buf,
-                        ssize_t(*format) (struct adapter *, char *))
+                        ssize_t(*format) (struct net_device *, char *))
 {
        ssize_t len;
-       struct adapter *adap = to_net_dev(d)->priv;
 
        /* Synchronize with ioctls that may shut down the device */
        rtnl_lock();
-       len = (*format) (adap, buf);
+       len = (*format) (to_net_dev(d), buf);
        rtnl_unlock();
        return len;
 }
 
 static ssize_t attr_store(struct device *d, struct device_attribute *attr,
                          const char *buf, size_t len,
-                         ssize_t(*set) (struct adapter *, unsigned int),
+                         ssize_t(*set) (struct net_device *, unsigned int),
                          unsigned int min_val, unsigned int max_val)
 {
        char *endp;
        ssize_t ret;
        unsigned int val;
-       struct adapter *adap = to_net_dev(d)->priv;
 
        if (!capable(CAP_NET_ADMIN))
                return -EPERM;
@@ -464,7 +462,7 @@ static ssize_t attr_store(struct device *d, struct device_attribute *attr,
                return -EINVAL;
 
        rtnl_lock();
-       ret = (*set) (adap, val);
+       ret = (*set) (to_net_dev(d), val);
        if (!ret)
                ret = len;
        rtnl_unlock();
@@ -472,8 +470,9 @@ static ssize_t attr_store(struct device *d, struct device_attribute *attr,
 }
 
 #define CXGB3_SHOW(name, val_expr) \
-static ssize_t format_##name(struct adapter *adap, char *buf) \
+static ssize_t format_##name(struct net_device *dev, char *buf) \
 { \
+       struct adapter *adap = dev->priv; \
        return sprintf(buf, "%u\n", val_expr); \
 } \
 static ssize_t show_##name(struct device *d, struct device_attribute *attr, \
@@ -482,8 +481,10 @@ static ssize_t show_##name(struct device *d, struct device_attribute *attr, \
        return attr_show(d, attr, buf, format_##name); \
 }
 
-static ssize_t set_nfilters(struct adapter *adap, unsigned int val)
+static ssize_t set_nfilters(struct net_device *dev, unsigned int val)
 {
+       struct adapter *adap = dev->priv;
+
        if (adap->flags & FULL_INIT_DONE)
                return -EBUSY;
        if (val && adap->params.rev == 0)
@@ -500,8 +501,10 @@ static ssize_t store_nfilters(struct device *d, struct device_attribute *attr,
        return attr_store(d, attr, buf, len, set_nfilters, 0, ~0);
 }
 
-static ssize_t set_nservers(struct adapter *adap, unsigned int val)
+static ssize_t set_nservers(struct net_device *dev, unsigned int val)
 {
+       struct adapter *adap = dev->priv;
+
        if (adap->flags & FULL_INIT_DONE)
                return -EBUSY;
        if (val > t3_mc5_size(&adap->mc5) - adap->params.mc5.nfilters)