move allocation of talloc contexts into link-time constructor

This is much more optimal than checking if the context exists every
time we allocate the respective object.
diff --git a/openbsc/src/subchan_demux.c b/openbsc/src/subchan_demux.c
index ccd4fad..368b985 100644
--- a/openbsc/src/subchan_demux.c
+++ b/openbsc/src/subchan_demux.c
@@ -312,9 +312,6 @@
 {
 	int i;
 
-	if (!tall_tqe_ctx)
-		tall_tqe_ctx = talloc_named_const(tall_bsc_ctx, 1,
-						  "subch_txq_entry");
 	memset(mx, 0, sizeof(*mx));
 	for (i = 0; i < NR_SUBCH; i++) {
 		struct mux_subch *sch = &mx->subch[i];
@@ -323,3 +320,9 @@
 
 	return 0;
 }
+
+static __attribute__((constructor)) void on_dso_load_ss_demux(void)
+{
+	tall_tqe_ctx = talloc_named_const(tall_bsc_ctx, 1,
+					  "subch_txq_entry");
+}