Re: [PATCH v2 2/2] clk: tests: Add tests for fractional divisor approximation

From: Frank Oltmanns
Date: Thu Jun 15 2023 - 01:16:54 EST


Hi Stephen,

On 2023-06-14 at 13:02:24 -0700, Stephen Boyd <sboyd@xxxxxxxxxx> wrote:
> Quoting Frank Oltmanns (2023-06-14 01:19:37)
>> Hi,
>>
>> On 2023-06-13 at 20:48:21 +0800, kernel test robot <lkp@xxxxxxxxx> wrote:
>> > Hi Frank,
>> >
>> > kernel test robot noticed the following build errors:
>> >
>> > [auto build test ERROR on v6.4-rc6]
>> > [also build test ERROR on linus/master]
>> > [cannot apply to clk/clk-next next-20230613]
>> > [If your patch is applied to the wrong git tree, kindly drop us a note.
>> > And when submitting patch, we suggest to use '--base' as documented in
>> > https://git-scm.com/docs/git-format-patch#_base_tree_information]
>> >
>> > url: https://github.com/intel-lab-lkp/linux/commits/Frank-Oltmanns/clk-fractional-divider-Improve-approximation-when-zero-based/20230613-163903
>> > base: v6.4-rc6
>> > patch link: https://lore.kernel.org/r/20230613083626.227476-3-frank%40oltmanns.dev
>> > patch subject: [PATCH v2 2/2] clk: tests: Add tests for fractional divisor approximation
>> > config: csky-randconfig-r011-20230612 (https://download.01.org/0day-ci/archive/20230613/202306132038.nUB6hmCv-lkp@xxxxxxxxx/config)
>> > compiler: csky-linux-gcc (GCC) 12.3.0
>> > reproduce (this is a W=1 build):
>> > mkdir -p ~/bin
>> > wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
>> > chmod +x ~/bin/make.cross
>> > git checkout v6.4-rc6
>> > b4 shazam https://lore.kernel.org/r/20230613083626.227476-3-frank@xxxxxxxxxxxx
>> > # save the config file
>> > mkdir build_dir && cp config build_dir/.config
>> > COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.3.0 ~/bin/make.cross W=1 O=build_dir ARCH=csky olddefconfig
>> > COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.3.0 ~/bin/make.cross W=1 O=build_dir ARCH=csky SHELL=/bin/bash
>> >
>> > If you fix the issue in a separate patch/commit (i.e. not just a new version of
>> > the same patch/commit), kindly add following tags
>> > | Reported-by: kernel test robot <lkp@xxxxxxxxx>
>> > | Closes: https://lore.kernel.org/oe-kbuild-all/202306132038.nUB6hmCv-lkp@xxxxxxxxx/
>> >
>> > All errors (new ones prefixed by >>, old ones prefixed by <<):
>> >
>> >>> ERROR: modpost: "clk_fractional_divider_general_approximation" [drivers/clk/clk_test.ko] undefined!
>>
>> The issue seems to be that clk_fractional_divider_general_approximation
>> is not exported as a symbol, while the config builds the clk_test as a
>> module:
>> CONFIG_CLK_KUNIT_TEST=m
>>
>> If I'm not mistaken, this means that I can't test
>> clk_fractional_divider_general_approximation directly. Instead I'd have
>> to test it using clk_fractional_divider_ops.round_rate.
>>
>> Can someone more knowlegdable than me please confirm if my understanding
>> is correct?
>
> Export the symbol.

Ok. I can do that. Please note that I had already submitted a V3 [1],
that went the way of using clk_fractional_divider_ops.round_rate. I
apologize for not waiting for your feedback prior to submission. It
won't happen again.

I liked the approach of calling clk_fd_round_rate directly via the ops,
because it might allow me to test the other ops as well using the same
blueprint. Of course, I will not add test cases, if you don't want it.
(Calling clk_fd_round_rate also had the side effect of teaching me, that
fd clocks expect the fraction to be less than or equal to 1.)

I don't want to waste your time, but if you could maybe have a chance to
look at the approach I took in V3 and tell me if you still want me to
export the symbol instead, that would be really helpful. I'll follow
your preference.

If I don't hear back until the weekend, I will treat your three words
above as your preference and prepare a V4 that goes back to calling
clk_fractional_divider_general_approximation directly.

Thank you,
Frank

[1]: https://lore.kernel.org/all/20230614185521.477924-3-frank@xxxxxxxxxxxx/