Skip to contentSkip to conversation

ARM: s3c64xx: fix pm-debug compilation

PATCH New Arnd Bergmann 2 participants 3 messages Dec 18, 2015 – Dec 31, 2015

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 ARM: s3c64xx: fix pm-debug compilation

I got one randconfig build that failed to compile plat-samsung/pm-debug.c on s3c64xx:

In file included from arch/arm/plat-samsung/pm-debug.c:27:0:
arch/arm/mach-s3c64xx/include/mach/pm-core.h: In function 's3c_pm_debug_init_uart':
arch/arm/mach-s3c64xx/include/mach/pm-core.h:25:25: error: 'S3C_VA_SYS' undeclared (first use in this function)
u32 tmp = __raw_readl(S3C_PCLK_GATE);
arch/arm/mach-s3c64xx/include/mach/pm-core.h:25:25: note: each undeclared identifier is reported only once for each function it appears in arch/arm/mach-s3c64xx/include/mach/pm-core.h:39:2: error: implicit declaration of function 'udelay' [-Werror=implicit-function-declaration]
udelay(10);

I have not investigated why this does not show up much more often, I guess the headers are usually included from elsewhere, but adding explicit #include statements is an obvious fix.

---
I suspect this has been broken for a long time, so no rush, but please apply this to a cleanup branch.

arch/arm/mach-s3c64xx/include/mach/pm-core.h +2 -0
index 5be8fe368e54..4a285e97afff 100644
@@ -16,9 +16,11 @@
 #define __MACH_S3C64XX_PM_CORE_H __FILE__
 
 #include <linux/serial_s3c.h>
+#include <linux/delay.h>
 
 #include <mach/regs-gpio.h>
 #include <mach/regs-clock.h>
+#include <mach/map.h>
 
 static inline void s3c_pm_debug_init_uart(void)
 {
#1 lore raw

PATCH 1/1 ARM: s3c64xx: fix pm-debug compilation

Quoted 11 lines · Arnd Bergmann

I got one randconfig build that failed to compile plat-samsung/pm-debug.c on s3c64xx:

In file included from arch/arm/plat-samsung/pm-debug.c:27:0:
arch/arm/mach-s3c64xx/include/mach/pm-core.h: In function 's3c_pm_debug_init_uart':
arch/arm/mach-s3c64xx/include/mach/pm-core.h:25:25: error: 'S3C_VA_SYS' undeclared (first use in this function)
u32 tmp = __raw_readl(S3C_PCLK_GATE);
arch/arm/mach-s3c64xx/include/mach/pm-core.h:25:25: note: each undeclared identifier is reported only once for each function it appears in arch/arm/mach-s3c64xx/include/mach/pm-core.h:39:2: error: implicit declaration of function 'udelay' [-Werror=implicit-function-declaration]
udelay(10);

Quoted 9 lines

I have not investigated why this does not show up much more often, I guess the headers are usually included from elsewhere, but adding explicit #include statements is an obvious fix.

---
I suspect this has been broken for a long time, so no rush, but please apply this to a cleanup branch.

The dependencies for plat-samsung/SAMSUNG_PM_* symbols are little bit mixed up:
1. pm-common.o depends on PM_SLEEP,
2. pm.o and pm-debug.o depend on PM and sometimes they use stuff from pm-common.

It is possible to create a config with PM_SLEEP=n and PM=y so this is confusing (pm-common won't be linked).

I think this still compiles fine because of various #ifdefs but it would be nice to clean it up.

Anyway your patch looks correct:

Best regards,
Krzysztof

#2 lore raw

PATCH 1/1 ARM: s3c64xx: fix pm-debug compilation

Quoted 22 lines · On Monday 28 December 2015 10:54:10 Krzysztof Kozlowski wrote:
Quoted 11 lines · Arnd Bergmann

I got one randconfig build that failed to compile plat-samsung/pm-debug.c on s3c64xx:

In file included from arch/arm/plat-samsung/pm-debug.c:27:0:
arch/arm/mach-s3c64xx/include/mach/pm-core.h: In function 's3c_pm_debug_init_uart':
arch/arm/mach-s3c64xx/include/mach/pm-core.h:25:25: error: 'S3C_VA_SYS' undeclared (first use in this function)
u32 tmp = __raw_readl(S3C_PCLK_GATE);
arch/arm/mach-s3c64xx/include/mach/pm-core.h:25:25: note: each undeclared identifier is reported only once for each function it appears in arch/arm/mach-s3c64xx/include/mach/pm-core.h:39:2: error: implicit declaration of function 'udelay' [-Werror=implicit-function-declaration]
udelay(10);

Quoted 9 lines

I have not investigated why this does not show up much more often, I guess the headers are usually included from elsewhere, but adding explicit #include statements is an obvious fix.

---
I suspect this has been broken for a long time, so no rush, but please apply this to a cleanup branch.

Quoted 8 lines

The dependencies for plat-samsung/SAMSUNG_PM_* symbols are little bit mixed up:
1. pm-common.o depends on PM_SLEEP,
2. pm.o and pm-debug.o depend on PM and sometimes they use stuff from pm-common.

It is possible to create a config with PM_SLEEP=n and PM=y so this is confusing (pm-common won't be linked).

Ok, thanks for taking a deeper look into this.

Quoted 6 lines

I think this still compiles fine because of various #ifdefs but it would be nice to clean it up.

Anyway your patch looks correct:

I've applied both patches on top of next/multiplatform now, to avoid conflicts with other changes in that branch.

Arnd