Lines Matching refs:counter
59 static int stm32_count_read(struct counter_device *counter, in stm32_count_read() argument
62 struct stm32_timer_cnt *const priv = counter_priv(counter); in stm32_count_read()
71 static int stm32_count_write(struct counter_device *counter, in stm32_count_write() argument
74 struct stm32_timer_cnt *const priv = counter_priv(counter); in stm32_count_write()
84 static int stm32_count_function_read(struct counter_device *counter, in stm32_count_function_read() argument
88 struct stm32_timer_cnt *const priv = counter_priv(counter); in stm32_count_function_read()
111 static int stm32_count_function_write(struct counter_device *counter, in stm32_count_function_write() argument
115 struct stm32_timer_cnt *const priv = counter_priv(counter); in stm32_count_function_write()
157 static int stm32_count_direction_read(struct counter_device *counter, in stm32_count_direction_read() argument
161 struct stm32_timer_cnt *const priv = counter_priv(counter); in stm32_count_direction_read()
171 static int stm32_count_ceiling_read(struct counter_device *counter, in stm32_count_ceiling_read() argument
174 struct stm32_timer_cnt *const priv = counter_priv(counter); in stm32_count_ceiling_read()
184 static int stm32_count_ceiling_write(struct counter_device *counter, in stm32_count_ceiling_write() argument
187 struct stm32_timer_cnt *const priv = counter_priv(counter); in stm32_count_ceiling_write()
199 static int stm32_count_enable_read(struct counter_device *counter, in stm32_count_enable_read() argument
202 struct stm32_timer_cnt *const priv = counter_priv(counter); in stm32_count_enable_read()
212 static int stm32_count_enable_write(struct counter_device *counter, in stm32_count_enable_write() argument
215 struct stm32_timer_cnt *const priv = counter_priv(counter); in stm32_count_enable_write()
224 dev_err(counter->parent, "Cannot enable clock %d\n", ret); in stm32_count_enable_write()
244 static int stm32_count_prescaler_read(struct counter_device *counter, in stm32_count_prescaler_read() argument
247 struct stm32_timer_cnt *const priv = counter_priv(counter); in stm32_count_prescaler_read()
257 static int stm32_count_prescaler_write(struct counter_device *counter, in stm32_count_prescaler_write() argument
260 struct stm32_timer_cnt *const priv = counter_priv(counter); in stm32_count_prescaler_write()
271 static int stm32_count_cap_read(struct counter_device *counter, in stm32_count_cap_read() argument
275 struct stm32_timer_cnt *const priv = counter_priv(counter); in stm32_count_cap_read()
298 dev_dbg(counter->parent, "CCR%zu: 0x%08x\n", ch + 1, ccrx); in stm32_count_cap_read()
305 static int stm32_count_nb_ovf_read(struct counter_device *counter, in stm32_count_nb_ovf_read() argument
308 struct stm32_timer_cnt *const priv = counter_priv(counter); in stm32_count_nb_ovf_read()
318 static int stm32_count_nb_ovf_write(struct counter_device *counter, in stm32_count_nb_ovf_write() argument
321 struct stm32_timer_cnt *const priv = counter_priv(counter); in stm32_count_nb_ovf_write()
353 static int stm32_action_read(struct counter_device *counter, in stm32_action_read() argument
361 err = stm32_count_function_read(counter, count, &function); in stm32_action_read()
417 static int stm32_count_capture_configure(struct counter_device *counter, unsigned int ch, in stm32_count_capture_configure() argument
420 struct stm32_timer_cnt *const priv = counter_priv(counter); in stm32_count_capture_configure()
425 dev_err(counter->parent, "invalid ch: %d\n", ch); in stm32_count_capture_configure()
449 dev_dbg(counter->parent, "%s(%s) ch%d 0x%08x 0x%08x\n", __func__, enable ? "ena" : "dis", in stm32_count_capture_configure()
455 static int stm32_count_events_configure(struct counter_device *counter) in stm32_count_events_configure() argument
457 struct stm32_timer_cnt *const priv = counter_priv(counter); in stm32_count_events_configure()
462 list_for_each_entry(event_node, &counter->events_list, l) { in stm32_count_events_configure()
471 ret = stm32_count_capture_configure(counter, event_node->channel, true); in stm32_count_events_configure()
488 ret = stm32_count_capture_configure(counter, i, false); in stm32_count_events_configure()
497 static int stm32_count_watch_validate(struct counter_device *counter, in stm32_count_watch_validate() argument
500 struct stm32_timer_cnt *const priv = counter_priv(counter); in stm32_count_watch_validate()
509 dev_err(counter->parent, "Invalid channel %d\n", watch->channel); in stm32_count_watch_validate()
530 static int stm32_count_clk_get_freq(struct counter_device *counter, in stm32_count_clk_get_freq() argument
533 struct stm32_timer_cnt *const priv = counter_priv(counter); in stm32_count_clk_get_freq()
619 struct counter_device *counter = ptr; in stm32_timer_cnt_isr() local
620 struct stm32_timer_cnt *const priv = counter_priv(counter); in stm32_timer_cnt_isr()
638 counter_push_event(counter, COUNTER_EVENT_OVERFLOW_UNDERFLOW, 0); in stm32_timer_cnt_isr()
639 dev_dbg(counter->parent, "COUNTER_EVENT_OVERFLOW_UNDERFLOW\n"); in stm32_timer_cnt_isr()
647 counter_push_event(counter, COUNTER_EVENT_CAPTURE, i); in stm32_timer_cnt_isr()
649 dev_dbg(counter->parent, "COUNTER_EVENT_CAPTURE, %d\n", i); in stm32_timer_cnt_isr()
721 struct counter_device *counter; in stm32_timer_cnt_probe() local
727 counter = devm_counter_alloc(dev, sizeof(*priv)); in stm32_timer_cnt_probe()
728 if (!counter) in stm32_timer_cnt_probe()
731 priv = counter_priv(counter); in stm32_timer_cnt_probe()
744 counter->name = dev_name(dev); in stm32_timer_cnt_probe()
745 counter->parent = dev; in stm32_timer_cnt_probe()
746 counter->ops = &stm32_timer_cnt_ops; in stm32_timer_cnt_probe()
747 counter->counts = &stm32_counts; in stm32_timer_cnt_probe()
748 counter->num_counts = 1; in stm32_timer_cnt_probe()
749 counter->signals = stm32_signals; in stm32_timer_cnt_probe()
750 counter->num_signals = ARRAY_SIZE(stm32_signals); in stm32_timer_cnt_probe()
760 0, dev_name(dev), counter); in stm32_timer_cnt_probe()
776 0, dev_name(dev), counter); in stm32_timer_cnt_probe()
789 ret = devm_counter_add(dev, counter); in stm32_timer_cnt_probe()