2022-10-27 07:42:18

by Naresh Kamboju

[permalink] [raw]
Subject: s3c6400_defconfig: arch/arm/mach-s3c/mach-crag6410.c:183:12: error: use of undeclared identifier 'KEY_VOLUMEUP'

Following build warnings / errors noticed while building arm s3c6400_defconfig
with clang tool chain.

Reported-by: Linux Kernel Functional Testing <[email protected]>

make --silent --keep-going --jobs=8
O=/home/tuxbuild/.cache/tuxmake/builds/1/build LLVM=1 LLVM_IAS=1
ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- 'HOSTCC=sccache clang'
'CC=sccache clang'
arch/arm/mach-s3c/s3c64xx.c:430:9: warning: The platform is deprecated
and scheduled for removal. Please reach to the maintainers of the
platform and [email protected] if you still use
it.Without such feedback, the platform will be removed after 2024.
[-W#pragma-messages]
#pragma message "The platform is deprecated and scheduled for removal. " \
^
1 warning generated.
arch/arm/mach-s3c/mach-crag6410.c:183:12: error: use of undeclared
identifier 'KEY_VOLUMEUP'
KEY(0, 0, KEY_VOLUMEUP),
^
arch/arm/mach-s3c/mach-crag6410.c:184:12: error: use of undeclared
identifier 'KEY_HOME'
KEY(0, 1, KEY_HOME),
^
arch/arm/mach-s3c/mach-crag6410.c:185:12: error: use of undeclared
identifier 'KEY_VOLUMEDOWN'
KEY(0, 2, KEY_VOLUMEDOWN),
^
arch/arm/mach-s3c/mach-crag6410.c:186:12: error: use of undeclared
identifier 'KEY_HELP'
KEY(0, 3, KEY_HELP),
^
arch/arm/mach-s3c/mach-crag6410.c:187:12: error: use of undeclared
identifier 'KEY_MENU'
KEY(0, 4, KEY_MENU),
^
arch/arm/mach-s3c/mach-crag6410.c:188:12: error: use of undeclared
identifier 'KEY_MEDIA'
KEY(0, 5, KEY_MEDIA),
^
arch/arm/mach-s3c/mach-crag6410.c:190:12: error: use of undeclared
identifier 'KEY_DOWN'; did you mean 'SM_DOWN'?
KEY(1, 1, KEY_DOWN),
^~~~~~~~
SM_DOWN
include/linux/input/matrix_keypad.h:15:8: note: expanded from macro 'KEY'
((val) & 0xffff))
^
include/linux/console.h:29:2: note: 'SM_DOWN' declared here
SM_DOWN,
^
arch/arm/mach-s3c/mach-crag6410.c:191:12: error: use of undeclared
identifier 'KEY_LEFT'
KEY(1, 2, KEY_LEFT),
^
arch/arm/mach-s3c/mach-crag6410.c:192:12: error: use of undeclared
identifier 'KEY_UP'
KEY(1, 3, KEY_UP),
^
arch/arm/mach-s3c/mach-crag6410.c:193:12: error: use of undeclared
identifier 'KEY_RIGHT'
KEY(1, 4, KEY_RIGHT),
^
arch/arm/mach-s3c/mach-crag6410.c:194:12: error: use of undeclared
identifier 'KEY_CAMERA'
KEY(1, 5, KEY_CAMERA),
^
arch/arm/mach-s3c/mach-crag6410.c:199:17: error: invalid application
of 'sizeof' to an incomplete type 'uint32_t[]' (aka 'unsigned int[]')
.keymap_size = ARRAY_SIZE(crag6410_keymap),
^~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/kernel.h:55:32: note: expanded from macro 'ARRAY_SIZE'
#define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]) + __must_be_array(arr))
^~~~~
arch/arm/mach-s3c/mach-crag6410.c:210:11: error: use of undeclared
identifier 'KEY_SUSPEND'
.code = KEY_SUSPEND,
^
arch/arm/mach-s3c/mach-crag6410.c:212:11: error: use of undeclared
identifier 'EV_KEY'
.type = EV_KEY,
^
arch/arm/mach-s3c/mach-crag6410.c:217:11: error: use of undeclared
identifier 'SW_FRONT_PROXIMITY'
.code = SW_FRONT_PROXIMITY,
^
arch/arm/mach-s3c/mach-crag6410.c:219:11: error: use of undeclared
identifier 'EV_SW'
.type = EV_SW,
^
arch/arm/mach-s3c/mach-crag6410.c:225:14: error: invalid application
of 'sizeof' to an incomplete type 'struct gpio_keys_button[]'
.nbuttons = ARRAY_SIZE(crag6410_gpio_keys),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/kernel.h:55:32: note: expanded from macro 'ARRAY_SIZE'
#define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]) + __must_be_array(arr))
^~~~~
17 errors generated.
make[3]: *** [scripts/Makefile.build:250:
arch/arm/mach-s3c/mach-crag6410.o] Error 1

Build compare results
https://qa-reports.linaro.org/lkft/linux-next-master/build/next-20221027/testrun/12686125/suite/build/test/gcc-8-s3c6400_defconfig/history/

Build log:
https://builds.tuxbuild.com/2GhZbWVKwBdCV4AryWkU6kAZ37i/

--
Linaro LKFT
https://lkft.linaro.org


2022-10-27 09:40:08

by Arnd Bergmann

[permalink] [raw]
Subject: Re: s3c6400_defconfig: arch/arm/mach-s3c/mach-crag6410.c:183:12: error: use of undeclared identifier 'KEY_VOLUMEUP'

On Thu, Oct 27, 2022, at 09:29, Naresh Kamboju wrote:
> Following build warnings / errors noticed while building arm s3c6400_defconfig
> with clang tool chain.

Do you mean this is a clang specific issue?

> arch/arm/mach-s3c/mach-crag6410.c:183:12: error: use of undeclared
> identifier 'KEY_VOLUMEUP'
> KEY(0, 0, KEY_VOLUMEUP),
> ^

I can see that KEY_VOLUMEUP is defined in <linux/input-event-codes.h>,
which is included by a couple of files in the kernel, but not
from this specific board file, so I don't see how it works with gcc.

Isn't this just a regression from commit 1810e248b2dc ("Input:
matrix_keypad - replace header inclusions by forward declarations")?

If that is the problem, I would expect to see the same thing in
all of these files, regardless of the compiler:

$ git grep -wl '\(linux/input/matrix_keypad.h\|linux/mfd/twl.h\|linux/platform_data/keyboard-spear.h\|linux/platform_data/keypad-nomadik-ske.h\|linux/platform_data/keypad-omap.h\|linux/platform_data/keypad-pxa27x.h\|linux/input/samsung-keypad.h\|\"keypad.h\"\)' | xargs grep -l \\\<KEY_ | xargs grep -L '\(linux/input-events-code.h\|linux/input.h\)' | grep '\.c$'

arch/arm/mach-pxa/corgi.c
arch/arm/mach-pxa/littleton.c
arch/arm/mach-pxa/spitz.c
arch/arm/mach-pxa/tavorevb.c
arch/arm/mach-pxa/z2.c
arch/arm/mach-pxa/zylonite.c
arch/arm/mach-s3c/mach-crag6410.c

Arnd