Clean up at user request

Corresponding to coreboot v1 svn r743.
diff --git a/flash_rom.c b/flash_rom.c
index a4f8ca5..0f51895 100644
--- a/flash_rom.c
+++ b/flash_rom.c
@@ -181,7 +181,7 @@
 void 
 myusec_calibrate_delay()
 {
-	unsigned long count = 2 *  1024 * 1024;
+	unsigned long count = 20 *  1024 * 1024;
 	volatile unsigned long i;
 	unsigned long timeusec;
 	struct timeval start, end;
@@ -189,7 +189,7 @@
 
 	fprintf(stderr, "Setting up microsecond timing loop\n");
 	while (! ok) {
-		fprintf(stderr, "Try %d\n", count);
+		//fprintf(stderr, "Try %d\n", count);
 		gettimeofday(&start, 0);
 		for( i = count; i; i--)
 			;
@@ -206,7 +206,7 @@
 	// compute one microsecond. That will be count / time
 	micro = count / timeusec;
 
-	fprintf(stderr, "one us is %d count\n", micro);
+	//fprintf(stderr, "one us is %d count\n", micro);
 
 
 }
@@ -227,8 +227,6 @@
     FILE * image;
     struct flashchip * flash;
 
-    myusec_calibrate_delay();
-
     if (argc > 2){
 	printf("usage: %s [romimage]\n", argv[0]);
 	printf(" If no romimage is specified, then all that happens\n");
@@ -255,6 +253,11 @@
     buf = (char *) calloc (size, sizeof(char));
     fread (buf, sizeof(char), size, image);
 
+    printf("Calibrating timer since microsleep sucks ... takes a second\n");
+    myusec_calibrate_delay();
+    printf("OK, calibrated, now do the deed\n");
+
     flash->write (flash, buf);
     verify_flash (flash, buf);
+    return 0;
 }