Subject: Re: linux-next: Tree for Jan 18 (acpi)

From: "Rafael J. Wysocki" <[email-masked]>
Date: Sat, 19 Jan 2013 14:45:19 +0100

On Friday, January 18, 2013 05:42:20 PM Randy Dunlap wrote:
> On 01/17/13 20:37, Stephen Rothwell wrote:
> > Hi all,
> > 
> > Changes since 20130117:
> > 
> 
> 
> on x86_64:
> 
>   CC      drivers/acpi/device_pm.o
> drivers/acpi/device_pm.c:778:5: error: redefinition of 'acpi_dev_suspend_late'
> In file included from include/acpi/acpi_drivers.h:29:0,
>                  from drivers/acpi/device_pm.c:33:
> include/linux/acpi.h:526:19: note: previous definition of 'acpi_dev_suspend_late' was here
> drivers/acpi/device_pm.c:810:5: error: redefinition of 'acpi_dev_resume_early'
> In file included from include/acpi/acpi_drivers.h:29:0,
>                  from drivers/acpi/device_pm.c:33:
> include/linux/acpi.h:527:19: note: previous definition of 'acpi_dev_resume_early' was here
> drivers/acpi/device_pm.c:828:5: error: redefinition of 'acpi_subsys_prepare'
> In file included from include/acpi/acpi_drivers.h:29:0,
>                  from drivers/acpi/device_pm.c:33:
> include/linux/acpi.h:528:19: note: previous definition of 'acpi_subsys_prepare' was here
> drivers/acpi/device_pm.c:846:5: error: redefinition of 'acpi_subsys_suspend_late'
> In file included from include/acpi/acpi_drivers.h:29:0,
>                  from drivers/acpi/device_pm.c:33:
> include/linux/acpi.h:529:19: note: previous definition of 'acpi_subsys_suspend_late' was here
> drivers/acpi/device_pm.c:861:5: error: redefinition of 'acpi_subsys_resume_early'
> In file included from include/acpi/acpi_drivers.h:29:0,
>                  from drivers/acpi/device_pm.c:33:
> include/linux/acpi.h:530:19: note: previous definition of 'acpi_subsys_resume_early' was here
> make[3]: *** [drivers/acpi/device_pm.o] Error 1
> 
> 
> 
> 
> Full randconfig file is attached.

Thanks, I'll take it for inclusion into the build testing framework.

The appended patch fixes the problem for me.

Thanks,
Rafael

---
From: Rafael J. Wysocki <[email-masked]>
Subject: ACPI / PM: Fix build for unusual combination of Kconfig options

CONFIG_PM_SLEEP may be set even if CONFIG_ACPI_SLEEP is unset,
although that is unusual.  For this reason, make the headers of
functions built for both CONFIG_ACPI and CONFIG_PM_SLEEP set
simultaneously depend on that combination of Kconfig options
instead of CONFIG_ACPI_SLEEP.

This fixes a build problem reported by Randy Dunlap.

Signed-off-by: Rafael J. Wysocki <[email-masked]>
---
 include/linux/acpi.h |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Index: linux-pm/include/linux/acpi.h
===================================================================
--- linux-pm.orig/include/linux/acpi.h
+++ linux-pm/include/linux/acpi.h
@@ -511,7 +511,7 @@ static inline int acpi_subsys_runtime_su
 static inline int acpi_subsys_runtime_resume(struct device *dev) { return 0; }
 #endif
 
-#ifdef CONFIG_ACPI_SLEEP
+#if defined(CONFIG_ACPI) && defined(CONFIG_PM_SLEEP)
 int acpi_dev_suspend_late(struct device *dev);
 int acpi_dev_resume_early(struct device *dev);
 int acpi_subsys_prepare(struct device *dev);

-- 
I speak only for myself.
Rafael J. Wysocki, Intel Open Source Technology Center.