lkml.org 
[lkml]   [2023]   [Mar]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
Subjectdrivers/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

\
 
 \ /
  Last update: 2023-03-27 01:18    [W:0.103 / U:0.224 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site