RE: [PATCH v2] SFI: fix compilation warnings

From: Zheng, Lv
Date: Mon Dec 09 2013 - 20:31:14 EST


Hi, Andy

IMO:
1. sfi_acpi.h should include both <linux/acpi.h> and <linux/sfi.h> and it should include <acpi/acpi.h> for !CONFIG_ACPI builds.
2. then we should include sfi_acpi.h instead of <linux/acpi.h>, <linux/sfi.h> and <acpi/acpi.h> for all of its users.

I think the patch in the linux-pm/bleeding-edge queue can fix the issue you've reported:
https://git.kernel.org/cgit/linux/kernel/git/rafael/linux-pm.git/commit/?h=bleeding-edge&id=c099eacbcaec4475936fbf73e499507728ce47e1

I made it a part of my header cleanup series.
The story can be found in this mailing list thread:
http://www.spinics.net/lists/linux-acpi/msg47510.html

Thanks and best regards
-Lv


> -----Original Message-----
> From: Andy Shevchenko [mailto:andriy.shevchenko@xxxxxxxxxxxxxxx]
> Sent: Monday, December 09, 2013 5:09 PM
> To: Wysocki, Rafael J; linux-acpi @ vger . kernel . org; LKML; Zheng, Lv
> Cc: Andy Shevchenko
> Subject: [PATCH v2] SFI: fix compilation warnings
>
> When build kernel with make W=1 we get the following compiler error.
>
> In file included from drivers/sfi/sfi_acpi.c:66:0:
> include/linux/sfi_acpi.h: In function âacpi_sfi_table_parseâ:
> include/linux/sfi_acpi.h:72:2: error: implicit declaration of function âacpi_table_parseâ [-Werror=implicit-function-declaration]
> if (!acpi_table_parse(signature, handler))
> ^
> cc1: some warnings being treated as errors
>
> The patch add linux/acpi.h to the top of file.
>
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
> ---
> Changes to v2:
> - fix for build when ACPI=n, SFI=y
> drivers/sfi/sfi_acpi.c | 2 +-
> include/linux/sfi_acpi.h | 4 +++-
> 2 files changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/sfi/sfi_acpi.c b/drivers/sfi/sfi_acpi.c
> index 5e753d7..5589ec5 100644
> --- a/drivers/sfi/sfi_acpi.c
> +++ b/drivers/sfi/sfi_acpi.c
> @@ -60,7 +60,7 @@
> #define pr_fmt(fmt) KMSG_COMPONENT ": " fmt
>
> #include <linux/kernel.h>
> -#include <acpi/acpi.h> /* FIXME: inclusion should be removed */
> +#include <linux/acpi.h>
>
> #include <linux/sfi.h>
> #include "sfi_core.h"
> diff --git a/include/linux/sfi_acpi.h b/include/linux/sfi_acpi.h
> index 2cfcb79..ecc2344 100644
> --- a/include/linux/sfi_acpi.h
> +++ b/include/linux/sfi_acpi.h
> @@ -60,7 +60,9 @@
> #define _LINUX_SFI_ACPI_H
>
> #ifdef CONFIG_SFI
> -#include <acpi/acpi.h> /* FIXME: inclusion should be removed */
> +
> +#include <acpi/acpi.h>
> +#include <linux/acpi.h>
>
> extern int sfi_acpi_table_parse(char *signature, char *oem_id,
> char *oem_table_id,
> --
> 1.8.4.4

N‹§²æìr¸›yúèšØb²X¬¶ÇvØ^–)Þ{.nÇ+‰·¥Š{±‘êçzX§¶›¡Ü}©ž²ÆzÚ&j:+v‰¨¾«‘êçzZ+€Ê+zf£¢·hšˆ§~†­†Ûiÿûàz¹®w¥¢¸?™¨è­Ú&¢)ßf”ù^jÇy§m…á@A«a¶Úÿ 0¶ìh®å’i