ARM: s3c64xx: fix pm-debug compilation
Subsystems (3)
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
@@ -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 ) {
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.con 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 inarch/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.
Signed-off-by Arnd Bergmann <[email protected]>---
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
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.con 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 inarch/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.
Signed-off-by Arnd Bergmann <[email protected]>---
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 onPM_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:
Reviewed-by Krzysztof Kozlowski <[email protected]>
I've applied both patches on top of next/multiplatform now, to avoid conflicts with other changes in that branch.
Arnd