Re: [PATCH] acpi: Fix header declaration of acpi_arch_dma_setup() w/o CONFIG_ACPI

From: Dave Jiang
Date: Thu Jun 01 2023 - 11:25:19 EST



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.