Hi Aishwarya, On Thu, 2 Nov 2023 at 17:41, Aishwarya TCV <aishwarya.tcv@xxxxxxx> 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@xxxxxxxxxxxxx> > > Reviewed-by: Shuah Khan <skhan@xxxxxxxxxxxxxxxxxxx> > > > > 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/defconfig%2Bkselftest/gcc-10/logs/kselftest.log > > 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-kernel/linux/files/systemd.config --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/2XYjd2yxHiay3gVALCGpAch4G8o/config dtbs dtbs-legacy headers kernel kselftest modules Build links: [1] https://storage.tuxsuite.com/public/linaro/lkft/builds/2XYjd2yxHiay3gVALCGpAch4G8o/ - Naresh