E1 Input: Add new S_INP_LINE_INIT signal

This allows other code to listen ot a signal about a new line that
was just configured.
diff --git a/openbsc/include/openbsc/signal.h b/openbsc/include/openbsc/signal.h
index c583e94..866fa29 100644
--- a/openbsc/include/openbsc/signal.h
+++ b/openbsc/include/openbsc/signal.h
@@ -144,6 +144,7 @@
 	S_INP_NONE,
 	S_INP_TEI_UP,
 	S_INP_TEI_DN,
+	S_INP_LINE_INIT,
 };
 
 struct gsm_subscriber;
@@ -244,6 +245,7 @@
 struct input_signal_data {
 	int link_type;
 	struct gsm_bts_trx *trx;
+	struct e1inp_line *line;
 };
 
 #endif
diff --git a/openbsc/src/e1_input.c b/openbsc/src/e1_input.c
index 92bfb24..b131844 100644
--- a/openbsc/src/e1_input.c
+++ b/openbsc/src/e1_input.c
@@ -594,10 +594,21 @@
 
 int e1inp_line_update(struct e1inp_line *line)
 {
+	struct input_signal_data isd;
+	int rc;
+
 	if (line->driver && line->driver->line_update)
-		return line->driver->line_update(line);
+		rc = line->driver->line_update(line);
 	else
-		return 0;
+		rc = 0;
+
+	/* Send a signal to anyone who is interested in new lines being
+	 * configured */
+	memset(&isd, 0, sizeof(isd));
+	isd.line = line;
+	dispatch_signal(SS_INPUT, S_INP_LINE_INIT, &isd);
+
+	return rc;
 }
 
 static int e1i_sig_cb(unsigned int subsys, unsigned int signal,