Re: [PATCH v8 8/8] clk: Add KUnit tests for clks registered with struct clk_parent_data
From: Guenter Roeck
Date: Fri Sep 27 2024 - 00:39:54 EST
On Thu, Sep 26, 2024 at 09:14:11PM -0700, Guenter Roeck wrote:
> Hi Stephen,
>
> On Thu, Jul 18, 2024 at 02:05:07PM -0700, Stephen Boyd wrote:
> > Test that clks registered with 'struct clk_parent_data' work as
> > intended and can find their parents.
> >
>
> When testing this on arm64, I see the error below. The error is only
> seen if I boot through efi, i.e., with "-bios QEMU_EFI-aarch64.fd"
> qemu parameter.
>
> Any idea what might cause the problem ?
>
I noticed that the new overlay tests fail as well, also with "path '/' not
found".
[Maybe] answering my own question: I think the problem may be that there
is no devicetree file and thus no devicetree root when booting through
efi (in other words, of_root is NULL). Would it make sense to skip the
tests in that case ?
Thanks,
Guenter
> Thanks,
> Guenter
>
> ---
> [ 20.464809] KTAP version 1
> [ 20.464865] # Subtest: clk_register_clk_parent_data_of
> [ 20.464936] # module: clk_test
> [ 20.464979] 1..1
> [ 20.465098] KTAP version 1
> [ 20.465208] # Subtest: clk_register_clk_parent_data_of_test
> [ 20.468964] OF: overlay: find target, node: /fragment@0, path '/' not found
> [ 20.469558] OF: overlay: init_overlay_changeset() failed, ret = -22
> [ 20.470177] # clk_register_clk_parent_data_of_test: ASSERTION FAILED at drivers/clk/clk_test.c:2760
> [ 20.470177] Expected 0 == ({ extern uint8_t __dtbo_kunit_clk_parent_data_test_begin[]; extern uint8_t __dtbo_kunit_clk_parent_data_test_end[]; __of_overlay_apply_kunit((test), __dtbo_kunit_clk_parent_data_test_begin, __dtbo_kunit_clk_parent_data_test_end); }), but
> [ 20.470177] ({ extern uint8_t __dtbo_kunit_clk_parent_data_test_begin[]; extern uint8_t __dtbo_kunit_clk_parent_data_test_end[]; __of_overlay_apply_kunit((test), __dtbo_kunit_clk_parent_data_test_begin, __dtbo_kunit_clk_parent_data_test_end); }) == -22 (0xffffffffffffffea)
> [ 20.471793] not ok 1 clk_parent_data_of_index_test
> [ 20.474095] OF: overlay: find target, node: /fragment@0, path '/' not found
> [ 20.474373] OF: overlay: init_overlay_changeset() failed, ret = -22
> [ 20.474737] # clk_register_clk_parent_data_of_test: ASSERTION FAILED at drivers/clk/clk_test.c:2760
> [ 20.474737] Expected 0 == ({ extern uint8_t __dtbo_kunit_clk_parent_data_test_begin[]; extern uint8_t __dtbo_kunit_clk_parent_data_test_end[]; __of_overlay_apply_kunit((test), __dtbo_kunit_clk_parent_data_test_begin, __dtbo_kunit_clk_parent_data_test_end); }), but
> [ 20.474737] ({ extern uint8_t __dtbo_kunit_clk_parent_data_test_begin[]; extern uint8_t __dtbo_kunit_clk_parent_data_test_end[]; __of_overlay_apply_kunit((test), __dtbo_kunit_clk_parent_data_test_begin, __dtbo_kunit_clk_parent_data_test_end); }) == -22 (0xffffffffffffffea)
> [ 20.477677] not ok 2 clk_parent_data_of_fwname_test
> [ 20.479773] OF: overlay: find target, node: /fragment@0, path '/' not found
> [ 20.479941] OF: overlay: init_overlay_changeset() failed, ret = -22
> [ 20.480160] # clk_register_clk_parent_data_of_test: ASSERTION FAILED at drivers/clk/clk_test.c:2760
> [ 20.480160] Expected 0 == ({ extern uint8_t __dtbo_kunit_clk_parent_data_test_begin[]; extern uint8_t __dtbo_kunit_clk_parent_data_test_end[]; __of_overlay_apply_kunit((test), __dtbo_kunit_clk_parent_data_test_begin, __dtbo_kunit_clk_parent_data_test_end); }), but
> [ 20.480160] ({ extern uint8_t __dtbo_kunit_clk_parent_data_test_begin[]; extern uint8_t __dtbo_kunit_clk_parent_data_test_end[]; __of_overlay_apply_kunit((test), __dtbo_kunit_clk_parent_data_test_begin, __dtbo_kunit_clk_parent_data_test_end); }) == -22 (0xffffffffffffffea)
> [ 20.481513] not ok 3 clk_parent_data_of_name_test
> [ 20.483711] OF: overlay: find target, node: /fragment@0, path '/' not found
> [ 20.483878] OF: overlay: init_overlay_changeset() failed, ret = -22
> [ 20.484100] # clk_register_clk_parent_data_of_test: ASSERTION FAILED at drivers/clk/clk_test.c:2760
> [ 20.484100] Expected 0 == ({ extern uint8_t __dtbo_kunit_clk_parent_data_test_begin[]; extern uint8_t __dtbo_kunit_clk_parent_data_test_end[]; __of_overlay_apply_kunit((test), __dtbo_kunit_clk_parent_data_test_begin, __dtbo_kunit_clk_parent_data_test_end); }), but
> [ 20.484100] ({ extern uint8_t __dtbo_kunit_clk_parent_data_test_begin[]; extern uint8_t __dtbo_kunit_clk_parent_data_test_end[]; __of_overlay_apply_kunit((test), __dtbo_kunit_clk_parent_data_test_begin, __dtbo_kunit_clk_parent_data_test_end); }) == -22 (0xffffffffffffffea)
> [ 20.485444] not ok 4 clk_parent_data_of_fwname_name_test
> [ 20.487432] OF: overlay: find target, node: /fragment@0, path '/' not found
> [ 20.487600] OF: overlay: init_overlay_changeset() failed, ret = -22
> [ 20.487841] # clk_register_clk_parent_data_of_test: ASSERTION FAILED at drivers/clk/clk_test.c:2760
> [ 20.487841] Expected 0 == ({ extern uint8_t __dtbo_kunit_clk_parent_data_test_begin[]; extern uint8_t __dtbo_kunit_clk_parent_data_test_end[]; __of_overlay_apply_kunit((test), __dtbo_kunit_clk_parent_data_test_begin, __dtbo_kunit_clk_parent_data_test_end); }), but
> [ 20.487841] ({ extern uint8_t __dtbo_kunit_clk_parent_data_test_begin[]; extern uint8_t __dtbo_kunit_clk_parent_data_test_end[]; __of_overlay_apply_kunit((test), __dtbo_kunit_clk_parent_data_test_begin, __dtbo_kunit_clk_parent_data_test_end); }) == -22 (0xffffffffffffffea)
> [ 20.489207] not ok 5 clk_parent_data_of_index_name_priority_test
> [ 20.490998] OF: overlay: find target, node: /fragment@0, path '/' not found
> [ 20.491504] OF: overlay: init_overlay_changeset() failed, ret = -22
> [ 20.491725] # clk_register_clk_parent_data_of_test: ASSERTION FAILED at drivers/clk/clk_test.c:2760
> [ 20.491725] Expected 0 == ({ extern uint8_t __dtbo_kunit_clk_parent_data_test_begin[]; extern uint8_t __dtbo_kunit_clk_parent_data_test_end[]; __of_overlay_apply_kunit((test), __dtbo_kunit_clk_parent_data_test_begin, __dtbo_kunit_clk_parent_data_test_end); }), but
> [ 20.491725] ({ extern uint8_t __dtbo_kunit_clk_parent_data_test_begin[]; extern uint8_t __dtbo_kunit_clk_parent_data_test_end[]; __of_overlay_apply_kunit((test), __dtbo_kunit_clk_parent_data_test_begin, __dtbo_kunit_clk_parent_data_test_end); }) == -22 (0xffffffffffffffea)
> [ 20.493053] not ok 6 clk_parent_data_of_index_fwname_name_priority_test
> [ 20.493583] # clk_register_clk_parent_data_of_test: pass:0 fail:6 skip:0 total:6
> [ 20.493701] not ok 1 clk_register_clk_parent_data_of_test
> [ 20.493822] # clk_register_clk_parent_data_of: pass:0 fail:1 skip:0 total:1
> [ 20.493920] # Totals: pass:0 fail:6 skip:0 total:6
> [ 20.494032] not ok 49 clk_register_clk_parent_data_of