Lines Matching refs:counter
103 struct counter_device *const counter = counter_from_dev(dev); in counter_comp_u8_show() local
109 err = a->comp.device_u8_read(counter, &data); in counter_comp_u8_show()
112 err = a->comp.signal_u8_read(counter, a->parent, &data); in counter_comp_u8_show()
115 err = a->comp.count_u8_read(counter, a->parent, &data); in counter_comp_u8_show()
135 struct counter_device *const counter = counter_from_dev(dev); in counter_comp_u8_store() local
150 err = a->comp.device_u8_write(counter, data); in counter_comp_u8_store()
153 err = a->comp.signal_u8_write(counter, a->parent, data); in counter_comp_u8_store()
156 err = a->comp.count_u8_write(counter, a->parent, data); in counter_comp_u8_store()
171 struct counter_device *const counter = counter_from_dev(dev); in counter_comp_u32_show() local
178 err = a->comp.device_u32_read(counter, &data); in counter_comp_u32_show()
181 err = a->comp.signal_u32_read(counter, a->parent, &data); in counter_comp_u32_show()
185 err = a->comp.action_read(counter, a->parent, in counter_comp_u32_show()
188 err = a->comp.count_u32_read(counter, a->parent, &data); in counter_comp_u32_show()
236 struct counter_device *const counter = counter_from_dev(dev); in counter_comp_u32_store() local
275 err = a->comp.device_u32_write(counter, data); in counter_comp_u32_store()
278 err = a->comp.signal_u32_write(counter, a->parent, data); in counter_comp_u32_store()
282 err = a->comp.action_write(counter, count, synapse, in counter_comp_u32_store()
285 err = a->comp.count_u32_write(counter, count, data); in counter_comp_u32_store()
300 struct counter_device *const counter = counter_from_dev(dev); in counter_comp_u64_show() local
306 err = a->comp.device_u64_read(counter, &data); in counter_comp_u64_show()
309 err = a->comp.signal_u64_read(counter, a->parent, &data); in counter_comp_u64_show()
312 err = a->comp.count_u64_read(counter, a->parent, &data); in counter_comp_u64_show()
328 struct counter_device *const counter = counter_from_dev(dev); in counter_comp_u64_store() local
338 err = a->comp.device_u64_write(counter, data); in counter_comp_u64_store()
341 err = a->comp.signal_u64_write(counter, a->parent, data); in counter_comp_u64_store()
344 err = a->comp.count_u64_write(counter, a->parent, data); in counter_comp_u64_store()
360 struct counter_device *const counter = counter_from_dev(dev); in counter_comp_array_u32_show() local
369 err = a->comp.signal_array_u32_read(counter, a->parent, element->idx, in counter_comp_array_u32_show()
382 struct counter_device *const counter = counter_from_dev(dev); in counter_comp_array_u32_store() local
397 err = a->comp.signal_array_u32_write(counter, a->parent, element->idx, in counter_comp_array_u32_store()
410 struct counter_device *const counter = counter_from_dev(dev); in counter_comp_array_u64_show() local
417 err = a->comp.device_array_u64_read(counter, element->idx, in counter_comp_array_u64_show()
421 err = a->comp.signal_array_u64_read(counter, a->parent, in counter_comp_array_u64_show()
425 err = a->comp.count_array_u64_read(counter, a->parent, in counter_comp_array_u64_show()
442 struct counter_device *const counter = counter_from_dev(dev); in counter_comp_array_u64_store() local
453 err = a->comp.device_array_u64_write(counter, element->idx, in counter_comp_array_u64_store()
457 err = a->comp.signal_array_u64_write(counter, a->parent, in counter_comp_array_u64_store()
461 err = a->comp.count_array_u64_write(counter, a->parent, in counter_comp_array_u64_store()
834 static int counter_signal_attrs_create(struct counter_device *const counter, in counter_signal_attrs_create() argument
839 struct device *const dev = &counter->dev; in counter_signal_attrs_create()
845 comp.signal_u32_read = counter->ops->signal_read; in counter_signal_attrs_create()
860 static int counter_sysfs_signals_add(struct counter_device *const counter, in counter_sysfs_signals_add() argument
867 for (i = 0; i < counter->num_signals; i++) { in counter_sysfs_signals_add()
869 groups[i].name = devm_kasprintf(&counter->dev, GFP_KERNEL, in counter_sysfs_signals_add()
875 err = counter_signal_attrs_create(counter, groups + i, in counter_sysfs_signals_add()
876 counter->signals + i); in counter_sysfs_signals_add()
884 static int counter_sysfs_synapses_add(struct counter_device *const counter, in counter_sysfs_synapses_add() argument
892 struct device *const dev = &counter->dev; in counter_sysfs_synapses_add()
901 id = synapse->signal - counter->signals; in counter_sysfs_synapses_add()
909 comp.action_read = counter->ops->action_read; in counter_sysfs_synapses_add()
910 comp.action_write = counter->ops->action_write; in counter_sysfs_synapses_add()
934 static int counter_count_attrs_create(struct counter_device *const counter, in counter_count_attrs_create() argument
939 struct device *const dev = &counter->dev; in counter_count_attrs_create()
945 comp.count_u64_read = counter->ops->count_read; in counter_count_attrs_create()
946 comp.count_u64_write = counter->ops->count_write; in counter_count_attrs_create()
958 comp.count_u32_read = counter->ops->function_read; in counter_count_attrs_create()
959 comp.count_u32_write = counter->ops->function_write; in counter_count_attrs_create()
969 static int counter_sysfs_counts_add(struct counter_device *const counter, in counter_sysfs_counts_add() argument
977 for (i = 0; i < counter->num_counts; i++) { in counter_sysfs_counts_add()
978 count = counter->counts + i; in counter_sysfs_counts_add()
981 groups[i].name = devm_kasprintf(&counter->dev, GFP_KERNEL, in counter_sysfs_counts_add()
987 err = counter_sysfs_synapses_add(counter, groups + i, count); in counter_sysfs_counts_add()
992 err = counter_count_attrs_create(counter, groups + i, count); in counter_sysfs_counts_add()
1000 static int counter_num_signals_read(struct counter_device *counter, u8 *val) in counter_num_signals_read() argument
1002 *val = counter->num_signals; in counter_num_signals_read()
1006 static int counter_num_counts_read(struct counter_device *counter, u8 *val) in counter_num_counts_read() argument
1008 *val = counter->num_counts; in counter_num_counts_read()
1012 static int counter_events_queue_size_read(struct counter_device *counter, in counter_events_queue_size_read() argument
1015 *val = kfifo_size(&counter->events); in counter_events_queue_size_read()
1019 static int counter_events_queue_size_write(struct counter_device *counter, in counter_events_queue_size_write() argument
1032 mutex_lock(&counter->events_out_lock); in counter_events_queue_size_write()
1033 spin_lock_irqsave(&counter->events_in_lock, flags); in counter_events_queue_size_write()
1034 kfifo_free(&counter->events); in counter_events_queue_size_write()
1035 counter->events.kfifo = events.kfifo; in counter_events_queue_size_write()
1036 spin_unlock_irqrestore(&counter->events_in_lock, flags); in counter_events_queue_size_write()
1037 mutex_unlock(&counter->events_out_lock); in counter_events_queue_size_write()
1053 static int counter_sysfs_attr_add(struct counter_device *const counter, in counter_sysfs_attr_add() argument
1057 struct device *const dev = &counter->dev; in counter_sysfs_attr_add()
1061 err = counter_sysfs_signals_add(counter, cattr_group); in counter_sysfs_attr_add()
1064 cattr_group += counter->num_signals; in counter_sysfs_attr_add()
1067 err = counter_sysfs_counts_add(counter, cattr_group); in counter_sysfs_attr_add()
1070 cattr_group += counter->num_counts; in counter_sysfs_attr_add()
1073 err = counter_name_attr_create(dev, cattr_group, counter->name); in counter_sysfs_attr_add()
1096 return counter_sysfs_exts_add(dev, cattr_group, counter->ext, in counter_sysfs_attr_add()
1097 counter->num_ext, scope, NULL); in counter_sysfs_attr_add()
1112 int counter_sysfs_add(struct counter_device *const counter) in counter_sysfs_add() argument
1114 struct device *const dev = &counter->dev; in counter_sysfs_add()
1115 const size_t num_groups = counter->num_signals + counter->num_counts + 1; in counter_sysfs_add()
1133 err = counter_sysfs_attr_add(counter, cattr_groups); in counter_sysfs_add()