Hi Baojun,
kernel test robot noticed the following build warnings:
[auto build test WARNING on tiwai-sound/for-next] [also build test WARNING on tiwai-sound/for-linus rafael-pm/linux-next linus/master v6.9-rc3 next-20240409] [cannot apply to rafael-pm/acpi-bus rafael-pm/devprop] [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/Baojun-Xu/ALSA-hda-tas2781-Mo... base: https://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git for-next patch link: https://lore.kernel.org/r/20240409024816.1180-4-baojun.xu%40ti.com patch subject: [PATCH v2 3/3] ALSA: hda/tas2781: Firmware load for tas2781 driver for SPI config: arm64-allyesconfig (https://download.01.org/0day-ci/archive/20240410/202404100229.tkI9vGOu-lkp@i...) compiler: clang version 19.0.0git (https://github.com/llvm/llvm-project 8b3b4a92adee40483c27f26c478a384cd69c6f05) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240410/202404100229.tkI9vGOu-lkp@i...)
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@intel.com | Closes: https://lore.kernel.org/oe-kbuild-all/202404100229.tkI9vGOu-lkp@intel.com/
All warnings (new ones prefixed by >>):
In file included from sound/pci/hda/tas2781_spi_fwlib.c:17: In file included from include/sound/pcm_params.h:10: In file included from include/sound/pcm.h:15: In file included from include/linux/mm.h:2208: include/linux/vmstat.h:508:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion] 508 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~ ^ 509 | item]; | ~~~~ include/linux/vmstat.h:515:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion] 515 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~ ^ 516 | NR_VM_NUMA_EVENT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~~ include/linux/vmstat.h:522:36: warning: arithmetic between different enumeration types ('enum node_stat_item' and 'enum lru_list') [-Wenum-enum-conversion] 522 | return node_stat_name(NR_LRU_BASE + lru) + 3; // skip "nr_" | ~~~~~~~~~~~ ^ ~~~ include/linux/vmstat.h:527:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion] 527 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~ ^ 528 | NR_VM_NUMA_EVENT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~~ include/linux/vmstat.h:536:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion] 536 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~ ^ 537 | NR_VM_NUMA_EVENT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~~
sound/pci/hda/tas2781_spi_fwlib.c:2149:3: warning: variable 'status' is uninitialized when used here [-Wuninitialized]
2149 | status++; | ^~~~~~ sound/pci/hda/tas2781_spi_fwlib.c:2084:12: note: initialize the variable 'status' to silence this warning 2084 | int status; | ^ | = 0 6 warnings generated.
vim +/status +2149 sound/pci/hda/tas2781_spi_fwlib.c
2073 2074 int tasdevice_spi_select_tuningprm_cfg(void *context, int prm_no, 2075 int cfg_no, int rca_conf_no) 2076 { 2077 struct tasdevice_priv *tas_priv = (struct tasdevice_priv *) context; 2078 struct tasdevice_rca *rca = &(tas_priv->rcabin); 2079 struct tasdevice_config_info **cfg_info = rca->cfg_info; 2080 struct tasdevice_fw *tas_fmw = tas_priv->fmw; 2081 struct tasdevice_prog *program; 2082 struct tasdevice_config *conf; 2083 int prog_status = 0; 2084 int status; 2085 2086 if (!tas_fmw) { 2087 dev_err(tas_priv->dev, "%s: Firmware is NULL\n", __func__); 2088 return 0; 2089 } 2090 2091 if (cfg_no >= tas_fmw->nr_configurations) { 2092 dev_err(tas_priv->dev, 2093 "%s: cfg(%d) is not in range of conf %u\n", 2094 __func__, cfg_no, tas_fmw->nr_configurations); 2095 return 0; 2096 } 2097 2098 if (prm_no >= tas_fmw->nr_programs) { 2099 dev_err(tas_priv->dev, 2100 "%s: prm(%d) is not in range of Programs %u\n", 2101 __func__, prm_no, tas_fmw->nr_programs); 2102 return 0; 2103 } 2104 2105 if (rca_conf_no >= rca->ncfgs || rca_conf_no < 0 || 2106 !cfg_info) { 2107 dev_err(tas_priv->dev, 2108 "conf_no:%d should be in range from 0 to %u\n", 2109 rca_conf_no, rca->ncfgs-1); 2110 return 0; 2111 } 2112 2113 if (cfg_info[rca_conf_no]->active_dev & 1) { 2114 if (prm_no >= 0 && (tas_priv->tasdevice.cur_prog != prm_no 2115 || tas_priv->force_fwload_status)) { 2116 tas_priv->tasdevice.cur_conf = -1; 2117 tas_priv->tasdevice.is_loading = true; 2118 prog_status++; 2119 } 2120 } else { 2121 tas_priv->tasdevice.is_loading = false; 2122 } 2123 2124 if (prog_status) { 2125 program = &(tas_fmw->programs[prm_no]); 2126 tasdevice_load_data(tas_priv, &(program->dev_data)); 2127 if (tas_priv->tasdevice.is_loaderr == false 2128 && tas_priv->tasdevice.is_loading == true) { 2129 struct tasdevice_fw *cal_fmw = 2130 tas_priv->tasdevice.cali_data_fmw; 2131 2132 if (cal_fmw) { 2133 struct tasdevice_calibration 2134 *cal = cal_fmw->calibrations; 2135 2136 if (cal) 2137 load_calib_data(tas_priv, 2138 &(cal->dev_data)); 2139 } 2140 tas_priv->tasdevice.cur_prog = prm_no; 2141 } 2142 2143 } 2144 2145 if (cfg_no >= 0 2146 && (tas_priv->tasdevice.cur_conf != cfg_no) 2147 && (cfg_info[rca_conf_no]->active_dev & 1) 2148 && (tas_priv->tasdevice.is_loaderr == false)) {
2149 status++;
2150 tas_priv->tasdevice.is_loading = true; 2151 } else { 2152 tas_priv->tasdevice.is_loading = false; 2153 } 2154 2155 if (status) { 2156 conf = &(tas_fmw->configs[cfg_no]); 2157 status = 0; 2158 tasdevice_load_data(tas_priv, &(conf->dev_data)); 2159 if (tas_priv->tasdevice.is_loaderr == true) { 2160 status |= 1 << 4; 2161 } else if (tas_priv->tasdevice.is_loaderr == false 2162 && tas_priv->tasdevice.is_loading == true) { 2163 tas_priv->tasdevice.cur_conf = cfg_no; 2164 } 2165 } else 2166 dev_dbg(tas_priv->dev, "%s: Unneeded loading dsp conf %d\n", 2167 __func__, cfg_no); 2168 2169 status |= cfg_info[rca_conf_no]->active_dev; 2170 2171 return prog_status; 2172 } 2173