diff mbox

Fix socfpga compilation with early_printk() enabled

Message ID 20121017181648.GA12120@elf.ucw.cz (mailing list archive)
State New, archived
Headers show

Commit Message

Pavel Machek Oct. 17, 2012, 6:16 p.m. UTC
Hi!

This fixes early_printk() compilation for
socfpga. (senduart/busyuart/waituart were missing). It does that by
making Picochip code generic.

Signed-off-by: Pavel Machek <pavel@denx.de>
Acked-by: Dinh Nguyen <dinguyen@altera.com>
Acked-by: Jamie Iles <jamie@jamieiles.com

Comments

Arnd Bergmann Oct. 25, 2012, 2:58 p.m. UTC | #1
On Wednesday 17 October 2012, Pavel Machek wrote:
> Hi!
> 
> This fixes early_printk() compilation for
> socfpga. (senduart/busyuart/waituart were missing). It does that by
> making Picochip code generic.
> 
> Signed-off-by: Pavel Machek <pavel@denx.de>
> Acked-by: Dinh Nguyen <dinguyen@altera.com>
> Acked-by: Jamie Iles <jamie@jamieiles.com 

Applied to fixes branch of arm-soc, but please be more explicit about
what you want to happen with patches in the future. Ideally we would
get pull requests for patches on each platform from only one person,
so please coordinate with Dinh Nguyen who that should be.

Some minor things:

* If you include something in the email that should not be part of
the git changelog (e.g. "Hi!"), then please put it below the "---"
line under the Signed-off list.

* you are missing a '>' after Jamies email address

* When you submit a patch for inclusion, please always take both
Olof and me on Cc on the email, since we are doing this work together
and take turns, so you might not always know which one will take
the patch. We have an alias "arm@kernel.org" that you can also
use.

I fixed all of the above now and applied the patch.

	Arnd
Pavel Machek Oct. 27, 2012, 11:56 a.m. UTC | #2
Hi!

> > This fixes early_printk() compilation for
> > socfpga. (senduart/busyuart/waituart were missing). It does that by
> > making Picochip code generic.
> > 
> > Signed-off-by: Pavel Machek <pavel@denx.de>
> > Acked-by: Dinh Nguyen <dinguyen@altera.com>
> > Acked-by: Jamie Iles <jamie@jamieiles.com 
> 
> Applied to fixes branch of arm-soc, but please be more explicit about
> what you want to happen with patches in the future. Ideally we would
> get pull requests for patches on each platform from only one person,
> so please coordinate with Dinh Nguyen who that should be.

Dinh is the maintainer, so if we can only send patches from one
person, it needs to be him. If you'd be willing to take patches from
second person, that would help us... if not, of course I can send all
the patches through Dinh.

> Some minor things:
> 
> * If you include something in the email that should not be part of
> the git changelog (e.g. "Hi!"), then please put it below the "---"
> line under the Signed-off list.

Ok.

> * you are missing a '>' after Jamies email address

Sorry.

> * When you submit a patch for inclusion, please always take both
> Olof and me on Cc on the email, since we are doing this work together
> and take turns, so you might not always know which one will take
> the patch. We have an alias "arm@kernel.org" that you can also
> use.

Olof Johansson <olof@lixom.net>? Can do.

But... perhaps you should add an entry into MAINTAINERS file
explaining all this? arm@kernel.org is not mentioned there, Olof is
not mentioned as maintaining arm. (And yes, I did check it before
original patch submission).

Thanks,
								Pavel
Arnd Bergmann Oct. 27, 2012, 3:39 p.m. UTC | #3
On Saturday 27 October 2012, Pavel Machek wrote:

> > > This fixes early_printk() compilation for
> > > socfpga. (senduart/busyuart/waituart were missing). It does that by
> > > making Picochip code generic.
> > > 
> > > Signed-off-by: Pavel Machek <pavel@denx.de>
> > > Acked-by: Dinh Nguyen <dinguyen@altera.com>
> > > Acked-by: Jamie Iles <jamie@jamieiles.com 
> > 
> > Applied to fixes branch of arm-soc, but please be more explicit about
> > what you want to happen with patches in the future. Ideally we would
> > get pull requests for patches on each platform from only one person,
> > so please coordinate with Dinh Nguyen who that should be.
> 
> Dinh is the maintainer, so if we can only send patches from one
> person, it needs to be him. If you'd be willing to take patches from
> second person, that would help us... if not, of course I can send all
> the patches through Dinh.

You can both send patches, we just need to know what to expect. For most
platforms it works best if one person collects the patches from everyone.

If you are sending patches with both Dinh and us as the recipients,
just make it clear who you want to pick up the patch.

> > * When you submit a patch for inclusion, please always take both
> > Olof and me on Cc on the email, since we are doing this work together
> > and take turns, so you might not always know which one will take
> > the patch. We have an alias "arm@kernel.org" that you can also
> > use.
> 
> Olof Johansson <olof@lixom.net>? Can do.
> 
> But... perhaps you should add an entry into MAINTAINERS file
> explaining all this? arm@kernel.org is not mentioned there, Olof is
> not mentioned as maintaining arm. (And yes, I did check it before
> original patch submission).

We intentionally didn't put our names into the maintainers file because
that would mean getting Cc'd on every patch that should actually go
to one of the sub-maintainers instead.

We are adding an entry pointing to the arm-soc tree now though, just
without the arm@kernel.org entry.

	Arnd
Pavel Machek Oct. 28, 2012, 11:01 p.m. UTC | #4
Hi!

> > > > This fixes early_printk() compilation for
> > > > socfpga. (senduart/busyuart/waituart were missing). It does that by
> > > > making Picochip code generic.
> > > > 
> > > > Signed-off-by: Pavel Machek <pavel@denx.de>
> > > > Acked-by: Dinh Nguyen <dinguyen@altera.com>
> > > > Acked-by: Jamie Iles <jamie@jamieiles.com 
> > > 
> > > Applied to fixes branch of arm-soc, but please be more explicit about
> > > what you want to happen with patches in the future. Ideally we would
> > > get pull requests for patches on each platform from only one person,
> > > so please coordinate with Dinh Nguyen who that should be.
> > 
> > Dinh is the maintainer, so if we can only send patches from one
> > person, it needs to be him. If you'd be willing to take patches from
> > second person, that would help us... if not, of course I can send all
> > the patches through Dinh.
> 
> You can both send patches, we just need to know what to expect. For most
> platforms it works best if one person collects the patches from
> everyone.

> If you are sending patches with both Dinh and us as the recipients,
> just make it clear who you want to pick up the patch.

Thanks. Would "[PATCH for soc]" in subject line be suitable markup?

BTW current for-next soc tree does not compile for me, with 

arch/arm/mach-vexpress/built-in.o: In function `v2m_timer_init':
hotplug.c:(.init.text+0xd0): undefined reference to
`vexpress_clk_init'
arch/arm/mach-vexpress/built-in.o: In function `v2m_dt_timer_init':
hotplug.c:(.init.text+0x100): undefined reference to
`vexpress_clk_of_init'
make: *** [vmlinux] Error 1

config attached.

									Pavel
Pavel Machek Oct. 28, 2012, 11:13 p.m. UTC | #5
Hi!

> > > > > This fixes early_printk() compilation for
> > > > > socfpga. (senduart/busyuart/waituart were missing). It does that by
> > > > > making Picochip code generic.
> > > > > 
> > > > > Signed-off-by: Pavel Machek <pavel@denx.de>
> > > > > Acked-by: Dinh Nguyen <dinguyen@altera.com>
> > > > > Acked-by: Jamie Iles <jamie@jamieiles.com 
> > > > 
> > > > Applied to fixes branch of arm-soc, but please be more explicit about
> > > > what you want to happen with patches in the future. Ideally we would
> > > > get pull requests for patches on each platform from only one person,
> > > > so please coordinate with Dinh Nguyen who that should be.
> > > 
> > > Dinh is the maintainer, so if we can only send patches from one
> > > person, it needs to be him. If you'd be willing to take patches from
> > > second person, that would help us... if not, of course I can send all
> > > the patches through Dinh.
> > 
> > You can both send patches, we just need to know what to expect. For most
> > platforms it works best if one person collects the patches from
> > everyone.
> 
> > If you are sending patches with both Dinh and us as the recipients,
> > just make it clear who you want to pick up the patch.
> 
> Thanks. Would "[PATCH for soc]" in subject line be suitable markup?
> 
> BTW current for-next soc tree does not compile for me, with 
> 
> arch/arm/mach-vexpress/built-in.o: In function `v2m_timer_init':
> hotplug.c:(.init.text+0xd0): undefined reference to
> `vexpress_clk_init'
> arch/arm/mach-vexpress/built-in.o: In function `v2m_dt_timer_init':
> hotplug.c:(.init.text+0x100): undefined reference to
> `vexpress_clk_of_init'
> make: *** [vmlinux] Error 1

Aha, grep shows:

arch/arm/mach-vexpress/v2m.c:   vexpress_clk_init(ioremap(V2M_SYSCTL, SZ_4K));
include/linux/vexpress.h:void vexpress_clk_init(void __iomem *sp810_base);

...seems vexpress_clk_init is not there, yet... And what is more
serious:

pavel@amd:~/mainline-altera/linux$ grep mach-vexpress MAINTAINERS
pavel@amd:~/mainline-altera/linux$ 

vexpress_clk_of_init();     has same problem.

									Pavel
Arnd Bergmann Oct. 29, 2012, 4:41 a.m. UTC | #6
On Sunday 28 October 2012, Pavel Machek wrote:
> arch/arm/mach-vexpress/v2m.c:   vexpress_clk_init(ioremap(V2M_SYSCTL, SZ_4K));
> include/linux/vexpress.h:void vexpress_clk_init(void __iomem *sp810_base);
> 
> ...seems vexpress_clk_init is not there, yet... And what is more
> serious:
> 
> pavel@amd:~/mainline-altera/linux$ grep mach-vexpress MAINTAINERS
> pavel@amd:~/mainline-altera/linux$ 
> 
> vexpress_clk_of_init();     has same problem.

I've already reported both to Pawel Moll, and he already came  back with
a new series, but we're still trying to work out the dependencies.

	Arnd
Arnd Bergmann Oct. 29, 2012, 4:45 a.m. UTC | #7
On Sunday 28 October 2012, Pavel Machek wrote:
> > You can both send patches, we just need to know what to expect. For most
> > platforms it works best if one person collects the patches from
> > everyone.
> 
> > If you are sending patches with both Dinh and us as the recipients,
> > just make it clear who you want to pick up the patch.
> 
> Thanks. Would "[PATCH for soc]" in subject line be suitable markup?
> 

That works for me, but if you are planning to send a lot of patches,
please consider grouping them together instead so you can send a git
pull request instead, or alternatively use a patch series with
an introductory mail to describe the series.

	Arnd
Pawel Moll Oct. 30, 2012, 4:03 p.m. UTC | #8
On Mon, 2012-10-29 at 04:41 +0000, Arnd Bergmann wrote:
> On Sunday 28 October 2012, Pavel Machek wrote:
> > arch/arm/mach-vexpress/v2m.c:   vexpress_clk_init(ioremap(V2M_SYSCTL, SZ_4K));
> > include/linux/vexpress.h:void vexpress_clk_init(void __iomem *sp810_base);
> > 
> > ...seems vexpress_clk_init is not there, yet... And what is more
> > serious:
> > 
> > pavel@amd:~/mainline-altera/linux$ grep mach-vexpress MAINTAINERS
> > pavel@amd:~/mainline-altera/linux$ 
> > 
> > vexpress_clk_of_init();     has same problem.
> 
> I've already reported both to Pawel Moll, and he already came  back with
> a new series, but we're still trying to work out the dependencies.

Yes, it's been a glitch in -next between arm-soc and clk, but it should
be fine now (as of next-20121030).

Sorry about the hassle

Pawel
diff mbox

Patch

diff --git a/arch/arm/include/debug/8250_32.S b/arch/arm/include/debug/8250_32.S
new file mode 100644
index 0000000..8db01ee
--- /dev/null
+++ b/arch/arm/include/debug/8250_32.S
@@ -0,0 +1,27 @@ 
+/*
+ * Copyright (c) 2011 Picochip Ltd., Jamie Iles
+ *
+ * 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.
+ *
+ * Derived from arch/arm/mach-davinci/include/mach/debug-macro.S to use 32-bit
+ * accesses to the 8250.
+ */
+
+#include <linux/serial_reg.h>
+
+		.macro	senduart,rd,rx
+		str	\rd, [\rx, #UART_TX << UART_SHIFT]
+		.endm
+
+		.macro	busyuart,rd,rx
+1002:		ldr	\rd, [\rx, #UART_LSR << UART_SHIFT]
+		and	\rd, \rd, #UART_LSR_TEMT | UART_LSR_THRE
+		teq	\rd, #UART_LSR_TEMT | UART_LSR_THRE
+		bne	1002b
+		.endm
+
+		/* The UART's don't have any flow control IO's wired up. */
+		.macro	waituart,rd,rx
+		.endm
diff --git a/arch/arm/include/debug/picoxcell.S b/arch/arm/include/debug/picoxcell.S
index 7419deb..bc1f07c 100644
--- a/arch/arm/include/debug/picoxcell.S
+++ b/arch/arm/include/debug/picoxcell.S
@@ -5,10 +5,7 @@ 
  * it under the terms of the GNU General Public License version 2 as
  * published by the Free Software Foundation.
  *
- * Derived from arch/arm/mach-davinci/include/mach/debug-macro.S to use 32-bit
- * accesses to the 8250.
  */
-#include <linux/serial_reg.h>
 
 #define UART_SHIFT 2
 #define PICOXCELL_UART1_BASE		0x80230000
@@ -19,17 +16,4 @@ 
 		ldr	\rp, =PICOXCELL_UART1_BASE
 		.endm
 
-		.macro	senduart,rd,rx
-		str	\rd, [\rx, #UART_TX << UART_SHIFT]
-		.endm
-
-		.macro	busyuart,rd,rx
-1002:		ldr	\rd, [\rx, #UART_LSR << UART_SHIFT]
-		and	\rd, \rd, #UART_LSR_TEMT | UART_LSR_THRE
-		teq	\rd, #UART_LSR_TEMT | UART_LSR_THRE
-		bne	1002b
-		.endm
-
-		/* The UART's don't have any flow control IO's wired up. */
-		.macro	waituart,rd,rx
-		.endm
+#include "8250_32.S"
diff --git a/arch/arm/include/debug/socfpga.S b/arch/arm/include/debug/socfpga.S
index d6f26d2..966b2f9 100644
--- a/arch/arm/include/debug/socfpga.S
+++ b/arch/arm/include/debug/socfpga.S
@@ -7,6 +7,9 @@ 
  * published by the Free Software Foundation.
  */
 
+#define UART_SHIFT 2
+#define DEBUG_LL_UART_OFFSET	0x00002000
+
 		.macro	addruart, rp, rv, tmp
 		mov	\rp, #DEBUG_LL_UART_OFFSET
 		orr	\rp, \rp, #0x00c00000
@@ -14,3 +17,5 @@ 
 		orr	\rp, \rp, #0xff000000	@ physical base
 		.endm
 
+#include "8250_32.S"
+