[PATCH 1/3] ARM: Add "verbose" parameter for start_linux procedure

Alexander Shiyan shc_work at mail.ru
Wed Jul 10 03:00:39 EDT 2013


This patch will make a normal booting more silent.

Signed-off-by: Alexander Shiyan <shc_work at mail.ru>
---
 arch/arm/include/asm/armlinux.h |  2 +-
 arch/arm/lib/armlinux.c         | 16 +++++++++-------
 arch/arm/lib/bootm.c            |  3 ++-
 arch/arm/lib/bootu.c            |  2 +-
 arch/arm/lib/bootz.c            |  2 +-
 5 files changed, 14 insertions(+), 11 deletions(-)

diff --git a/arch/arm/include/asm/armlinux.h b/arch/arm/include/asm/armlinux.h
index 07479fb..15cae14 100644
--- a/arch/arm/include/asm/armlinux.h
+++ b/arch/arm/include/asm/armlinux.h
@@ -38,6 +38,6 @@ static inline void armlinux_set_atag_appender(struct tag *(*func)(struct tag *))
 struct image_data;
 
 void start_linux(void *adr, int swap, unsigned long initrd_address,
-		unsigned long initrd_size, void *oftree);
+		unsigned long initrd_size, void *oftree, int verbose);
 
 #endif /* __ARCH_ARMLINUX_H */
diff --git a/arch/arm/lib/armlinux.c b/arch/arm/lib/armlinux.c
index 40a63ea..84372af 100644
--- a/arch/arm/lib/armlinux.c
+++ b/arch/arm/lib/armlinux.c
@@ -227,8 +227,8 @@ static void setup_end_tag (void)
 	params->hdr.size = 0;
 }
 
-static void setup_tags(unsigned long initrd_address,
-		unsigned long initrd_size, int swap)
+static void setup_tags(unsigned long initrd_address, unsigned long initrd_size,
+		       int swap, int verbose)
 {
 	const char *commandline = linux_bootargs_get();
 
@@ -247,8 +247,9 @@ static void setup_tags(unsigned long initrd_address,
 #endif
 	setup_end_tag();
 
-	printf("commandline: %s\n"
-	       "arch_number: %d\n", commandline, armlinux_get_architecture());
+	if (verbose)
+		printf("commandline: %s\narch_number: %d\n",
+		       commandline, armlinux_get_architecture());
 
 }
 
@@ -258,17 +259,18 @@ void armlinux_set_bootparams(void *params)
 }
 
 void start_linux(void *adr, int swap, unsigned long initrd_address,
-		unsigned long initrd_size, void *oftree)
+		unsigned long initrd_size, void *oftree, int verbose)
 {
 	void (*kernel)(int zero, int arch, void *params) = adr;
 	void *params = NULL;
 	int architecture;
 
 	if (oftree) {
-		printf("booting Linux kernel with devicetree\n");
+		if (verbose)
+			printf("booting Linux kernel with devicetree\n");
 		params = oftree;
 	} else {
-		setup_tags(initrd_address, initrd_size, swap);
+		setup_tags(initrd_address, initrd_size, swap, verbose);
 		params = armlinux_bootparams;
 	}
 	architecture = armlinux_get_architecture();
diff --git a/arch/arm/lib/bootm.c b/arch/arm/lib/bootm.c
index 0786e22..c5ac0d8 100644
--- a/arch/arm/lib/bootm.c
+++ b/arch/arm/lib/bootm.c
@@ -106,7 +106,8 @@ static int __do_bootm_linux(struct image_data *data, int swap)
 		printf("...\n");
 	}
 
-	start_linux((void *)kernel, swap, initrd_start, initrd_size, data->oftree);
+	start_linux((void *)kernel, swap, initrd_start, initrd_size,
+		    data->oftree, bootm_verbose(data));
 
 	reset_cpu(0);
 
diff --git a/arch/arm/lib/bootu.c b/arch/arm/lib/bootu.c
index fdb0362..c394f5e 100644
--- a/arch/arm/lib/bootu.c
+++ b/arch/arm/lib/bootu.c
@@ -26,7 +26,7 @@ static int do_bootu(int argc, char *argv[])
 	oftree = of_get_fixed_tree(NULL);
 #endif
 
-	start_linux(kernel, 0, 0, 0, oftree);
+	start_linux(kernel, 0, 0, 0, oftree, 1);
 
 	return 1;
 }
diff --git a/arch/arm/lib/bootz.c b/arch/arm/lib/bootz.c
index e32a77b..b402fce 100644
--- a/arch/arm/lib/bootz.c
+++ b/arch/arm/lib/bootz.c
@@ -112,7 +112,7 @@ static int do_bootz(int argc, char *argv[])
 	oftree = of_get_fixed_tree(NULL);
 #endif
 
-	start_linux(zimage, swap, 0, 0, oftree);
+	start_linux(zimage, swap, 0, 0, oftree, 1);
 
 	return 0;
 
-- 
1.8.1.5




More information about the barebox mailing list