Hi Aishwarya,
On Thu, 2 Nov 2023 at 17:41, Aishwarya TCV aishwarya.tcv@arm.com wrote:
On 28/08/2023 22:13, NĂcolas F. R. A. Prado wrote:
Introduce a new kselftest to detect devices that were declared in the Devicetree, and are expected to be probed by a driver, but weren't.
The test uses two lists: a list of compatibles that can match a Devicetree device to a driver, and a list of compatibles that should be ignored. The first is automatically generated by the dt-extract-compatibles script, and is run as part of building this test. The list of compatibles to ignore is a hand-crafted list to capture the few exceptions of compatibles that are expected to match a driver but not be bound to it.
Signed-off-by: NĂcolas F. R. A. Prado nfraprado@collabora.com Reviewed-by: Shuah Khan skhan@linuxfoundation.org
Hi Nicolas,
Currently when building kselftest against next-master and mainline-master the below build error is observed. A bisect (full log below) identified this patch as introducing the failure.
Full log from a failure:
https://storage.kernelci.org/mainline/master/v6.6-9152-gdeefd5024f07/arm64/d...
make[4]: Entering directory '/tmp/kci/linux/tools/testing/selftests/dt' /tmp/kci/linux/tools/testing/selftests/../../../scripts/dtc/dt-extract-compatibles -d /tmp/kci/linux/tools/testing/selftests/../../.. > /tmp/kci/linux/build/kselftest/dt/compatible_list Traceback (most recent call last): File "/tmp/kci/linux/tools/testing/selftests/../../../scripts/dtc/dt-extract-compatibles", line 107, in <module> compat_ignore_list.extend(parse_compatibles_to_ignore(f)) File "/tmp/kci/linux/tools/testing/selftests/../../../scripts/dtc/dt-extract-compatibles", line 67, in parse_compatibles_to_ignore with open(file, 'r', encoding='utf-8') as f: OSError: [Errno 40] Too many levels of symbolic links:
OSError: [Errno 40] Too many levels of symbolic links: This is not related to selftests/dt tests build.
May be due to, A loop of symlinks that are pointing to self / same files ?
'/tmp/kci/linux/tools/testing/selftests/../../../build/source/build/source/build/source/build/source/build/source/build/source/build/source/build/source/build/source/build/source/build/source/build/source/build/source/build/source/build/source/build/source/build/source/build/source/build/source/build/source/build/source/build/source/build/source/build/source/build/source/build/source/build/source/build/source/build/source/build/source/build/source/build/source/build/source/build/source/build/source/build/source/build/source/build/source/build/source/build/source/tools/testing/selftests/powerpc/vphn/vphn.c' make[4]: *** [Makefile:12: /tmp/kci/linux/build/kselftest/dt/compatible_list] Error 1 make[4]: Leaving directory '/tmp/kci/linux/tools/testing/selftests/dt'
Here is the log showing selftests/dt build pass for arm64 build from Linux next master branch.
Links to the successful build and kselftest.tar file shared below [1].
Build log: ======== make[4]: Entering directory 'tools/testing/selftests/dt' tools/testing/selftests/../../../scripts/dtc/dt-extract-compatibles -d tools/testing/selftests/../../.. > /home/tuxbuild/.cache/tuxmake/builds/1/build/kselftest/dt/compatible_list make[4]: Leaving directory 'tools/testing/selftests/dt
Please build by using tuxmake and validate builds are working.
steps to reproduce: ====== #!/bin/sh
# TuxMake is a command line tool and Python library that provides # portable and repeatable Linux kernel builds across a variety of # architectures, toolchains, kernel configurations, and make targets. # # TuxMake supports the concept of runtimes. # See https://docs.tuxmake.org/runtimes/, for that to work it requires # that you install podman or docker on your system. # # To install tuxmake to your home directory at ~/.local/bin: # pip3 install -U --user tuxmake # # Or install a deb/rpm depending on the running distribution # See https://tuxmake.org/install-deb/ or # https://tuxmake.org/install-rpm/ # # See https://docs.tuxmake.org/ for complete documentation. # Original tuxmake command with fragments listed below. # tuxmake --runtime podman --target-arch arm64 --toolchain gcc-13 --kconfig defconfig --kconfig-add https://raw.githubusercontent.com/Linaro/meta-lkft/kirkstone/meta/recipes-ke... --kconfig-add CONFIG_BCMGENET=y --kconfig-add tools/testing/selftests/cgroup/config --kconfig-add tools/testing/selftests/cpufreq/config --kconfig-add tools/testing/selftests/efivarfs/config --kconfig-add tools/testing/selftests/filesystems/binderfs/config --kconfig-add tools/testing/selftests/filesystems/fat/config --kconfig-add tools/testing/selftests/firmware/config --kconfig-add tools/testing/selftests/ftrace/config --kconfig-add tools/testing/selftests/gpio/config --kconfig-add tools/testing/selftests/ipc/config --kconfig-add tools/testing/selftests/memfd/config dtbs dtbs-legacy headers kernel kselftest modules
tuxmake --runtime podman --target-arch arm64 --toolchain gcc-13 --kconfig https://storage.tuxsuite.com/public/linaro/lkft/builds/2XYjd2yxHiay3gVALCGpA... dtbs dtbs-legacy headers kernel kselftest modules
Build links: [1] https://storage.tuxsuite.com/public/linaro/lkft/builds/2XYjd2yxHiay3gVALCGpA...
- Naresh