Messages in this thread | | | Date | Mon, 27 Mar 2023 05:25:26 +0800 | From | kernel test robot <> | Subject | drivers/media/i2c/tc358746.c:817:13: warning: 'p_best' is used uninitialized |
| |
Hi Marco,
FYI, the error/warning still remains.
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: 0ec57cfa721fbd36b4c4c0d9ccc5d78a78f7fa35 commit: 80a21da360516fa602f3a50eb9792f9dfbfb5fdb media: tc358746: add Toshiba TC358746 Parallel to CSI-2 bridge driver date: 5 months ago config: arc-randconfig-r021-20230327 (https://download.01.org/0day-ci/archive/20230327/202303270506.UifKK4hb-lkp@intel.com/config) compiler: arceb-elf-gcc (GCC) 12.1.0 reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=80a21da360516fa602f3a50eb9792f9dfbfb5fdb git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git git fetch --no-tags linus master git checkout 80a21da360516fa602f3a50eb9792f9dfbfb5fdb # save the config file mkdir build_dir && cp config build_dir/.config COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=arc olddefconfig COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=arc SHELL=/bin/bash drivers/media/i2c/
If you fix the issue, kindly add following tag where applicable | Reported-by: kernel test robot <lkp@intel.com> | Link: https://lore.kernel.org/oe-kbuild-all/202303270506.UifKK4hb-lkp@intel.com/
All warnings (new ones prefixed by >>):
drivers/media/i2c/tc358746.c: In function 'tc358746_find_pll_settings': >> drivers/media/i2c/tc358746.c:817:13: warning: 'p_best' is used uninitialized [-Wuninitialized] 817 | u16 p_best, p; | ^~~~~~ >> drivers/media/i2c/tc358746.c:816:13: warning: 'm_best' is used uninitialized [-Wuninitialized] 816 | u16 m_best, mul; | ^~~~~~
vim +/p_best +817 drivers/media/i2c/tc358746.c
805 806 static unsigned long tc358746_find_pll_settings(struct tc358746 *tc358746, 807 unsigned long refclk, 808 unsigned long fout) 809 810 { 811 struct device *dev = tc358746->sd.dev; 812 unsigned long best_freq = 0; 813 u32 min_delta = 0xffffffff; 814 u16 prediv_max = 17; 815 u16 prediv_min = 1; > 816 u16 m_best, mul; > 817 u16 p_best, p; 818 u8 postdiv; 819 820 if (fout > 1000 * HZ_PER_MHZ) { 821 dev_err(dev, "HS-Clock above 1 Ghz are not supported\n"); 822 return 0; 823 } 824 825 if (fout >= 500 * HZ_PER_MHZ) 826 postdiv = 1; 827 else if (fout >= 250 * HZ_PER_MHZ) 828 postdiv = 2; 829 else if (fout >= 125 * HZ_PER_MHZ) 830 postdiv = 4; 831 else 832 postdiv = 8; 833 834 for (p = prediv_min; p <= prediv_max; p++) { 835 unsigned long delta, fin; 836 u64 tmp; 837 838 fin = DIV_ROUND_CLOSEST(refclk, p); 839 if (fin < 4 * HZ_PER_MHZ || fin > 40 * HZ_PER_MHZ) 840 continue; 841 842 tmp = fout * p * postdiv; 843 do_div(tmp, fin); 844 mul = tmp; 845 if (mul > 511) 846 continue; 847 848 tmp = mul * fin; 849 do_div(tmp, p * postdiv); 850 851 delta = abs(fout - tmp); 852 if (delta < min_delta) { 853 p_best = p; 854 m_best = mul; 855 min_delta = delta; 856 best_freq = tmp; 857 }; 858 859 if (delta == 0) 860 break; 861 }; 862 863 if (!best_freq) { 864 dev_err(dev, "Failed find PLL frequency\n"); 865 return 0; 866 } 867 868 tc358746->pll_post_div = postdiv; 869 tc358746->pll_pre_div = p_best; 870 tc358746->pll_mul = m_best; 871 872 if (best_freq != fout) 873 dev_warn(dev, "Request PLL freq:%lu, found PLL freq:%lu\n", 874 fout, best_freq); 875 876 dev_dbg(dev, "Found PLL settings: freq:%lu prediv:%u multi:%u postdiv:%u\n", 877 best_freq, p_best, m_best, postdiv); 878 879 return best_freq; 880 } 881
-- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests
| |