[BSC] Move the BTS-type specific code from bcs_init.c to bts_*.c

bsc_init.c was a big mess even only for two supported BTS models,
so before adding more BTS types, this needs a cleanup.

All the BTS specific code from bsc_init.c has now moved into
bts_{siemens_bs11,ipaccess_nanobts}.c

This has required that input_event() and nm_state_event() get both
converted to proper libosmocore signals instead of referencing external
symbols.
diff --git a/openbsc/src/ipaccess/ipaccess-config.c b/openbsc/src/ipaccess/ipaccess-config.c
index d502eab..d02faea 100644
--- a/openbsc/src/ipaccess/ipaccess-config.c
+++ b/openbsc/src/ipaccess/ipaccess-config.c
@@ -181,10 +181,15 @@
 	return 0;
 }
 
+static int nm_state_event(int evt, u_int8_t obj_class, void *obj,
+			  struct gsm_nm_state *old_state, struct gsm_nm_state *new_state,
+			  struct abis_om_obj_inst *obj_inst);
+
 static int nm_sig_cb(unsigned int subsys, unsigned int signal,
 		     void *handler_data, void *signal_data)
 {
 	struct ipacc_ack_signal_data *ipacc_data;
+	struct nm_statechg_signal_data *nsd;
 
 	switch (signal) {
 	case S_NM_IPACC_NACK:
@@ -201,6 +206,12 @@
 		printf("The BTS has nacked the restart. Exiting.\n");
 		exit(0);
 		break;
+	case S_NM_STATECHG_OPER:
+	case S_NM_STATECHG_ADM:
+		nsd = signal_data;
+		nm_state_event(signal, nsd->obj_class, nsd->obj, nsd->old_state,
+				nsd->new_state, nsd->obj_inst);
+		break;
 	default:
 		break;
 	}
@@ -453,32 +464,9 @@
 	msgb_free(nmsg);
 }
 
-void input_event(int event, enum e1inp_sign_type type, struct gsm_bts_trx *trx)
-{
-	switch (event) {
-	case EVT_E1_TEI_UP:
-		switch (type) {
-		case E1INP_SIGN_OML:
-			break;
-		case E1INP_SIGN_RSL:
-			/* FIXME */
-			break;
-		default:
-			break;
-		}
-		break;
-	case EVT_E1_TEI_DN:
-		fprintf(stderr, "Lost some E1 TEI link\n");
-		/* FIXME: deal with TEI or L1 link loss */
-		break;
-	default:
-		break;
-	}
-}
-
-int nm_state_event(enum nm_evt evt, u_int8_t obj_class, void *obj,
-		   struct gsm_nm_state *old_state, struct gsm_nm_state *new_state,
-		   struct abis_om_obj_inst *obj_inst)
+static int nm_state_event(int evt, u_int8_t obj_class, void *obj,
+			  struct gsm_nm_state *old_state, struct gsm_nm_state *new_state,
+			  struct abis_om_obj_inst *obj_inst)
 {
 	if (obj_class == NM_OC_BASEB_TRANSC) {
 		if (!found_trx && obj_inst->trx_nr != 0xff) {
@@ -486,7 +474,7 @@
 			bootstrap_om(trx);
 			found_trx = 1;
 		}
-	} else if (evt == EVT_STATECHG_OPER &&
+	} else if (evt == S_NM_STATECHG_OPER &&
 	    obj_class == NM_OC_RADIO_CARRIER &&
 	    new_state->availability == 3) {
 		struct gsm_bts_trx *trx = obj;