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: '/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'
The bisect log:
git bisect start # good: [f9a7eda4d73d44dc1d17d05cdc9aeb9fc5660740] Merge tag 'hwmon-for-v6.7' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging git bisect good f9a7eda4d73d44dc1d17d05cdc9aeb9fc5660740 # bad: [8bc9e6515183935fa0cccaf67455c439afe4982b] Merge tag 'devicetree-for-6.7' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux git bisect bad 8bc9e6515183935fa0cccaf67455c439afe4982b # good: [0a6d7f8275f255eda823c0f0b61d024f6f5b483d] Merge branch 'clk-cleanup' into clk-next git bisect good 0a6d7f8275f255eda823c0f0b61d024f6f5b483d # good: [fe4ae2fab00b4751265580c5865fdf23b62d80b3] Merge tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux git bisect good fe4ae2fab00b4751265580c5865fdf23b62d80b3 # good: [fc7b34ae1347f4eb36f065458e53d6065cd85928] power: supply: wm831x_backup: Convert to platform remove callback returning void git bisect good fc7b34ae1347f4eb36f065458e53d6065cd85928 # bad: [f2147371a83c6de1128093c163dc17bc61096362] dt-bindings: soc: fsl: cpm_qe: cpm1-scc-qmc: Fix example property name git bisect bad f2147371a83c6de1128093c163dc17bc61096362 # bad: [22c3888e55bf5c86be536a3d9e06a50e7bf3a39f] dt-bindings: watchdog: atmel,at91rm9200-wdt: convert txt to yaml git bisect bad 22c3888e55bf5c86be536a3d9e06a50e7bf3a39f # bad: [780967feb626c6f4efa1e4b3532f1be83884cd76] dt-bindings: Add Marantec vendor prefix git bisect bad 780967feb626c6f4efa1e4b3532f1be83884cd76 # bad: [bc17fd92c1eb7589f1f3df1893e9f62bb35b8cc8] dt-bindings: interrupt-controller: qcom,pdc: document qcom,sm4450-pdc git bisect bad bc17fd92c1eb7589f1f3df1893e9f62bb35b8cc8 # good: [365ba0c7a73cce407bf40cdf9900b86b945d4acb] dt: dt-extract-compatibles: Add flag for driver matching compatibles git bisect good 365ba0c7a73cce407bf40cdf9900b86b945d4acb # bad: [14571ab1ad213de59b3726a40aea7ca0365bf445] kselftest: Add new test for detecting unprobed Devicetree devices git bisect bad 14571ab1ad213de59b3726a40aea7ca0365bf445 # first bad commit: [14571ab1ad213de59b3726a40aea7ca0365bf445] kselftest: Add new test for detecting unprobed Devicetree devices
Thanks, Aishwarya