> > Hi thermal-bot, > > Thank you for the patch! Yet something to improve: > > [auto build test ERROR on linus/master] > [also build test ERROR on v5.12-rc7] > [cannot apply to thermal/next next-20210415] > [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] > > url: https://github.com/0day-ci/linux/commits/thermal-bot-for-Ansuel-Smith/thermal-drivers-tsens-Convert-msm8960-to-reg_field/20210415-200542 > base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 7f75285ca572eaabc028cf78c6ab5473d0d160be > config: arm-randconfig-r015-20210415 (attached as .config) > compiler: arm-linux-gnueabi-gcc (GCC) 9.3.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://github.com/0day-ci/linux/commit/efea0f0570b6b581bdb2fad978a35fd1a521385b > git remote add linux-review https://github.com/0day-ci/linux > git fetch --no-tags linux-review thermal-bot-for-Ansuel-Smith/thermal-drivers-tsens-Convert-msm8960-to-reg_field/20210415-200542 > git checkout efea0f0570b6b581bdb2fad978a35fd1a521385b > # save the attached .config to linux build tree > COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross W=1 ARCH=arm > > If you fix the issue, kindly add following tag as appropriate > Reported-by: kernel test robot > > All errors (new ones prefixed by >>): > > drivers/thermal/qcom/tsens-8960.c: In function 'init_8960': > >> drivers/thermal/qcom/tsens-8960.c:193:29: error: 'S0_STATUS_ADDR' undeclared (first use in this function); did you mean 'INT_STATUS_ADDR'? > 193 | priv->sensor[i].status = S0_STATUS_ADDR + 40; > | ^~~~~~~~~~~~~~ > | INT_STATUS_ADDR > drivers/thermal/qcom/tsens-8960.c:193:29: note: each undeclared identifier is reported only once for each function it appears in > drivers/thermal/qcom/tsens-8960.c: At top level: > >> drivers/thermal/qcom/tsens-8960.c:284:15: error: 'VER_0' undeclared here (not in a function); did you mean 'VER_0_1'? > 284 | .ver_major = VER_0, > | ^~~~~ > | VER_0_1 > > > vim +193 drivers/thermal/qcom/tsens-8960.c > > 20d4fd84bf524ad Rajendra Nayak 2016-05-05 175 > 69b628ac71f07d6 Amit Kucheria 2019-03-20 176 static int init_8960(struct tsens_priv *priv) > 20d4fd84bf524ad Rajendra Nayak 2016-05-05 177 { > 20d4fd84bf524ad Rajendra Nayak 2016-05-05 178 int ret, i; > 20d4fd84bf524ad Rajendra Nayak 2016-05-05 179 u32 reg_cntl; > 20d4fd84bf524ad Rajendra Nayak 2016-05-05 180 > 69b628ac71f07d6 Amit Kucheria 2019-03-20 181 priv->tm_map = dev_get_regmap(priv->dev, NULL); > 69b628ac71f07d6 Amit Kucheria 2019-03-20 182 if (!priv->tm_map) > 20d4fd84bf524ad Rajendra Nayak 2016-05-05 183 return -ENODEV; > 20d4fd84bf524ad Rajendra Nayak 2016-05-05 184 > 20d4fd84bf524ad Rajendra Nayak 2016-05-05 185 /* > 20d4fd84bf524ad Rajendra Nayak 2016-05-05 186 * The status registers for each sensor are discontiguous > 20d4fd84bf524ad Rajendra Nayak 2016-05-05 187 * because some SoCs have 5 sensors while others have more > 20d4fd84bf524ad Rajendra Nayak 2016-05-05 188 * but the control registers stay in the same place, i.e > 20d4fd84bf524ad Rajendra Nayak 2016-05-05 189 * directly after the first 5 status registers. > 20d4fd84bf524ad Rajendra Nayak 2016-05-05 190 */ > 69b628ac71f07d6 Amit Kucheria 2019-03-20 191 for (i = 0; i < priv->num_sensors; i++) { > 20d4fd84bf524ad Rajendra Nayak 2016-05-05 192 if (i >= 5) > 69b628ac71f07d6 Amit Kucheria 2019-03-20 @193 priv->sensor[i].status = S0_STATUS_ADDR + 40; > 69b628ac71f07d6 Amit Kucheria 2019-03-20 194 priv->sensor[i].status += i * 4; > 20d4fd84bf524ad Rajendra Nayak 2016-05-05 195 } > 20d4fd84bf524ad Rajendra Nayak 2016-05-05 196 > 20d4fd84bf524ad Rajendra Nayak 2016-05-05 197 reg_cntl = SW_RST; > 69b628ac71f07d6 Amit Kucheria 2019-03-20 198 ret = regmap_update_bits(priv->tm_map, CNTL_ADDR, SW_RST, reg_cntl); > 20d4fd84bf524ad Rajendra Nayak 2016-05-05 199 if (ret) > 20d4fd84bf524ad Rajendra Nayak 2016-05-05 200 return ret; > 20d4fd84bf524ad Rajendra Nayak 2016-05-05 201 > 69b628ac71f07d6 Amit Kucheria 2019-03-20 202 if (priv->num_sensors > 1) { > 20d4fd84bf524ad Rajendra Nayak 2016-05-05 203 reg_cntl |= SLP_CLK_ENA | (MEASURE_PERIOD << 18); > 20d4fd84bf524ad Rajendra Nayak 2016-05-05 204 reg_cntl &= ~SW_RST; > 69b628ac71f07d6 Amit Kucheria 2019-03-20 205 ret = regmap_update_bits(priv->tm_map, CONFIG_ADDR, > 20d4fd84bf524ad Rajendra Nayak 2016-05-05 206 CONFIG_MASK, CONFIG); > 20d4fd84bf524ad Rajendra Nayak 2016-05-05 207 } else { > 20d4fd84bf524ad Rajendra Nayak 2016-05-05 208 reg_cntl |= SLP_CLK_ENA_8660 | (MEASURE_PERIOD << 16); > 20d4fd84bf524ad Rajendra Nayak 2016-05-05 209 reg_cntl &= ~CONFIG_MASK_8660; > 20d4fd84bf524ad Rajendra Nayak 2016-05-05 210 reg_cntl |= CONFIG_8660 << CONFIG_SHIFT_8660; > 20d4fd84bf524ad Rajendra Nayak 2016-05-05 211 } > 20d4fd84bf524ad Rajendra Nayak 2016-05-05 212 > 69b628ac71f07d6 Amit Kucheria 2019-03-20 213 reg_cntl |= GENMASK(priv->num_sensors - 1, 0) << SENSOR0_SHIFT; > 69b628ac71f07d6 Amit Kucheria 2019-03-20 214 ret = regmap_write(priv->tm_map, CNTL_ADDR, reg_cntl); > 20d4fd84bf524ad Rajendra Nayak 2016-05-05 215 if (ret) > 20d4fd84bf524ad Rajendra Nayak 2016-05-05 216 return ret; > 20d4fd84bf524ad Rajendra Nayak 2016-05-05 217 > 20d4fd84bf524ad Rajendra Nayak 2016-05-05 218 reg_cntl |= EN; > 69b628ac71f07d6 Amit Kucheria 2019-03-20 219 ret = regmap_write(priv->tm_map, CNTL_ADDR, reg_cntl); > 20d4fd84bf524ad Rajendra Nayak 2016-05-05 220 if (ret) > 20d4fd84bf524ad Rajendra Nayak 2016-05-05 221 return ret; > 20d4fd84bf524ad Rajendra Nayak 2016-05-05 222 > 20d4fd84bf524ad Rajendra Nayak 2016-05-05 223 return 0; > 20d4fd84bf524ad Rajendra Nayak 2016-05-05 224 } > 20d4fd84bf524ad Rajendra Nayak 2016-05-05 225 > 69b628ac71f07d6 Amit Kucheria 2019-03-20 226 static int calibrate_8960(struct tsens_priv *priv) > 20d4fd84bf524ad Rajendra Nayak 2016-05-05 227 { > 20d4fd84bf524ad Rajendra Nayak 2016-05-05 228 int i; > 20d4fd84bf524ad Rajendra Nayak 2016-05-05 229 char *data; > 20d4fd84bf524ad Rajendra Nayak 2016-05-05 230 > 69b628ac71f07d6 Amit Kucheria 2019-03-20 231 ssize_t num_read = priv->num_sensors; > 69b628ac71f07d6 Amit Kucheria 2019-03-20 232 struct tsens_sensor *s = priv->sensor; > 20d4fd84bf524ad Rajendra Nayak 2016-05-05 233 > 69b628ac71f07d6 Amit Kucheria 2019-03-20 234 data = qfprom_read(priv->dev, "calib"); > 20d4fd84bf524ad Rajendra Nayak 2016-05-05 235 if (IS_ERR(data)) > 69b628ac71f07d6 Amit Kucheria 2019-03-20 236 data = qfprom_read(priv->dev, "calib_backup"); > 20d4fd84bf524ad Rajendra Nayak 2016-05-05 237 if (IS_ERR(data)) > 20d4fd84bf524ad Rajendra Nayak 2016-05-05 238 return PTR_ERR(data); > 20d4fd84bf524ad Rajendra Nayak 2016-05-05 239 > 20d4fd84bf524ad Rajendra Nayak 2016-05-05 240 for (i = 0; i < num_read; i++, s++) > 20d4fd84bf524ad Rajendra Nayak 2016-05-05 241 s->offset = data[i]; > 20d4fd84bf524ad Rajendra Nayak 2016-05-05 242 > 6b8249abb093551 Srinivas Kandagatla 2019-08-23 243 kfree(data); > 6b8249abb093551 Srinivas Kandagatla 2019-08-23 244 > 20d4fd84bf524ad Rajendra Nayak 2016-05-05 245 return 0; > 20d4fd84bf524ad Rajendra Nayak 2016-05-05 246 } > 20d4fd84bf524ad Rajendra Nayak 2016-05-05 247 > 20d4fd84bf524ad Rajendra Nayak 2016-05-05 248 /* Temperature on y axis and ADC-code on x-axis */ > 20d4fd84bf524ad Rajendra Nayak 2016-05-05 249 static inline int code_to_mdegC(u32 adc_code, const struct tsens_sensor *s) > 20d4fd84bf524ad Rajendra Nayak 2016-05-05 250 { > 20d4fd84bf524ad Rajendra Nayak 2016-05-05 251 int slope, offset; > 20d4fd84bf524ad Rajendra Nayak 2016-05-05 252 > 20d4fd84bf524ad Rajendra Nayak 2016-05-05 253 slope = thermal_zone_get_slope(s->tzd); > 20d4fd84bf524ad Rajendra Nayak 2016-05-05 254 offset = CAL_MDEGC - slope * s->offset; > 20d4fd84bf524ad Rajendra Nayak 2016-05-05 255 > 20d4fd84bf524ad Rajendra Nayak 2016-05-05 256 return adc_code * slope + offset; > 20d4fd84bf524ad Rajendra Nayak 2016-05-05 257 } > 20d4fd84bf524ad Rajendra Nayak 2016-05-05 258 > e604bdd2a7e1087 Amit Kucheria 2020-03-12 259 static int get_temp_8960(const struct tsens_sensor *s, int *temp) > 20d4fd84bf524ad Rajendra Nayak 2016-05-05 260 { > 20d4fd84bf524ad Rajendra Nayak 2016-05-05 261 int ret; > 20d4fd84bf524ad Rajendra Nayak 2016-05-05 262 u32 code, trdy; > 8b71bce407b3f13 Amit Kucheria 2019-11-01 263 struct tsens_priv *priv = s->priv; > 20d4fd84bf524ad Rajendra Nayak 2016-05-05 264 unsigned long timeout; > 20d4fd84bf524ad Rajendra Nayak 2016-05-05 265 > 20d4fd84bf524ad Rajendra Nayak 2016-05-05 266 timeout = jiffies + usecs_to_jiffies(TIMEOUT_US); > 20d4fd84bf524ad Rajendra Nayak 2016-05-05 267 do { > 69b628ac71f07d6 Amit Kucheria 2019-03-20 268 ret = regmap_read(priv->tm_map, INT_STATUS_ADDR, &trdy); > 20d4fd84bf524ad Rajendra Nayak 2016-05-05 269 if (ret) > 20d4fd84bf524ad Rajendra Nayak 2016-05-05 270 return ret; > 20d4fd84bf524ad Rajendra Nayak 2016-05-05 271 if (!(trdy & TRDY_MASK)) > 20d4fd84bf524ad Rajendra Nayak 2016-05-05 272 continue; > 69b628ac71f07d6 Amit Kucheria 2019-03-20 273 ret = regmap_read(priv->tm_map, s->status, &code); > 20d4fd84bf524ad Rajendra Nayak 2016-05-05 274 if (ret) > 20d4fd84bf524ad Rajendra Nayak 2016-05-05 275 return ret; > 20d4fd84bf524ad Rajendra Nayak 2016-05-05 276 *temp = code_to_mdegC(code, s); > 20d4fd84bf524ad Rajendra Nayak 2016-05-05 277 return 0; > 20d4fd84bf524ad Rajendra Nayak 2016-05-05 278 } while (time_before(jiffies, timeout)); > 20d4fd84bf524ad Rajendra Nayak 2016-05-05 279 > 20d4fd84bf524ad Rajendra Nayak 2016-05-05 280 return -ETIMEDOUT; > 20d4fd84bf524ad Rajendra Nayak 2016-05-05 281 } > 20d4fd84bf524ad Rajendra Nayak 2016-05-05 282 > efea0f0570b6b58 thermal-bot for Ansuel Smith 2021-04-15 283 static struct tsens_features tsens_8960_feat = { > efea0f0570b6b58 thermal-bot for Ansuel Smith 2021-04-15 @284 .ver_major = VER_0, > efea0f0570b6b58 thermal-bot for Ansuel Smith 2021-04-15 285 .crit_int = 0, > efea0f0570b6b58 thermal-bot for Ansuel Smith 2021-04-15 286 .adc = 1, > efea0f0570b6b58 thermal-bot for Ansuel Smith 2021-04-15 287 .srot_split = 0, > efea0f0570b6b58 thermal-bot for Ansuel Smith 2021-04-15 288 .max_sensors = 11, > efea0f0570b6b58 thermal-bot for Ansuel Smith 2021-04-15 289 }; > efea0f0570b6b58 thermal-bot for Ansuel Smith 2021-04-15 290 > > --- > 0-DAY CI Kernel Test Service, Intel Corporation > https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org What happened here? This doesn't seem right.