don't prefix every line with timestamp, this saves some screen real estate

diff --git a/include/openbsc/debug.h b/include/openbsc/debug.h
index 995a0f8..63f9e67 100644
--- a/include/openbsc/debug.h
+++ b/include/openbsc/debug.h
@@ -33,6 +33,7 @@
 void debugp(unsigned int subsys, char *file, int line, int cont, const char *format, ...);
 void debug_parse_category_mask(const char* mask);
 void debug_use_color(int use_color);
+void debug_timestamp(int enable);
 extern unsigned int debug_mask;
 
 #endif /* _DEBUG_H */
diff --git a/src/bsc_hack.c b/src/bsc_hack.c
index e4f90b4..7aa8b9a 100644
--- a/src/bsc_hack.c
+++ b/src/bsc_hack.c
@@ -1059,10 +1059,11 @@
 			{"bts-type", 1, 0, 't'},
 			{"cardnr", 1, 0, 'C'},
 			{"release-l2", 0, 0, 'R'},
+			{"timestamp", 0, 0, 'T'},
 			{0, 0, 0, 0}
 		};
 
-		c = getopt_long(argc, argv, "hc:n:d:sar:p:f:t:C:RL:l:",
+		c = getopt_long(argc, argv, "hc:n:d:sar:p:f:t:C:RL:l:T",
 				long_options, &option_index);
 		if (c == -1)
 			break;
@@ -1111,6 +1112,9 @@
 		case 'R':
 			release_l2 = 1;
 			break;
+		case 'T':
+			debug_timestamp(1);
+			break;
 		default:
 			/* ignore */
 			break;
diff --git a/src/debug.c b/src/debug.c
index 9bca07a..aeb9930 100644
--- a/src/debug.c
+++ b/src/debug.c
@@ -65,6 +65,14 @@
 	use_color = color;
 }
 
+static int print_timestamp = 0;
+
+void debug_timestamp(int enable)
+{
+	print_timestamp = enable;
+}
+
+
 /*
  * Parse the category mask.
  * category1:category2:category3
@@ -114,12 +122,15 @@
 	fprintf(outfd, "%s", color(subsys));
 
 	if (!cont) {
-		char *timestr;
-		time_t tm;
-		tm = time(NULL);
-		timestr = ctime(&tm);
-		timestr[strlen(timestr)-1] = '\0';
-		fprintf(outfd, "%s <%4.4x> %s:%d ", timestr, subsys, file, line);
+		if (print_timestamp) {
+			char *timestr;
+			time_t tm;
+			tm = time(NULL);
+			timestr = ctime(&tm);
+			timestr[strlen(timestr)-1] = '\0';
+			fprintf(outfd, "%s ", timestr);
+		}
+		fprintf(outfd, "<%4.4x> %s:%d ", subsys, file, line);
 	}
 	vfprintf(outfd, format, ap);
 	fprintf(outfd, "\033[0;m");