U-Boot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] [PATCH] AT91: factor out ROUND() macro
@ 2009-07-17 21:35 Wolfgang Denk
  2009-07-22 22:09 ` Jean-Christophe PLAGNIOL-VILLARD
  0 siblings, 1 reply; 5+ messages in thread
From: Wolfgang Denk @ 2009-07-17 21:35 UTC (permalink / raw)
  To: u-boot

A large number of boards (all AT91 based) duplicated the ROUND()
macro in their board specific config files. Add the definition to
include/common.h and clean up the board config files.

Signed-off-by: Wolfgang Denk <wd@denx.de>
---
 include/common.h                   |    1 +
 include/configs/afeb9260.h         |    1 -
 include/configs/at91cap9adk.h      |    1 -
 include/configs/at91rm9200ek.h     |    1 -
 include/configs/at91sam9260ek.h    |    1 -
 include/configs/at91sam9261ek.h    |    1 -
 include/configs/at91sam9263ek.h    |    1 -
 include/configs/at91sam9m10g45ek.h |    1 -
 include/configs/at91sam9rlek.h     |    1 -
 include/configs/pm9261.h           |    1 -
 include/configs/pm9263.h           |    1 -
 11 files changed, 1 insertions(+), 10 deletions(-)

diff --git a/include/common.h b/include/common.h
index a6c7c07..6e689b2 100644
--- a/include/common.h
+++ b/include/common.h
@@ -697,6 +697,7 @@ void show_boot_progress(int val);
 
 #define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))
 
+#define ROUND(a,b)		(((a) + (b)) & ~((b) - 1))
 #define DIV_ROUND(n,d)		(((n) + ((d)/2)) / (d))
 #define DIV_ROUND_UP(n,d)	(((n) + (d) - 1) / (d))
 #define roundup(x, y)		((((x) + ((y) - 1)) / (y)) * (y))
diff --git a/include/configs/afeb9260.h b/include/configs/afeb9260.h
index c5134a2..22099c8 100644
--- a/include/configs/afeb9260.h
+++ b/include/configs/afeb9260.h
@@ -159,7 +159,6 @@
 #define CONFIG_SYS_LONGHELP		1
 #define CONFIG_CMDLINE_EDITING	1
 
-#define ROUND(A, B)		(((A) + (B)) & ~((B) - 1))
 /*
  * Size of malloc() pool
  */
diff --git a/include/configs/at91cap9adk.h b/include/configs/at91cap9adk.h
index 526cd60..f977527 100644
--- a/include/configs/at91cap9adk.h
+++ b/include/configs/at91cap9adk.h
@@ -201,7 +201,6 @@
 #define CONFIG_SYS_LONGHELP		1
 #define CONFIG_CMDLINE_EDITING	1
 
-#define ROUND(A, B)		(((A) + (B)) & ~((B) - 1))
 /*
  * Size of malloc() pool
  */
diff --git a/include/configs/at91rm9200ek.h b/include/configs/at91rm9200ek.h
index c898c73..58ec94a 100644
--- a/include/configs/at91rm9200ek.h
+++ b/include/configs/at91rm9200ek.h
@@ -311,7 +311,6 @@ struct bd_info_ext {
  */
 #define CONFIG_SYS_HZ_CLOCK (AT91C_MASTER_CLOCK / 2)
 
-#define ROUND(A, B)		(((A) + (B)) & ~((B) - 1))
 /*
  * Size of malloc() pool
  */
diff --git a/include/configs/at91sam9260ek.h b/include/configs/at91sam9260ek.h
index 1828c63..dd886d8 100644
--- a/include/configs/at91sam9260ek.h
+++ b/include/configs/at91sam9260ek.h
@@ -205,7 +205,6 @@
 #define CONFIG_SYS_LONGHELP		1
 #define CONFIG_CMDLINE_EDITING	1
 
-#define ROUND(A, B)		(((A) + (B)) & ~((B) - 1))
 /*
  * Size of malloc() pool
  */
diff --git a/include/configs/at91sam9261ek.h b/include/configs/at91sam9261ek.h
index 6d24023..cb0384a 100644
--- a/include/configs/at91sam9261ek.h
+++ b/include/configs/at91sam9261ek.h
@@ -223,7 +223,6 @@
 #define CONFIG_SYS_LONGHELP		1
 #define CONFIG_CMDLINE_EDITING	1
 
-#define ROUND(A, B)		(((A) + (B)) & ~((B) - 1))
 /*
  * Size of malloc() pool
  */
diff --git a/include/configs/at91sam9263ek.h b/include/configs/at91sam9263ek.h
index 00f3114..2bd2915 100644
--- a/include/configs/at91sam9263ek.h
+++ b/include/configs/at91sam9263ek.h
@@ -333,7 +333,6 @@
 #define CONFIG_SYS_HUSH_PARSER
 #define CONFIG_SYS_PROMPT_HUSH_PS2	"> "
 
-#define ROUND(A, B)		(((A) + (B)) & ~((B) - 1))
 /*
  * Size of malloc() pool
  */
diff --git a/include/configs/at91sam9m10g45ek.h b/include/configs/at91sam9m10g45ek.h
index 572c45b..8f86839 100644
--- a/include/configs/at91sam9m10g45ek.h
+++ b/include/configs/at91sam9m10g45ek.h
@@ -209,7 +209,6 @@
 #define CONFIG_SYS_HUSH_PARSER
 #define CONFIG_SYS_PROMPT_HUSH_PS2	"> "
 
-#define ROUND(A, B)		(((A) + (B)) & ~((B) - 1))
 /*
  * Size of malloc() pool
  */
diff --git a/include/configs/at91sam9rlek.h b/include/configs/at91sam9rlek.h
index c466823..64a9951 100644
--- a/include/configs/at91sam9rlek.h
+++ b/include/configs/at91sam9rlek.h
@@ -168,7 +168,6 @@
 #define CONFIG_SYS_LONGHELP		1
 #define CONFIG_CMDLINE_EDITING	1
 
-#define ROUND(A, B)		(((A) + (B)) & ~((B) - 1))
 /*
  * Size of malloc() pool
  */
diff --git a/include/configs/pm9261.h b/include/configs/pm9261.h
index 4784c40..3307a94 100644
--- a/include/configs/pm9261.h
+++ b/include/configs/pm9261.h
@@ -366,7 +366,6 @@
 #define CONFIG_SYS_LONGHELP		1
 #define CONFIG_CMDLINE_EDITING	1
 
-#define ROUND(A, B)		(((A) + (B)) & ~((B) - 1))
 /*
  * Size of malloc() pool
  */
diff --git a/include/configs/pm9263.h b/include/configs/pm9263.h
index 94e1eb9..a197061 100644
--- a/include/configs/pm9263.h
+++ b/include/configs/pm9263.h
@@ -395,7 +395,6 @@
 #define CONFIG_SYS_LONGHELP		1
 #define CONFIG_CMDLINE_EDITING		1
 
-#define ROUND(A, B)			(((A) + (B)) & ~((B) - 1))
 /*
  * Size of malloc() pool
  */
-- 
1.6.0.6

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [U-Boot] [PATCH] AT91: factor out ROUND() macro
  2009-07-17 21:35 [U-Boot] [PATCH] AT91: factor out ROUND() macro Wolfgang Denk
@ 2009-07-22 22:09 ` Jean-Christophe PLAGNIOL-VILLARD
  2009-07-22 22:51   ` Wolfgang Denk
  0 siblings, 1 reply; 5+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2009-07-22 22:09 UTC (permalink / raw)
  To: u-boot

On 23:35 Fri 17 Jul     , Wolfgang Denk wrote:
> A large number of boards (all AT91 based) duplicated the ROUND()
> macro in their board specific config files. Add the definition to
> include/common.h and clean up the board config files.
> 
> Signed-off-by: Wolfgang Denk <wd@denx.de>
build failled
as we do not include common.h but config.h it in the
cpu/arm926ejs/start.S

Best Regards,
J.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [U-Boot] [PATCH] AT91: factor out ROUND() macro
  2009-07-22 22:09 ` Jean-Christophe PLAGNIOL-VILLARD
@ 2009-07-22 22:51   ` Wolfgang Denk
  2009-07-23 22:17     ` [U-Boot] [PATCH] Make include/common.h usable by assembler code Wolfgang Denk
  0 siblings, 1 reply; 5+ messages in thread
From: Wolfgang Denk @ 2009-07-22 22:51 UTC (permalink / raw)
  To: u-boot

Dear Jean-Christophe PLAGNIOL-VILLARD,

In message <20090722220950.GC26867@game.jcrosoft.org> you wrote:
> On 23:35 Fri 17 Jul     , Wolfgang Denk wrote:
> > A large number of boards (all AT91 based) duplicated the ROUND()
> > macro in their board specific config files. Add the definition to
> > include/common.h and clean up the board config files.
> > 
> > Signed-off-by: Wolfgang Denk <wd@denx.de>
> build failled
> as we do not include common.h but config.h it in the
> cpu/arm926ejs/start.S

Yeah, this escaped my testing. But it's already in mainline, so we
need a fix for it.

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
All these theories, diverse as they are, have two things  in  common:
they explain the observed facts, and they are completeley and utterly
wrong.                       - Terry Pratchett, _The Light Fantastic_

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [U-Boot] [PATCH] Make include/common.h usable by assembler code
  2009-07-22 22:51   ` Wolfgang Denk
@ 2009-07-23 22:17     ` Wolfgang Denk
  2009-07-26 22:12       ` Wolfgang Denk
  0 siblings, 1 reply; 5+ messages in thread
From: Wolfgang Denk @ 2009-07-23 22:17 UTC (permalink / raw)
  To: u-boot

Commit 70ebf316 factored out the ROUND() macro into include/common.h,
not realizing that the primary use of this macro on AT91 systems was
in start.S where common.h was not included, and could not be included
because it contains a lot of C code which the assembler doesn't
understand.

This patch wraps such code in common.h in a "#ifndef __ASSEMBLY__"
construct, and then adds an include to cpu/arm926ejs/start.S thus
solving the problem.

Signed-off-by: Wolfgang Denk <wd@denx.de>
---
 cpu/arm926ejs/start.S |    1 +
 include/common.h      |   37 ++++++++++++++++++++-----------------
 2 files changed, 21 insertions(+), 17 deletions(-)

diff --git a/cpu/arm926ejs/start.S b/cpu/arm926ejs/start.S
index 0275b66..8043322 100644
--- a/cpu/arm926ejs/start.S
+++ b/cpu/arm926ejs/start.S
@@ -32,6 +32,7 @@
 
 
 #include <config.h>
+#include <common.h>
 #include <version.h>
 
 #if defined(CONFIG_OMAP1610)
diff --git a/include/common.h b/include/common.h
index 6e689b2..ee174bb 100644
--- a/include/common.h
+++ b/include/common.h
@@ -27,6 +27,8 @@
 #undef	_LINUX_CONFIG_H
 #define _LINUX_CONFIG_H 1	/* avoid reading Linux autoconf.h file	*/
 
+#ifndef __ASSEMBLY__		/* put C only stuff in this section */
+
 typedef unsigned char		uchar;
 typedef volatile unsigned long	vu_long;
 typedef volatile unsigned short vu_short;
@@ -105,6 +107,9 @@ typedef volatile unsigned char	vu_char;
 #ifdef CONFIG_BLACKFIN
 #include <asm/blackfin.h>
 #endif
+#ifdef CONFIG_STATUS_LED
+#include <status_led.h>
+#endif
 
 #include <part.h>
 #include <flash.h>
@@ -636,11 +641,9 @@ int	disable_ctrlc (int);	/* 1 to disable, 0 to enable Control-C detect */
 /*
  * STDIO based functions (can always be used)
  */
-
 /* serial stuff */
 void	serial_printf (const char *fmt, ...)
 		__attribute__ ((format (__printf__, 1, 2)));
-
 /* stdin */
 int	getc(void);
 int	tstc(void);
@@ -660,7 +663,6 @@ void	vprintf(const char *fmt, va_list args);
 /*
  * FILE based functions (can only be used AFTER relocation!)
  */
-
 #define stdin		0
 #define stdout		1
 #define stderr		2
@@ -682,14 +684,26 @@ int	fgetc(int file);
 
 int	pcmcia_init (void);
 
-#ifdef CONFIG_STATUS_LED
-# include <status_led.h>
-#endif
 /*
  * Board-specific Platform code can reimplement show_boot_progress () if needed
  */
 void show_boot_progress(int val);
 
+/* Multicore arch functions */
+#ifdef CONFIG_MP
+int cpu_status(int nr);
+int cpu_reset(int nr);
+int cpu_release(int nr, int argc, char *argv[]);
+#endif
+
+#endif /* __ASSEMBLY__ */
+
+/* Put only stuff here that the assembler can digest */
+
+#ifdef CONFIG_POST
+#define CONFIG_HAS_POST
+#endif
+
 #ifdef CONFIG_INIT_CRITICAL
 #error CONFIG_INIT_CRITICAL is deprecated!
 #error Read section CONFIG_SKIP_LOWLEVEL_INIT in README.
@@ -705,15 +719,4 @@ void show_boot_progress(int val);
 #define ALIGN(x,a)		__ALIGN_MASK((x),(typeof(x))(a)-1)
 #define __ALIGN_MASK(x,mask)	(((x)+(mask))&~(mask))
 
-/* Multicore arch functions */
-#ifdef CONFIG_MP
-int cpu_status(int nr);
-int cpu_reset(int nr);
-int cpu_release(int nr, int argc, char *argv[]);
-#endif
-
-#ifdef CONFIG_POST
-#define CONFIG_HAS_POST
-#endif
-
 #endif	/* __COMMON_H_ */
-- 
1.6.0.6

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [U-Boot] [PATCH] Make include/common.h usable by assembler code
  2009-07-23 22:17     ` [U-Boot] [PATCH] Make include/common.h usable by assembler code Wolfgang Denk
@ 2009-07-26 22:12       ` Wolfgang Denk
  0 siblings, 0 replies; 5+ messages in thread
From: Wolfgang Denk @ 2009-07-26 22:12 UTC (permalink / raw)
  To: u-boot

In message <1248387468-9928-1-git-send-email-wd@denx.de> you wrote:
> Commit 70ebf316 factored out the ROUND() macro into include/common.h,
> not realizing that the primary use of this macro on AT91 systems was
> in start.S where common.h was not included, and could not be included
> because it contains a lot of C code which the assembler doesn't
> understand.
> 
> This patch wraps such code in common.h in a "#ifndef __ASSEMBLY__"
> construct, and then adds an include to cpu/arm926ejs/start.S thus
> solving the problem.
> 
> Signed-off-by: Wolfgang Denk <wd@denx.de>
> ---
>  cpu/arm926ejs/start.S |    1 +
>  include/common.h      |   37 ++++++++++++++++++++-----------------
>  2 files changed, 21 insertions(+), 17 deletions(-)

Applied.

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
Einstein argued that there must be simplified explanations of nature,
because God is not capricious or arbitrary. No  such  faith  comforts
the software engineer.                             - Fred Brooks, Jr.

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2009-07-26 22:12 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-07-17 21:35 [U-Boot] [PATCH] AT91: factor out ROUND() macro Wolfgang Denk
2009-07-22 22:09 ` Jean-Christophe PLAGNIOL-VILLARD
2009-07-22 22:51   ` Wolfgang Denk
2009-07-23 22:17     ` [U-Boot] [PATCH] Make include/common.h usable by assembler code Wolfgang Denk
2009-07-26 22:12       ` Wolfgang Denk

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox