Skip to contentSkip to conversation

ARM: need to include asm/system.h in asm/processor.h

PATCH New Olof Johansson 3 participants 4 messages Feb 15, 2012 Arm (32-bit)

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 ARM: need to include asm/system.h in asm/processor.h

For files that include asm/processor.h but not asm/system.h:

arch/arm/mach-msm/include/mach/uncompress.h: In function 'putc':
arch/arm/mach-msm/include/mach/uncompress.h:48:3: error: implicit declaration of function 'smp_mb' [-Werror=implicit-function-declaration]

In this case, smp_mb() is from the cpu_relax() call in the msm putc().

It likely went uncaught when the uncompress.h change went in since the defconfig didn't enable that code path, but later changes (e76f4750f4:
ARM: debug: arrange Kconfig options more logically) resulted in the option being on for msm_defconfig and thus exposed it.

---
 arch/arm/include/asm/processor.h |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)
arch/arm/include/asm/processor.h +1 -0
index d7038fa..d27b071 100644
@@ -22,6 +22,7 @@
 #include <asm/hw_breakpoint.h>
 #include <asm/ptrace.h>
 #include <asm/types.h>
+#include <asm/system.h>
 
 #ifdef __KERNEL__
 #define STACK_TOP	((current->personality & ADDR_LIMIT_32BIT) ? \
Signature · 1 line
1.7.9.209.gb6b3b
#1 lore raw

PATCH 1/1 ARM: need to include asm/system.h in asm/processor.h

Quoted 5 lines · Olof Johansson

For files that include asm/processor.h but not asm/system.h:

arch/arm/mach-msm/include/mach/uncompress.h: In function 'putc':
arch/arm/mach-msm/include/mach/uncompress.h:48:3: error: implicit declaration of function 'smp_mb' [-Werror=implicit-function-declaration]

Quoted 8 lines

In this case, smp_mb() is from the cpu_relax() call in the msm putc().

It likely went uncaught when the uncompress.h change went in since the defconfig didn't enable that code path, but later changes (e76f4750f4:
ARM: debug: arrange Kconfig options more logically) resulted in the option being on for msm_defconfig and thus exposed it.

BTW, Rob Herring has this same patch in his io.h cleanup patches, so it's probably best to coordinate with him.

Author: Rob Herring <[email protected]>
Date:   Mon Feb 13 15:43:15 2012 -0600

ARM: add explicit include of system.h to processor.h

cpu_relax in processor.h needs smp_mb which is defined in system.h.

David

Signature · 2 lines
Sent by an employee of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.
#2 lore raw

PATCH 1/1 ARM: need to include asm/system.h in asm/processor.h

Quoted 13 lines · David Brown
Quoted 12 lines · Olof Johansson

For files that include asm/processor.h but not asm/system.h:

arch/arm/mach-msm/include/mach/uncompress.h: In function 'putc':
arch/arm/mach-msm/include/mach/uncompress.h:48:3: error: implicit declaration of function 'smp_mb' [-Werror=implicit-function-declaration]

In this case, smp_mb() is from the cpu_relax() call in the msm putc().

It likely went uncaught when the uncompress.h change went in since the defconfig didn't enable that code path, but later changes (e76f4750f4:
ARM: debug: arrange Kconfig options more logically) resulted in the option being on for msm_defconfig and thus exposed it.

Quoted 4 lines
Quoted 1 line

BTW, Rob Herring has this same patch in his io.h cleanup patches, so it's probably best to coordinate with him.

I'd just assumed that I had broken things by implicitly dropping a lot of includes when removing mach/io.h. Go ahead and apply yours and I'll drop mine.

Rob

Quoted 12 lines
Author: Rob Herring <[email protected]>
Date:   Mon Feb 13 15:43:15 2012 -0600

ARM: add explicit include of system.h to processor.h

cpu_relax in processor.h needs smp_mb which is defined in system.h.

David

#3 lore raw

PATCH 1/1 ARM: need to include asm/system.h in asm/processor.h

Quoted 14 lines · Rob Herring
Quoted 13 lines · David Brown
Quoted 12 lines · Olof Johansson

For files that include asm/processor.h but not asm/system.h:

arch/arm/mach-msm/include/mach/uncompress.h: In function 'putc':
arch/arm/mach-msm/include/mach/uncompress.h:48:3: error: implicit declaration of function 'smp_mb' [-Werror=implicit-function-declaration]

In this case, smp_mb() is from the cpu_relax() call in the msm putc().

It likely went uncaught when the uncompress.h change went in since the defconfig didn't enable that code path, but later changes (e76f4750f4:
ARM: debug: arrange Kconfig options more logically) resulted in the option being on for msm_defconfig and thus exposed it.

Quoted 8 lines
Quoted 4 lines
Quoted 1 line

BTW, Rob Herring has this same patch in his io.h cleanup patches, so it's probably best to coordinate with him.

I'd just assumed that I had broken things by implicitly dropping a lot of includes when removing mach/io.h. Go ahead and apply yours and I'll drop mine.

Cool, I had missed that -- sorry for the duplicate patches.

I'll forward mine now to Russell's patch tracker and he can pick it up there.

-Olof