All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/6] BSYM macro removal
@ 2012-01-09 22:45 Rob Herring
  2012-01-09 22:45 ` [PATCH 1/6] ARM: exynos: remove incorrect BSYM usage Rob Herring
                   ` (5 more replies)
  0 siblings, 6 replies; 12+ messages in thread
From: Rob Herring @ 2012-01-09 22:45 UTC (permalink / raw)
  To: linux-arm-kernel

From: Rob Herring <rob.herring@calxeda.com>

IIRC, BSYM usage is unnecessary in .c files according to Dave Martin. It
is not only unnecessary, but it generates the wrong address by adding 1
to already correct addresses in Thumb2 builds. So a Thumb2 SMP kernel
doesn't boot secondary cores. I thought I had previously tried this
combination out, so I'm not sure if something has changed here.

I've only tested on highbank, so testing is appreciated.

Rob Herring (6):
  ARM: exynos: remove incorrect BSYM usage
  ARM: realview: remove incorrect BSYM usage
  ARM: vexpress: remove incorrect BSYM usage
  ARM: imx: remove incorrect BSYM usage
  ARM: highbank: remove incorrect BSYM usage
  ARM: make BSYM macro assembly only

 arch/arm/include/asm/unified.h    |    4 ++--
 arch/arm/mach-exynos/platsmp.c    |    5 ++---
 arch/arm/mach-highbank/highbank.c |    3 +--
 arch/arm/mach-imx/src.c           |    3 +--
 arch/arm/mach-realview/platsmp.c  |    3 +--
 arch/arm/mach-vexpress/platsmp.c  |    4 +---
 6 files changed, 8 insertions(+), 14 deletions(-)

-- 
1.7.5.4

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

* [PATCH 1/6] ARM: exynos: remove incorrect BSYM usage
  2012-01-09 22:45 [PATCH 0/6] BSYM macro removal Rob Herring
@ 2012-01-09 22:45 ` Rob Herring
  2012-01-11 15:32   ` Rob Herring
  2012-01-09 22:45 ` [PATCH 2/6] ARM: realview: " Rob Herring
                   ` (4 subsequent siblings)
  5 siblings, 1 reply; 12+ messages in thread
From: Rob Herring @ 2012-01-09 22:45 UTC (permalink / raw)
  To: linux-arm-kernel

From: Rob Herring <rob.herring@calxeda.com>

BSYM macro is only needed for assembly files and its usage in c files is
wrong, so remove it. The linker will correctly set bit 0 for Thumb2
kernels.

Signed-off-by: Rob Herring <rob.herring@calxeda.com>
Cc: Dave Martin <dave.martin@linaro.org>
Cc: Kukjin Kim <kgene.kim@samsung.com>
---
 arch/arm/mach-exynos/platsmp.c |    5 ++---
 1 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/arch/arm/mach-exynos/platsmp.c b/arch/arm/mach-exynos/platsmp.c
index 60bc45e..683aec7 100644
--- a/arch/arm/mach-exynos/platsmp.c
+++ b/arch/arm/mach-exynos/platsmp.c
@@ -24,7 +24,6 @@
 #include <asm/cacheflush.h>
 #include <asm/hardware/gic.h>
 #include <asm/smp_scu.h>
-#include <asm/unified.h>
 
 #include <mach/hardware.h>
 #include <mach/regs-clock.h>
@@ -137,7 +136,7 @@ int __cpuinit boot_secondary(unsigned int cpu, struct task_struct *idle)
 	while (time_before(jiffies, timeout)) {
 		smp_rmb();
 
-		__raw_writel(BSYM(virt_to_phys(exynos4_secondary_startup)),
+		__raw_writel(virt_to_phys(exynos4_secondary_startup),
 			CPU1_BOOT_REG);
 		gic_raise_softirq(cpumask_of(cpu), 1);
 
@@ -192,6 +191,6 @@ void __init platform_smp_prepare_cpus(unsigned int max_cpus)
 	 * until it receives a soft interrupt, and then the
 	 * secondary CPU branches to this address.
 	 */
-	__raw_writel(BSYM(virt_to_phys(exynos4_secondary_startup)),
+	__raw_writel(virt_to_phys(exynos4_secondary_startup),
 			CPU1_BOOT_REG);
 }
-- 
1.7.5.4

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

* [PATCH 2/6] ARM: realview: remove incorrect BSYM usage
  2012-01-09 22:45 [PATCH 0/6] BSYM macro removal Rob Herring
  2012-01-09 22:45 ` [PATCH 1/6] ARM: exynos: remove incorrect BSYM usage Rob Herring
@ 2012-01-09 22:45 ` Rob Herring
  2012-01-09 22:45 ` [PATCH 3/6] ARM: vexpress: " Rob Herring
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 12+ messages in thread
From: Rob Herring @ 2012-01-09 22:45 UTC (permalink / raw)
  To: linux-arm-kernel

From: Rob Herring <rob.herring@calxeda.com>

BSYM macro is only needed for assembly files and its usage in c files is
wrong, so remove it. The linker will correctly set bit 0 for Thumb2
kernels.

Signed-off-by: Rob Herring <rob.herring@calxeda.com>
Cc: Dave Martin <dave.martin@linaro.org>
Cc: Russell King <linux@arm.linux.org.uk>
---
 arch/arm/mach-realview/platsmp.c |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)

diff --git a/arch/arm/mach-realview/platsmp.c b/arch/arm/mach-realview/platsmp.c
index e83c654..17c878d 100644
--- a/arch/arm/mach-realview/platsmp.c
+++ b/arch/arm/mach-realview/platsmp.c
@@ -17,7 +17,6 @@
 #include <asm/hardware/gic.h>
 #include <asm/mach-types.h>
 #include <asm/smp_scu.h>
-#include <asm/unified.h>
 
 #include <mach/board-eb.h>
 #include <mach/board-pb11mp.h>
@@ -75,6 +74,6 @@ void __init platform_smp_prepare_cpus(unsigned int max_cpus)
 	 * until it receives a soft interrupt, and then the
 	 * secondary CPU branches to this address.
 	 */
-	__raw_writel(BSYM(virt_to_phys(versatile_secondary_startup)),
+	__raw_writel(virt_to_phys(versatile_secondary_startup),
 		     __io_address(REALVIEW_SYS_FLAGSSET));
 }
-- 
1.7.5.4

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

* [PATCH 3/6] ARM: vexpress: remove incorrect BSYM usage
  2012-01-09 22:45 [PATCH 0/6] BSYM macro removal Rob Herring
  2012-01-09 22:45 ` [PATCH 1/6] ARM: exynos: remove incorrect BSYM usage Rob Herring
  2012-01-09 22:45 ` [PATCH 2/6] ARM: realview: " Rob Herring
@ 2012-01-09 22:45 ` Rob Herring
  2012-01-10 12:04   ` Dave Martin
  2012-01-09 22:45 ` [PATCH 4/6] ARM: imx: " Rob Herring
                   ` (2 subsequent siblings)
  5 siblings, 1 reply; 12+ messages in thread
From: Rob Herring @ 2012-01-09 22:45 UTC (permalink / raw)
  To: linux-arm-kernel

From: Rob Herring <rob.herring@calxeda.com>

BSYM macro is only needed for assembly files and its usage in c files is
wrong, so remove it. The linker will correctly set bit 0 for Thumb2
kernels.

Signed-off-by: Rob Herring <rob.herring@calxeda.com>
Cc: Dave Martin <dave.martin@linaro.org>
---
 arch/arm/mach-vexpress/platsmp.c |    4 +---
 1 files changed, 1 insertions(+), 3 deletions(-)

diff --git a/arch/arm/mach-vexpress/platsmp.c b/arch/arm/mach-vexpress/platsmp.c
index 2b5f7ac..124ffb1 100644
--- a/arch/arm/mach-vexpress/platsmp.c
+++ b/arch/arm/mach-vexpress/platsmp.c
@@ -13,8 +13,6 @@
 #include <linux/smp.h>
 #include <linux/io.h>
 
-#include <asm/unified.h>
-
 #include <mach/motherboard.h>
 #define V2M_PA_CS7 0x10000000
 
@@ -46,6 +44,6 @@ void __init platform_smp_prepare_cpus(unsigned int max_cpus)
 	 * secondary CPU branches to this address.
 	 */
 	writel(~0, MMIO_P2V(V2M_SYS_FLAGSCLR));
-	writel(BSYM(virt_to_phys(versatile_secondary_startup)),
+	writel(virt_to_phys(versatile_secondary_startup),
 		MMIO_P2V(V2M_SYS_FLAGSSET));
 }
-- 
1.7.5.4

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

* [PATCH 4/6] ARM: imx: remove incorrect BSYM usage
  2012-01-09 22:45 [PATCH 0/6] BSYM macro removal Rob Herring
                   ` (2 preceding siblings ...)
  2012-01-09 22:45 ` [PATCH 3/6] ARM: vexpress: " Rob Herring
@ 2012-01-09 22:45 ` Rob Herring
  2012-01-10  3:16   ` Shawn Guo
  2012-01-09 22:45 ` [PATCH 5/6] ARM: highbank: " Rob Herring
  2012-01-09 22:45 ` [PATCH 6/6] ARM: make BSYM macro assembly only Rob Herring
  5 siblings, 1 reply; 12+ messages in thread
From: Rob Herring @ 2012-01-09 22:45 UTC (permalink / raw)
  To: linux-arm-kernel

From: Rob Herring <rob.herring@calxeda.com>

BSYM macro is only needed for assembly files and its usage in c files is
wrong, so remove it. The linker will correctly set bit 0 for Thumb2
kernels.

Signed-off-by: Rob Herring <rob.herring@calxeda.com>
Cc: Dave Martin <dave.martin@linaro.org>
Cc: Sascha Hauer <kernel@pengutronix.de>
Cc: Shawn Guo <shawn.guo@linaro.org>
---
 arch/arm/mach-imx/src.c |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)

diff --git a/arch/arm/mach-imx/src.c b/arch/arm/mach-imx/src.c
index 4bde04f..29bd124 100644
--- a/arch/arm/mach-imx/src.c
+++ b/arch/arm/mach-imx/src.c
@@ -15,7 +15,6 @@
 #include <linux/of.h>
 #include <linux/of_address.h>
 #include <linux/smp.h>
-#include <asm/unified.h>
 
 #define SRC_SCR				0x000
 #define SRC_GPR1			0x020
@@ -43,7 +42,7 @@ void imx_enable_cpu(int cpu, bool enable)
 void imx_set_cpu_jump(int cpu, void *jump_addr)
 {
 	cpu = cpu_logical_map(cpu);
-	writel_relaxed(BSYM(virt_to_phys(jump_addr)),
+	writel_relaxed(virt_to_phys(jump_addr),
 		       src_base + SRC_GPR1 + cpu * 8);
 }
 
-- 
1.7.5.4

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

* [PATCH 5/6] ARM: highbank: remove incorrect BSYM usage
  2012-01-09 22:45 [PATCH 0/6] BSYM macro removal Rob Herring
                   ` (3 preceding siblings ...)
  2012-01-09 22:45 ` [PATCH 4/6] ARM: imx: " Rob Herring
@ 2012-01-09 22:45 ` Rob Herring
  2012-01-09 22:45 ` [PATCH 6/6] ARM: make BSYM macro assembly only Rob Herring
  5 siblings, 0 replies; 12+ messages in thread
From: Rob Herring @ 2012-01-09 22:45 UTC (permalink / raw)
  To: linux-arm-kernel

From: Rob Herring <rob.herring@calxeda.com>

BSYM macro is only needed for assembly files and its usage in c files is
wrong, so remove it. The linker will correctly set bit 0 for Thumb2
kernels.

Signed-off-by: Rob Herring <rob.herring@calxeda.com>
Cc: Dave Martin <dave.martin@linaro.org>
---
 arch/arm/mach-highbank/highbank.c |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)

diff --git a/arch/arm/mach-highbank/highbank.c b/arch/arm/mach-highbank/highbank.c
index 804c4a5..7afbe1e 100644
--- a/arch/arm/mach-highbank/highbank.c
+++ b/arch/arm/mach-highbank/highbank.c
@@ -25,7 +25,6 @@
 #include <linux/smp.h>
 
 #include <asm/cacheflush.h>
-#include <asm/unified.h>
 #include <asm/smp_scu.h>
 #include <asm/hardware/arm_timer.h>
 #include <asm/hardware/timer-sp.h>
@@ -76,7 +75,7 @@ void highbank_set_cpu_jump(int cpu, void *jump_addr)
 #ifdef CONFIG_SMP
 	cpu = cpu_logical_map(cpu);
 #endif
-	writel(BSYM(virt_to_phys(jump_addr)), HB_JUMP_TABLE_VIRT(cpu));
+	writel(virt_to_phys(jump_addr), HB_JUMP_TABLE_VIRT(cpu));
 	__cpuc_flush_dcache_area(HB_JUMP_TABLE_VIRT(cpu), 16);
 	outer_clean_range(HB_JUMP_TABLE_PHYS(cpu),
 			  HB_JUMP_TABLE_PHYS(cpu) + 15);
-- 
1.7.5.4

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

* [PATCH 6/6] ARM: make BSYM macro assembly only
  2012-01-09 22:45 [PATCH 0/6] BSYM macro removal Rob Herring
                   ` (4 preceding siblings ...)
  2012-01-09 22:45 ` [PATCH 5/6] ARM: highbank: " Rob Herring
@ 2012-01-09 22:45 ` Rob Herring
  2012-01-13 14:03   ` Dave Martin
  5 siblings, 1 reply; 12+ messages in thread
From: Rob Herring @ 2012-01-09 22:45 UTC (permalink / raw)
  To: linux-arm-kernel

From: Rob Herring <rob.herring@calxeda.com>

BSYM macro is only needed for assembly files and its usage in c files is
wrong, so only define it for assembly.

Signed-off-by: Rob Herring <rob.herring@calxeda.com>
Cc: Dave Martin <dave.martin@linaro.org>
---
 arch/arm/include/asm/unified.h |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/arm/include/asm/unified.h b/arch/arm/include/asm/unified.h
index bc63116..f5989f4 100644
--- a/arch/arm/include/asm/unified.h
+++ b/arch/arm/include/asm/unified.h
@@ -37,8 +37,8 @@
 #define THUMB(x...)	x
 #ifdef __ASSEMBLY__
 #define W(instr)	instr.w
-#endif
 #define BSYM(sym)	sym + 1
+#endif
 
 #else	/* !CONFIG_THUMB2_KERNEL */
 
@@ -49,8 +49,8 @@
 #define THUMB(x...)
 #ifdef __ASSEMBLY__
 #define W(instr)	instr
-#endif
 #define BSYM(sym)	sym
+#endif
 
 #endif	/* CONFIG_THUMB2_KERNEL */
 
-- 
1.7.5.4

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

* [PATCH 4/6] ARM: imx: remove incorrect BSYM usage
  2012-01-09 22:45 ` [PATCH 4/6] ARM: imx: " Rob Herring
@ 2012-01-10  3:16   ` Shawn Guo
  0 siblings, 0 replies; 12+ messages in thread
From: Shawn Guo @ 2012-01-10  3:16 UTC (permalink / raw)
  To: linux-arm-kernel

On Mon, Jan 09, 2012 at 04:45:44PM -0600, Rob Herring wrote:
> From: Rob Herring <rob.herring@calxeda.com>
> 
> BSYM macro is only needed for assembly files and its usage in c files is
> wrong, so remove it. The linker will correctly set bit 0 for Thumb2
> kernels.
> 
> Signed-off-by: Rob Herring <rob.herring@calxeda.com>
> Cc: Dave Martin <dave.martin@linaro.org>
> Cc: Sascha Hauer <kernel@pengutronix.de>
> Cc: Shawn Guo <shawn.guo@linaro.org>

Tested on imx6 and confirmed the following:

 * Without patch, Thumb2 build fails to bring up secondary cores.
 * With the patch applied, both ARM and Thumb2 builds work just fine.

So,

Acked-by: Shawn Guo <shawn.guo@linaro.org>

Regards,
Shawn

> ---
>  arch/arm/mach-imx/src.c |    3 +--
>  1 files changed, 1 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/arm/mach-imx/src.c b/arch/arm/mach-imx/src.c
> index 4bde04f..29bd124 100644
> --- a/arch/arm/mach-imx/src.c
> +++ b/arch/arm/mach-imx/src.c
> @@ -15,7 +15,6 @@
>  #include <linux/of.h>
>  #include <linux/of_address.h>
>  #include <linux/smp.h>
> -#include <asm/unified.h>
>  
>  #define SRC_SCR				0x000
>  #define SRC_GPR1			0x020
> @@ -43,7 +42,7 @@ void imx_enable_cpu(int cpu, bool enable)
>  void imx_set_cpu_jump(int cpu, void *jump_addr)
>  {
>  	cpu = cpu_logical_map(cpu);
> -	writel_relaxed(BSYM(virt_to_phys(jump_addr)),
> +	writel_relaxed(virt_to_phys(jump_addr),
>  		       src_base + SRC_GPR1 + cpu * 8);
>  }
>  
> -- 
> 1.7.5.4
> 

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

* [PATCH 3/6] ARM: vexpress: remove incorrect BSYM usage
  2012-01-09 22:45 ` [PATCH 3/6] ARM: vexpress: " Rob Herring
@ 2012-01-10 12:04   ` Dave Martin
  2012-01-11 15:19     ` Rob Herring
  0 siblings, 1 reply; 12+ messages in thread
From: Dave Martin @ 2012-01-10 12:04 UTC (permalink / raw)
  To: linux-arm-kernel

On Mon, Jan 09, 2012 at 04:45:43PM -0600, Rob Herring wrote:
> From: Rob Herring <rob.herring@calxeda.com>
> 
> BSYM macro is only needed for assembly files and its usage in c files is
> wrong, so remove it. The linker will correctly set bit 0 for Thumb2
> kernels.

Pawel posted a patch to do this for realview and vexpress:

http://lists.infradead.org/pipermail/linux-arm-kernel/2011-December/077014.html

I don't know whether this is currently headed for merge.  Without the
ENDPROC additions in plat-versatile/platsmp.S, taking the BSYM away
causes breakage.  (The missing ENDPROC is the true bug here.)


The changes look sensible, but break realview and vexpress as-is.
I suggest you coordinate with Pawel and either add the ENDPROC stuff
into your series, or drop those patches (but then you'll have to wait
to merge your series, otherwise the removal of the BSYM() macro for
C code will cause the realview/vexpress code to break).

If you've not already done so, double-check that the target function is
either C or properly-annotated assembler in each case.  However, so far
as I can see, all the cases are correct, except for realview and
vexpress.


After all these changes, BSYM will only be used in:

boot/compressed/head.S
include/asm/entry-macro-multi.S
include/asm/unified.h
kernel/entry-armv.S
kernel/entry-common.S
kernel/head-nommu.S
kernel/head.S
kernel/sleep.S
lib/call_with_stack.S

... so providing it only for assembler ought to be OK.

Cheers
---Dave

> 
> Signed-off-by: Rob Herring <rob.herring@calxeda.com>
> Cc: Dave Martin <dave.martin@linaro.org>
> ---
>  arch/arm/mach-vexpress/platsmp.c |    4 +---
>  1 files changed, 1 insertions(+), 3 deletions(-)
> 
> diff --git a/arch/arm/mach-vexpress/platsmp.c b/arch/arm/mach-vexpress/platsmp.c
> index 2b5f7ac..124ffb1 100644
> --- a/arch/arm/mach-vexpress/platsmp.c
> +++ b/arch/arm/mach-vexpress/platsmp.c
> @@ -13,8 +13,6 @@
>  #include <linux/smp.h>
>  #include <linux/io.h>
>  
> -#include <asm/unified.h>
> -
>  #include <mach/motherboard.h>
>  #define V2M_PA_CS7 0x10000000
>  
> @@ -46,6 +44,6 @@ void __init platform_smp_prepare_cpus(unsigned int max_cpus)
>  	 * secondary CPU branches to this address.
>  	 */
>  	writel(~0, MMIO_P2V(V2M_SYS_FLAGSCLR));
> -	writel(BSYM(virt_to_phys(versatile_secondary_startup)),
> +	writel(virt_to_phys(versatile_secondary_startup),
>  		MMIO_P2V(V2M_SYS_FLAGSSET));
>  }
> -- 
> 1.7.5.4
> 

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

* [PATCH 3/6] ARM: vexpress: remove incorrect BSYM usage
  2012-01-10 12:04   ` Dave Martin
@ 2012-01-11 15:19     ` Rob Herring
  0 siblings, 0 replies; 12+ messages in thread
From: Rob Herring @ 2012-01-11 15:19 UTC (permalink / raw)
  To: linux-arm-kernel

On 01/10/2012 06:04 AM, Dave Martin wrote:
> On Mon, Jan 09, 2012 at 04:45:43PM -0600, Rob Herring wrote:
>> From: Rob Herring <rob.herring@calxeda.com>
>>
>> BSYM macro is only needed for assembly files and its usage in c files is
>> wrong, so remove it. The linker will correctly set bit 0 for Thumb2
>> kernels.
> 
> Pawel posted a patch to do this for realview and vexpress:
> 
> http://lists.infradead.org/pipermail/linux-arm-kernel/2011-December/077014.html
> 
> I don't know whether this is currently headed for merge.  Without the
> ENDPROC additions in plat-versatile/platsmp.S, taking the BSYM away
> causes breakage.  (The missing ENDPROC is the true bug here.)

Pawel, what's the status? I can pick up your patch if it's not queued up.

> 
> The changes look sensible, but break realview and vexpress as-is.
> I suggest you coordinate with Pawel and either add the ENDPROC stuff
> into your series, or drop those patches (but then you'll have to wait
> to merge your series, otherwise the removal of the BSYM() macro for
> C code will cause the realview/vexpress code to break).
> 
> If you've not already done so, double-check that the target function is
> either C or properly-annotated assembler in each case.  However, so far
> as I can see, all the cases are correct, except for realview and
> vexpress.
> 
> 
> After all these changes, BSYM will only be used in:
> 
> boot/compressed/head.S
> include/asm/entry-macro-multi.S
> include/asm/unified.h
> kernel/entry-armv.S
> kernel/entry-common.S
> kernel/head-nommu.S
> kernel/head.S
> kernel/sleep.S
> lib/call_with_stack.S
> 
> ... so providing it only for assembler ought to be OK.
> 

So is that an ack for the last patch?

Rob

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

* [PATCH 1/6] ARM: exynos: remove incorrect BSYM usage
  2012-01-09 22:45 ` [PATCH 1/6] ARM: exynos: remove incorrect BSYM usage Rob Herring
@ 2012-01-11 15:32   ` Rob Herring
  0 siblings, 0 replies; 12+ messages in thread
From: Rob Herring @ 2012-01-11 15:32 UTC (permalink / raw)
  To: linux-arm-kernel

On 01/09/2012 04:45 PM, Rob Herring wrote:
> From: Rob Herring <rob.herring@calxeda.com>
> 
> BSYM macro is only needed for assembly files and its usage in c files is
> wrong, so remove it. The linker will correctly set bit 0 for Thumb2
> kernels.
> 
> Signed-off-by: Rob Herring <rob.herring@calxeda.com>
> Cc: Dave Martin <dave.martin@linaro.org>
> Cc: Kukjin Kim <kgene.kim@samsung.com>
> ---

This needs an ENDPROC as well for exynos4_secondary_startup. And so do
msm and ux500 as well.

Rob

>  arch/arm/mach-exynos/platsmp.c |    5 ++---
>  1 files changed, 2 insertions(+), 3 deletions(-)
> 
> diff --git a/arch/arm/mach-exynos/platsmp.c b/arch/arm/mach-exynos/platsmp.c
> index 60bc45e..683aec7 100644
> --- a/arch/arm/mach-exynos/platsmp.c
> +++ b/arch/arm/mach-exynos/platsmp.c
> @@ -24,7 +24,6 @@
>  #include <asm/cacheflush.h>
>  #include <asm/hardware/gic.h>
>  #include <asm/smp_scu.h>
> -#include <asm/unified.h>
>  
>  #include <mach/hardware.h>
>  #include <mach/regs-clock.h>
> @@ -137,7 +136,7 @@ int __cpuinit boot_secondary(unsigned int cpu, struct task_struct *idle)
>  	while (time_before(jiffies, timeout)) {
>  		smp_rmb();
>  
> -		__raw_writel(BSYM(virt_to_phys(exynos4_secondary_startup)),
> +		__raw_writel(virt_to_phys(exynos4_secondary_startup),
>  			CPU1_BOOT_REG);
>  		gic_raise_softirq(cpumask_of(cpu), 1);
>  
> @@ -192,6 +191,6 @@ void __init platform_smp_prepare_cpus(unsigned int max_cpus)
>  	 * until it receives a soft interrupt, and then the
>  	 * secondary CPU branches to this address.
>  	 */
> -	__raw_writel(BSYM(virt_to_phys(exynos4_secondary_startup)),
> +	__raw_writel(virt_to_phys(exynos4_secondary_startup),
>  			CPU1_BOOT_REG);
>  }

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

* [PATCH 6/6] ARM: make BSYM macro assembly only
  2012-01-09 22:45 ` [PATCH 6/6] ARM: make BSYM macro assembly only Rob Herring
@ 2012-01-13 14:03   ` Dave Martin
  0 siblings, 0 replies; 12+ messages in thread
From: Dave Martin @ 2012-01-13 14:03 UTC (permalink / raw)
  To: linux-arm-kernel

On Mon, Jan 09, 2012 at 04:45:46PM -0600, Rob Herring wrote:
> From: Rob Herring <rob.herring@calxeda.com>
> 
> BSYM macro is only needed for assembly files and its usage in c files is
> wrong, so only define it for assembly.
> 
> Signed-off-by: Rob Herring <rob.herring@calxeda.com>
> Cc: Dave Martin <dave.martin@linaro.org>

Acked-by: Dave Martin <dave.martin@linaro.org>

> ---
>  arch/arm/include/asm/unified.h |    4 ++--
>  1 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/arm/include/asm/unified.h b/arch/arm/include/asm/unified.h
> index bc63116..f5989f4 100644
> --- a/arch/arm/include/asm/unified.h
> +++ b/arch/arm/include/asm/unified.h
> @@ -37,8 +37,8 @@
>  #define THUMB(x...)	x
>  #ifdef __ASSEMBLY__
>  #define W(instr)	instr.w
> -#endif
>  #define BSYM(sym)	sym + 1
> +#endif
>  
>  #else	/* !CONFIG_THUMB2_KERNEL */
>  
> @@ -49,8 +49,8 @@
>  #define THUMB(x...)
>  #ifdef __ASSEMBLY__
>  #define W(instr)	instr
> -#endif
>  #define BSYM(sym)	sym
> +#endif
>  
>  #endif	/* CONFIG_THUMB2_KERNEL */
>  
> -- 
> 1.7.5.4
> 

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

end of thread, other threads:[~2012-01-13 14:03 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-01-09 22:45 [PATCH 0/6] BSYM macro removal Rob Herring
2012-01-09 22:45 ` [PATCH 1/6] ARM: exynos: remove incorrect BSYM usage Rob Herring
2012-01-11 15:32   ` Rob Herring
2012-01-09 22:45 ` [PATCH 2/6] ARM: realview: " Rob Herring
2012-01-09 22:45 ` [PATCH 3/6] ARM: vexpress: " Rob Herring
2012-01-10 12:04   ` Dave Martin
2012-01-11 15:19     ` Rob Herring
2012-01-09 22:45 ` [PATCH 4/6] ARM: imx: " Rob Herring
2012-01-10  3:16   ` Shawn Guo
2012-01-09 22:45 ` [PATCH 5/6] ARM: highbank: " Rob Herring
2012-01-09 22:45 ` [PATCH 6/6] ARM: make BSYM macro assembly only Rob Herring
2012-01-13 14:03   ` Dave Martin

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.