#define to_channel_attr(a) container_of(a, struct most_c_attr, attr)
-#define MOST_CHNL_ATTR(_name, _mode, _show, _store) \
- struct most_c_attr most_chnl_attr_##_name = \
- __ATTR(_name, _mode, _show, _store)
-
/**
* channel_attr_show - show function of channel object
* @kobj: pointer to its kobject
}
#define create_show_channel_attribute(val) \
- static MOST_CHNL_ATTR(val, 0444, val##_show, NULL)
+ static struct most_c_attr most_chnl_attr_##val = __ATTR_RO(val)
create_show_channel_attribute(available_directions);
create_show_channel_attribute(available_datatypes);
}
#define create_channel_attribute(value) \
- static MOST_CHNL_ATTR(value, 0644, value##_show, value##_store)
+ static struct most_c_attr most_chnl_attr_##value = __ATTR_RW(value)
create_channel_attribute(set_buffer_size);
create_channel_attribute(set_number_of_buffers);
/* ___ ___
* ___I N S T A N C E___
*/
-#define MOST_INST_ATTR(_name, _mode, _show, _store) \
- struct most_inst_attribute most_inst_attr_##_name = \
- __ATTR(_name, _mode, _show, _store)
static struct list_head instance_list;
return snprintf(buf, PAGE_SIZE, "unknown\n");
}
-#define create_inst_attribute(value) \
- static MOST_INST_ATTR(value, 0444, value##_show, NULL)
+static struct most_inst_attribute most_inst_attr_description =
+ __ATTR_RO(description);
-create_inst_attribute(description);
-create_inst_attribute(interface);
+static struct most_inst_attribute most_inst_attr_interface =
+ __ATTR_RO(interface);
static struct attribute *most_inst_def_attrs[] = {
&most_inst_attr_description.attr,