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

Frank Oltmanns frank at oltmanns.dev
Sat Jun 17 06:32:31 PDT 2023


On 2023-06-17 at 20:15:20 +0800, kernel test robot <lkp at intel.com> 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@intel.com/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@intel.com/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 at intel.com>
> | Closes: https://lore.kernel.org/oe-kbuild-all/202306172036.EevtaVp6-lkp@intel.com/
>
> 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@oltmanns.dev/

>
>
> 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



More information about the linux-arm-kernel mailing list