diff --git a/include/osmocom/core/counter.h b/include/osmocom/core/counter.h
index 259f1ed..dc62791 100644
--- a/include/osmocom/core/counter.h
+++ b/include/osmocom/core/counter.h
@@ -1,5 +1,7 @@
 #pragma once
 
+#include <osmocom/core/defs.h>
+
 /*! \file counter.h
  *  Common routines regarding counter handling */
 
@@ -14,6 +16,7 @@
 
 /*! Decrement given counter by one
  *  \param[in] ctr Counter that's to be decremented */
+OSMO_DEPRECATED("Implement as osmo_stat_item instead")
 static inline void osmo_counter_dec(struct osmo_counter *ctr)
 {
 	ctr->value--;
@@ -21,26 +24,31 @@
 
 /*! Increment counter by one.
  *  \param[in] Counter that's to be incremented */
+OSMO_DEPRECATED("Implement as osmo_stat_item instead")
 static inline void osmo_counter_inc(struct osmo_counter *ctr)
 {
 	ctr->value++;
 }
 
 /*! Get current value of counter */
+OSMO_DEPRECATED("Implement as osmo_stat_item instead")
 static inline unsigned long osmo_counter_get(struct osmo_counter *ctr)
 {
 	return ctr->value;
 }
 
 /*! Reset current value of counter to 0 */
+OSMO_DEPRECATED("Implement as osmo_stat_item instead")
 static inline void osmo_counter_reset(struct osmo_counter *ctr)
 {
 	ctr->value = 0;
 }
 
-struct osmo_counter *osmo_counter_alloc(const char *name);
+struct osmo_counter *osmo_counter_alloc(const char *name)
+	OSMO_DEPRECATED("Implement as osmo_stat_item instead");
 
-void osmo_counter_free(struct osmo_counter *ctr);
+void osmo_counter_free(struct osmo_counter *ctr)
+	OSMO_DEPRECATED("Implement as osmo_stat_item instead");
 
 int osmo_counters_for_each(int (*handle_counter)(struct osmo_counter *, void *), void *data);
 
