include/linux/acpi.h | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-)
arm64 build can be done without CONFIG_ACPI. The ifdef bits for
acpi_arch_dma_setup() is placed inside CONFIG_ACPI. When CONFIG_ACPI is
not set, this causes warning reported by kernel test bot. Move the
prototype declaration for acpi_arch_dma_setup() outside of CONFIG_ACPI.
>> drivers/acpi/arm64/dma.c:7:6: warning: no previous prototype for function 'acpi_arch_dma_setup' [-Wmissing-prototypes]
void acpi_arch_dma_setup(struct device *dev)
^
drivers/acpi/arm64/dma.c:7:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void acpi_arch_dma_setup(struct device *dev)
^
static
1 warning generated.
Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202305200933.afKCLlxS-lkp@intel.com/
Fixes: bf2ee8d0c385 ("ACPI: scan: Support multiple DMA windows with different offsets")
CC: Jianmin Lv <lvjianmin@loongson.cn>
CC: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Dave Jiang <dave.jiang@intel.com>
---
include/linux/acpi.h | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/include/linux/acpi.h b/include/linux/acpi.h
index 7b71dd74baeb..a0a8492d8a60 100644
--- a/include/linux/acpi.h
+++ b/include/linux/acpi.h
@@ -281,12 +281,6 @@ acpi_numa_processor_affinity_init(struct acpi_srat_cpu_affinity *pa) { }
void acpi_numa_x2apic_affinity_init(struct acpi_srat_x2apic_cpu_affinity *pa);
-#if defined(CONFIG_ARM64) || defined(CONFIG_LOONGARCH)
-void acpi_arch_dma_setup(struct device *dev);
-#else
-static inline void acpi_arch_dma_setup(struct device *dev) { }
-#endif
-
#ifdef CONFIG_ARM64
void acpi_numa_gicc_affinity_init(struct acpi_srat_gicc_affinity *pa);
#else
@@ -1084,6 +1078,12 @@ static inline bool acpi_sleep_state_supported(u8 sleep_state)
#endif /* !CONFIG_ACPI */
+#if defined(CONFIG_ARM64) || defined(CONFIG_LOONGARCH)
+void acpi_arch_dma_setup(struct device *dev);
+#else
+static inline void acpi_arch_dma_setup(struct device *dev) { }
+#endif
+
#ifdef CONFIG_ACPI_HOTPLUG_IOAPIC
int acpi_ioapic_add(acpi_handle root);
#else
Hi Dave, Sorry for the late reply, I have some comments inline. On 2023/5/23 0:06, Dave Jiang wrote: > arm64 build can be done without CONFIG_ACPI. The ifdef bits for > acpi_arch_dma_setup() is placed inside CONFIG_ACPI. When CONFIG_ACPI is > not set, this causes warning reported by kernel test bot. Move the > prototype declaration for acpi_arch_dma_setup() outside of CONFIG_ACPI. ... > >>> drivers/acpi/arm64/dma.c:7:6: warning: no previous prototype for function 'acpi_arch_dma_setup' [-Wmissing-prototypes] > void acpi_arch_dma_setup(struct device *dev) > ^ > drivers/acpi/arm64/dma.c:7:1: note: declare 'static' if the function is not intended to be used outside of this translation unit > void acpi_arch_dma_setup(struct device *dev) > ^ > static > 1 warning generated. drivers/acpi can only be compiled with CONFIG_ACPI=y, so drivers/acpi/arm64/ will be the same, not sure how to trigger this compile warning. I disable CONFIG_ACPI on my ARM64 machine, but didn't get the warning you reported. > > Reported-by: kernel test robot <lkp@intel.com> > Closes: https://lore.kernel.org/oe-kbuild-all/202305200933.afKCLlxS-lkp@intel.com/ How to generate the kernel config file as you kindly attached in the link? Thanks Hanjun
On 2023-06-01 02:48, Hanjun Guo wrote:
> Hi Dave,
>
> Sorry for the late reply, I have some comments inline.
>
> On 2023/5/23 0:06, Dave Jiang wrote:
>> arm64 build can be done without CONFIG_ACPI. The ifdef bits for
>> acpi_arch_dma_setup() is placed inside CONFIG_ACPI. When CONFIG_ACPI is
>> not set, this causes warning reported by kernel test bot. Move the
>> prototype declaration for acpi_arch_dma_setup() outside of CONFIG_ACPI.
>
> ...
>
>>
>>>> drivers/acpi/arm64/dma.c:7:6: warning: no previous prototype for
>>>> function 'acpi_arch_dma_setup' [-Wmissing-prototypes]
>> void acpi_arch_dma_setup(struct device *dev)
>> ^
>> drivers/acpi/arm64/dma.c:7:1: note: declare 'static' if the
>> function is not intended to be used outside of this translation unit
>> void acpi_arch_dma_setup(struct device *dev)
>> ^
>> static
>> 1 warning generated.
>
> drivers/acpi can only be compiled with CONFIG_ACPI=y, so
> drivers/acpi/arm64/ will be the same, not sure how to trigger
> this compile warning.
>
> I disable CONFIG_ACPI on my ARM64 machine, but didn't get the
> warning you reported.
Looking at the linked LKP report, it seems it's it's explicitly trying
to build drivers/acpi/arm64/ despite the config:
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1
O=build_dir ARCH=arm64 olddefconfig
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1
O=build_dir ARCH=arm64 SHELL=/bin/bash drivers/acpi/arm64/
So I guess it's a problem with the LKP setup? In general, trying to
build arbitrary parts of the kernel which are configured out can never
be expected to work.
Thanks,
Robin.
On 6/1/23 03:31, Robin Murphy wrote: > On 2023-06-01 02:48, Hanjun Guo wrote: >> Hi Dave, >> >> Sorry for the late reply, I have some comments inline. >> >> On 2023/5/23 0:06, Dave Jiang wrote: >>> arm64 build can be done without CONFIG_ACPI. The ifdef bits for >>> acpi_arch_dma_setup() is placed inside CONFIG_ACPI. When CONFIG_ACPI is >>> not set, this causes warning reported by kernel test bot. Move the >>> prototype declaration for acpi_arch_dma_setup() outside of CONFIG_ACPI. >> >> ... >> >>> >>>>> drivers/acpi/arm64/dma.c:7:6: warning: no previous prototype for >>>>> function 'acpi_arch_dma_setup' [-Wmissing-prototypes] >>> void acpi_arch_dma_setup(struct device *dev) >>> ^ >>> drivers/acpi/arm64/dma.c:7:1: note: declare 'static' if the >>> function is not intended to be used outside of this translation unit >>> void acpi_arch_dma_setup(struct device *dev) >>> ^ >>> static >>> 1 warning generated. >> >> drivers/acpi can only be compiled with CONFIG_ACPI=y, so >> drivers/acpi/arm64/ will be the same, not sure how to trigger >> this compile warning. >> >> I disable CONFIG_ACPI on my ARM64 machine, but didn't get the >> warning you reported. > > Looking at the linked LKP report, it seems it's it's explicitly trying > to build drivers/acpi/arm64/ despite the config: > > mkdir build_dir && cp config build_dir/.config > COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 > O=build_dir ARCH=arm64 olddefconfig > COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 > O=build_dir ARCH=arm64 SHELL=/bin/bash drivers/acpi/arm64/ > > So I guess it's a problem with the LKP setup? In general, trying to > build arbitrary parts of the kernel which are configured out can never > be expected to work. It seems to be a problem triggered because I was working on some patches that added obj-y at the drivers/Makefile for acpi/ and opened the ACPI dir for !CONFIG_ACPI compile. The code has been reworked after comments from Rafael. So this is no longer a problem. Please ignore patch. Sorry about the noise. > > Thanks, > Robin.
© 2016 - 2026 Red Hat, Inc.