On 12/30/19 2:29 AM, Jack Wang wrote:
+static struct kobj_type ktype = { + .sysfs_ops = &kobj_sysfs_ops, +};
Can this data structure be declared 'const'?
+static ssize_t max_reconnect_attempts_show(struct device *dev, + struct device_attribute *attr, + char *page) +{ + struct rtrs_clt *clt; + + clt = container_of(dev, struct rtrs_clt, dev);
If the above two statements would be combined into a single statement, does the result still fit in 80 columns? If so, please combine these two statements into a single statement.
+static ssize_t max_reconnect_attempts_store(struct device *dev, + struct device_attribute *attr, + const char *buf, + size_t count) +{ + struct rtrs_clt *clt; + int value; + int ret; + + clt = container_of(dev, struct rtrs_clt, dev);
Same comment here and also for other uses of 'clt': how about combining the declaration and initialization of 'clt' into a single line of code?
+static ssize_t mpath_policy_show(struct device *dev, + struct device_attribute *attr, + char *page) +{ + struct rtrs_clt *clt; + + clt = container_of(dev, struct rtrs_clt, dev); + + switch (clt->mp_policy) { + case MP_POLICY_RR: + return sprintf(page, "round-robin (RR: %d)\n", clt->mp_policy); + case MP_POLICY_MIN_INFLIGHT: + return sprintf(page, "min-inflight (MI: %d)\n", clt->mp_policy); + default: + return sprintf(page, "Unknown (%d)\n", clt->mp_policy); + } +}
Is the above show function compatible with the sysfs one-value-per-file rule?
+static struct kobj_attribute rtrs_clt_remove_path_attr = + __ATTR(remove_path, 0644, rtrs_clt_remove_path_show, + rtrs_clt_remove_path_store);
Could __ATTR_RW() have been used here?
+static struct kobj_attribute rtrs_clt_src_addr_attr = + __ATTR(src_addr, 0444, rtrs_clt_src_addr_show, NULL);
Could __ATTR_RO() have been used here?
+static struct attribute_group rtrs_clt_sess_attr_group = { + .attrs = rtrs_clt_sess_attrs, +};
Can this data structure be declared 'const'? Thanks, Bart.