Re: [PATCH v4 2/2] clk: fractional-divider: tests: Add test suite for edge cases

From: Frank Oltmanns
Date: Sat Jun 17 2023 - 09:33:19 EST



On 2023-06-17 at 20:15:20 +0800, kernel test robot <lkp@xxxxxxxxx> wrote:
> Hi Frank,
>
> kernel test robot noticed the following build warnings:
>
> [auto build test WARNING on clk/clk-next]
> [also build test WARNING on linus/master v6.4-rc6 next-20230616]
> [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-and-export/20230617-183118
> base: https://git.kernel.org/pub/scm/linux/kernel/git/clk/linux.git clk-next
> patch link: https://lore.kernel.org/r/20230617102919.27564-3-frank%40oltmanns.dev
> patch subject: [PATCH v4 2/2] clk: fractional-divider: tests: Add test suite for edge cases
> config: hexagon-randconfig-r035-20230617 (https://download.01.org/0day-ci/archive/20230617/202306172036.EevtaVp6-lkp@xxxxxxxxx/config)
> compiler: clang version 17.0.0 (https://github.com/llvm/llvm-project.git 4a5ac14ee968ff0ad5d2cc1ffa0299048db4c88a)
> reproduce: (https://download.01.org/0day-ci/archive/20230617/202306172036.EevtaVp6-lkp@xxxxxxxxx/reproduce)
>
> 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/202306172036.EevtaVp6-lkp@xxxxxxxxx/
>
> All warnings (new ones prefixed by >>):
>
>>> drivers/clk/clk-fractional-divider_test.c:26:41: warning: variable 'max_m' set but not used [-Wunused-but-set-variable]
> 26 | unsigned long rate, parent_rate, m, n, max_m, max_n;
> | ^
> drivers/clk/clk-fractional-divider_test.c:88:41: warning: variable 'max_m' set but not used [-Wunused-but-set-variable]
> 88 | unsigned long rate, parent_rate, m, n, max_m, max_n;
> | ^
> 2 warnings generated.

Clang compiler warnings are fixed in version 5:
https://lore.kernel.org/all/20230617131041.18313-1-frank@xxxxxxxxxxxx/

>
>
> vim +/max_m +26 drivers/clk/clk-fractional-divider_test.c
>
> 15
> 16 /*
> 17 * Test the maximum denominator case for fd clock without flags.
> 18 *
> 19 * Expect the highest possible denominator to be used in order to get as close as possible to the
> 20 * requested rate.
> 21 */
> 22 static void clk_fd_test_approximation_max_denominator(struct kunit *test)
> 23 {
> 24 struct clk_fractional_divider *fd;
> 25 struct clk_hw *hw;
> > 26 unsigned long rate, parent_rate, m, n, max_m, max_n;
> 27
> 28 fd = kunit_kzalloc(test, sizeof(*fd), GFP_KERNEL);
> 29 KUNIT_ASSERT_NOT_NULL(test, fd);
> 30
> 31 fd->mwidth = 3;
> 32 max_m = 7;
> 33 fd->nwidth = 3;
> 34 max_n = 7;
> 35
> 36 hw = &fd->hw;
> 37
> 38 rate = 240000000;
> 39 parent_rate = (max_n + 1) * rate; /* so that it exceeds the maximum divisor */
> 40
> 41 clk_fractional_divider_general_approximation(hw, rate, &parent_rate, &m, &n);
> 42 KUNIT_EXPECT_EQ(test, parent_rate, (max_n + 1) * rate); /* parent remains unchanged */
> 43 KUNIT_EXPECT_EQ(test, m, 1);
> 44 KUNIT_EXPECT_EQ(test, n, max_n);
> 45 }
> 46