|
@@ -108,8 +108,22 @@ static ssize_t port_attr_show(struct kobject *kobj,
|
|
|
return port_attr->show(p, port_attr, buf);
|
|
|
}
|
|
|
|
|
|
+static ssize_t port_attr_store(struct kobject *kobj,
|
|
|
+ struct attribute *attr,
|
|
|
+ const char *buf, size_t count)
|
|
|
+{
|
|
|
+ struct port_attribute *port_attr =
|
|
|
+ container_of(attr, struct port_attribute, attr);
|
|
|
+ struct ib_port *p = container_of(kobj, struct ib_port, kobj);
|
|
|
+
|
|
|
+ if (!port_attr->store)
|
|
|
+ return -EIO;
|
|
|
+ return port_attr->store(p, port_attr, buf, count);
|
|
|
+}
|
|
|
+
|
|
|
static const struct sysfs_ops port_sysfs_ops = {
|
|
|
- .show = port_attr_show
|
|
|
+ .show = port_attr_show,
|
|
|
+ .store = port_attr_store
|
|
|
};
|
|
|
|
|
|
static ssize_t gid_attr_show(struct kobject *kobj,
|