pdch_ulc: Store TBF poll reason

This allows easily checking the initial reason to trigger the poll when
either it is received or times out.

Later on this reason can be transformed into an FSM event and sent to
the related FSM.

Related: OS#5020
Change-Id: Ie8fefd1f47ad674ce597a8065b15284088956bde
diff --git a/src/tbf.h b/src/tbf.h
index 779bc26..83c1b70 100644
--- a/src/tbf.h
+++ b/src/tbf.h
@@ -46,6 +46,7 @@
 #include <osmocom/gsm/gsm48.h>
 
 #include "coding_scheme.h"
+#include <pdch_ul_controller.h>
 #ifdef __cplusplus
 }
 #endif
@@ -63,14 +64,6 @@
 	GPRS_RLCMAC_RELEASING,	/* releasing, wait to free TBI/USF */
 };
 
-enum gprs_rlcmac_tbf_poll_type {
-	GPRS_RLCMAC_POLL_UL_ASS,
-	GPRS_RLCMAC_POLL_DL_ASS,
-	GPRS_RLCMAC_POLL_UL_ACK,
-	GPRS_RLCMAC_POLL_DL_ACK,
-	GPRS_RLCMAC_POLL_CELL_CHG_CONTINUE,
-};
-
 enum gprs_rlcmac_tbf_poll_state {
 	GPRS_RLCMAC_POLL_NONE = 0,
 	GPRS_RLCMAC_POLL_SCHED, /* a polling was scheduled */
@@ -208,8 +201,8 @@
 uint8_t tbf_tfi(const struct gprs_rlcmac_tbf *tbf);
 int tbf_assign_control_ts(struct gprs_rlcmac_tbf *tbf);
 int tbf_check_polling(const struct gprs_rlcmac_tbf *tbf, uint32_t fn, uint8_t ts, uint32_t *poll_fn, unsigned int *rrbp);
-void tbf_set_polling(struct gprs_rlcmac_tbf *tbf, uint32_t new_poll_fn, uint8_t ts, enum gprs_rlcmac_tbf_poll_type t);
-void tbf_poll_timeout(struct gprs_rlcmac_tbf *tbf);
+void tbf_set_polling(struct gprs_rlcmac_tbf *tbf, uint32_t new_poll_fn, uint8_t ts, enum pdch_ulc_tbf_poll_reason t);
+void tbf_poll_timeout(struct gprs_rlcmac_tbf *tbf, enum pdch_ulc_tbf_poll_reason reason);
 #ifdef __cplusplus
 }
 #endif
@@ -267,8 +260,8 @@
 
 	int check_polling(uint32_t fn, uint8_t ts,
 		uint32_t *poll_fn, unsigned int *rrbp) const;
-	void set_polling(uint32_t poll_fn, uint8_t ts, enum gprs_rlcmac_tbf_poll_type t);
-	void poll_timeout();
+	void set_polling(uint32_t poll_fn, uint8_t ts, enum pdch_ulc_tbf_poll_reason reason);
+	void poll_timeout(enum pdch_ulc_tbf_poll_reason reason);
 
 	/** tlli handling */
 	uint32_t tlli() const;