public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot] [PATCH] ARM: arm1176: Define arch_cpu_init() at the SoC level
@ 2012-09-02  2:27 Stephen Warren
  2012-09-14  0:17 ` Marek Vasut
  2012-09-25 20:01 ` Anatolij Gustschin
  0 siblings, 2 replies; 4+ messages in thread
From: Stephen Warren @ 2012-09-02  2:27 UTC (permalink / raw)
  To: u-boot

Commit 86c6326 "ARM: arm1176: enable instruction cache in
arch_cpu_init()" defined arch_cpu_init() in a file that is shared across
all arm1176 SoCs. tnetv107x already implemented this function, which
caused linking to break. Move the new conflicting arch_cpu_init() into
arm1176/bcm2835/init.c so that it doesn't conflict; grep indicates this
function is usually defined at the SoC-level, not the CPU-level, at least
for ARM.

Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>
---
 arch/arm/cpu/arm1176/bcm2835/Makefile |    2 +-
 arch/arm/cpu/arm1176/bcm2835/init.c   |   24 ++++++++++++++++++++++++
 arch/arm/cpu/arm1176/cpu.c            |    7 -------
 3 files changed, 25 insertions(+), 8 deletions(-)
 create mode 100644 arch/arm/cpu/arm1176/bcm2835/init.c

diff --git a/arch/arm/cpu/arm1176/bcm2835/Makefile b/arch/arm/cpu/arm1176/bcm2835/Makefile
index 4ea6d6b..95da6a8 100644
--- a/arch/arm/cpu/arm1176/bcm2835/Makefile
+++ b/arch/arm/cpu/arm1176/bcm2835/Makefile
@@ -17,7 +17,7 @@ include $(TOPDIR)/config.mk
 LIB	= $(obj)lib$(SOC).o
 
 SOBJS	:= lowlevel_init.o
-COBJS	:= reset.o timer.o
+COBJS	:= init.o reset.o timer.o
 
 SRCS	:= $(SOBJS:.o=.c) $(COBJS:.o=.c)
 OBJS	:= $(addprefix $(obj),$(SOBJS) $(COBJS))
diff --git a/arch/arm/cpu/arm1176/bcm2835/init.c b/arch/arm/cpu/arm1176/bcm2835/init.c
new file mode 100644
index 0000000..e90d3bb
--- /dev/null
+++ b/arch/arm/cpu/arm1176/bcm2835/init.c
@@ -0,0 +1,24 @@
+/*
+ * (C) Copyright 2012 Stephen Warren
+ *
+ * See file CREDITS for list of people who contributed to this
+ * project.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * version 2 as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ */
+
+#include <common.h>
+
+int arch_cpu_init(void)
+{
+	icache_enable();
+
+	return 0;
+}
diff --git a/arch/arm/cpu/arm1176/cpu.c b/arch/arm/cpu/arm1176/cpu.c
index 532a90b..c0fd114 100644
--- a/arch/arm/cpu/arm1176/cpu.c
+++ b/arch/arm/cpu/arm1176/cpu.c
@@ -65,10 +65,3 @@ static void cache_flush (void)
 	/* mem barrier to sync things */
 	asm ("mcr p15, 0, %0, c7, c10, 4": :"r" (0));
 }
-
-int arch_cpu_init(void)
-{
-	icache_enable();
-
-	return 0;
-}
-- 
1.7.9.5

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

* [U-Boot] [PATCH] ARM: arm1176: Define arch_cpu_init() at the SoC level
  2012-09-02  2:27 [U-Boot] [PATCH] ARM: arm1176: Define arch_cpu_init() at the SoC level Stephen Warren
@ 2012-09-14  0:17 ` Marek Vasut
  2012-09-25 20:01 ` Anatolij Gustschin
  1 sibling, 0 replies; 4+ messages in thread
From: Marek Vasut @ 2012-09-14  0:17 UTC (permalink / raw)
  To: u-boot

Dear Stephen Warren,

> Commit 86c6326 "ARM: arm1176: enable instruction cache in
> arch_cpu_init()" defined arch_cpu_init() in a file that is shared across
> all arm1176 SoCs. tnetv107x already implemented this function, which
> caused linking to break. Move the new conflicting arch_cpu_init() into
> arm1176/bcm2835/init.c so that it doesn't conflict; grep indicates this
> function is usually defined at the SoC-level, not the CPU-level, at least
> for ARM.
> 
> Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>

Acked-by: Marek Vasut <marex@denx.de>

> ---
>  arch/arm/cpu/arm1176/bcm2835/Makefile |    2 +-
>  arch/arm/cpu/arm1176/bcm2835/init.c   |   24 ++++++++++++++++++++++++
>  arch/arm/cpu/arm1176/cpu.c            |    7 -------
>  3 files changed, 25 insertions(+), 8 deletions(-)
>  create mode 100644 arch/arm/cpu/arm1176/bcm2835/init.c
> 
> diff --git a/arch/arm/cpu/arm1176/bcm2835/Makefile
> b/arch/arm/cpu/arm1176/bcm2835/Makefile index 4ea6d6b..95da6a8 100644
> --- a/arch/arm/cpu/arm1176/bcm2835/Makefile
> +++ b/arch/arm/cpu/arm1176/bcm2835/Makefile
> @@ -17,7 +17,7 @@ include $(TOPDIR)/config.mk
>  LIB	= $(obj)lib$(SOC).o
> 
>  SOBJS	:= lowlevel_init.o
> -COBJS	:= reset.o timer.o
> +COBJS	:= init.o reset.o timer.o
> 
>  SRCS	:= $(SOBJS:.o=.c) $(COBJS:.o=.c)
>  OBJS	:= $(addprefix $(obj),$(SOBJS) $(COBJS))
> diff --git a/arch/arm/cpu/arm1176/bcm2835/init.c
> b/arch/arm/cpu/arm1176/bcm2835/init.c new file mode 100644
> index 0000000..e90d3bb
> --- /dev/null
> +++ b/arch/arm/cpu/arm1176/bcm2835/init.c
> @@ -0,0 +1,24 @@
> +/*
> + * (C) Copyright 2012 Stephen Warren
> + *
> + * See file CREDITS for list of people who contributed to this
> + * project.
> + *
> + * This program is free software; you can redistribute it and/or
> + * modify it under the terms of the GNU General Public License
> + * version 2 as published by the Free Software Foundation.
> + *
> + * This program is distributed in the hope that it will be useful, but
> + * WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> + * GNU General Public License for more details.
> + */
> +
> +#include <common.h>
> +
> +int arch_cpu_init(void)
> +{
> +	icache_enable();
> +
> +	return 0;
> +}
> diff --git a/arch/arm/cpu/arm1176/cpu.c b/arch/arm/cpu/arm1176/cpu.c
> index 532a90b..c0fd114 100644
> --- a/arch/arm/cpu/arm1176/cpu.c
> +++ b/arch/arm/cpu/arm1176/cpu.c
> @@ -65,10 +65,3 @@ static void cache_flush (void)
>  	/* mem barrier to sync things */
>  	asm ("mcr p15, 0, %0, c7, c10, 4": :"r" (0));
>  }
> -
> -int arch_cpu_init(void)
> -{
> -	icache_enable();
> -
> -	return 0;
> -}

Best regards,
Marek Vasut

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

* [U-Boot] [PATCH] ARM: arm1176: Define arch_cpu_init() at the SoC level
  2012-09-02  2:27 [U-Boot] [PATCH] ARM: arm1176: Define arch_cpu_init() at the SoC level Stephen Warren
  2012-09-14  0:17 ` Marek Vasut
@ 2012-09-25 20:01 ` Anatolij Gustschin
  2012-09-25 20:30   ` Tom Rini
  1 sibling, 1 reply; 4+ messages in thread
From: Anatolij Gustschin @ 2012-09-25 20:01 UTC (permalink / raw)
  To: u-boot

Hi Albert, Tom,

On Sat,  1 Sep 2012 19:27:56 -0700
Stephen Warren <swarren@wwwdotorg.org> wrote:

> Commit 86c6326 "ARM: arm1176: enable instruction cache in
> arch_cpu_init()" defined arch_cpu_init() in a file that is shared across
> all arm1176 SoCs. tnetv107x already implemented this function, which
> caused linking to break. Move the new conflicting arch_cpu_init() into
> arm1176/bcm2835/init.c so that it doesn't conflict; grep indicates this
> function is usually defined at the SoC-level, not the CPU-level, at least
> for ARM.
> 
> Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>
> ---
>  arch/arm/cpu/arm1176/bcm2835/Makefile |    2 +-
>  arch/arm/cpu/arm1176/bcm2835/init.c   |   24 ++++++++++++++++++++++++
>  arch/arm/cpu/arm1176/cpu.c            |    7 -------
>  3 files changed, 25 insertions(+), 8 deletions(-)
>  create mode 100644 arch/arm/cpu/arm1176/bcm2835/init.c

Could you please apply this patch? It fixes the build error for
tnetv107x_evm board. Currently MAKEALL doesn't build this board,
but this [1] patch enables building it and it fails. Thanks!

Anatolij

[1] http://patchwork.ozlabs.org/patch/180771

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

* [U-Boot] [PATCH] ARM: arm1176: Define arch_cpu_init() at the SoC level
  2012-09-25 20:01 ` Anatolij Gustschin
@ 2012-09-25 20:30   ` Tom Rini
  0 siblings, 0 replies; 4+ messages in thread
From: Tom Rini @ 2012-09-25 20:30 UTC (permalink / raw)
  To: u-boot

On Tue, Sep 25, 2012 at 10:01:34PM +0200, Anatolij Gustschin wrote:
> Hi Albert, Tom,
> 
> On Sat,  1 Sep 2012 19:27:56 -0700
> Stephen Warren <swarren@wwwdotorg.org> wrote:
> 
> > Commit 86c6326 "ARM: arm1176: enable instruction cache in
> > arch_cpu_init()" defined arch_cpu_init() in a file that is shared across
> > all arm1176 SoCs. tnetv107x already implemented this function, which
> > caused linking to break. Move the new conflicting arch_cpu_init() into
> > arm1176/bcm2835/init.c so that it doesn't conflict; grep indicates this
> > function is usually defined at the SoC-level, not the CPU-level, at least
> > for ARM.
> > 
> > Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>
> > ---
> >  arch/arm/cpu/arm1176/bcm2835/Makefile |    2 +-
> >  arch/arm/cpu/arm1176/bcm2835/init.c   |   24 ++++++++++++++++++++++++
> >  arch/arm/cpu/arm1176/cpu.c            |    7 -------
> >  3 files changed, 25 insertions(+), 8 deletions(-)
> >  create mode 100644 arch/arm/cpu/arm1176/bcm2835/init.c
> 
> Could you please apply this patch? It fixes the build error for
> tnetv107x_evm board. Currently MAKEALL doesn't build this board,
> but this [1] patch enables building it and it fails. Thanks!

I know this could go through u-boot-arm, but to try and ease Albert's
backlog, I've taken this for u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20120925/00341255/attachment.pgp>

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

end of thread, other threads:[~2012-09-25 20:30 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-09-02  2:27 [U-Boot] [PATCH] ARM: arm1176: Define arch_cpu_init() at the SoC level Stephen Warren
2012-09-14  0:17 ` Marek Vasut
2012-09-25 20:01 ` Anatolij Gustschin
2012-09-25 20:30   ` Tom Rini

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