thermal: qcom: tsens-v1: Add support for MSM8956 and MSM8976
Hello AngeloGioacchino Del Regno,
The patch 95ededc17e4e: "thermal: qcom: tsens-v1: Add support for MSM8956 and MSM8976" from Oct 5, 2019, leads to the following static checker warning:
drivers/thermal/qcom/tsens-v1.c:253 calibrate_8976() warn: mask and shift to zero
drivers/thermal/qcom/tsens-v1.c
235 static int calibrate_8976(struct tsens_priv *priv) 236 {
237 int base0 = 0, base1 = 0, i;
238 u32 p1[11], p2[11];
239 int mode = 0, tmp = 0;
240 u32 *qfprom_cdata;
241
242 qfprom_cdata = (u32 *)qfprom_read(priv->dev, "calib");
243 if (IS_ERR(qfprom_cdata)) {
244 kfree(qfprom_cdata);
245 return PTR_ERR(qfprom_cdata);
246 }
247
248 mode = (qfprom_cdata[4] & MSM8976_CAL_SEL_MASK);
249 dev_dbg(priv->dev, "calibration mode is %d\n", mode);
250
251 switch (mode) {
252 case TWO_PT_CALIB:
253 base1 = (qfprom_cdata[2] & MSM8976_BASE1_MASK) >> MSM8976_BASE1_SHIFT;
^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^
0xff >> 8base1 is always going to be zero.
254 p2[0] = (qfprom_cdata[0] & MSM8976_S0_P2_MASK) >> MSM8976_S0_P2_SHIFT; 255 p2[1] = (qfprom_cdata[0] & MSM8976_S1_P2_MASK) >> MSM8976_S1_P2_SHIFT; 256 p2[2] = (qfprom_cdata[1] & MSM8976_S2_P2_MASK) >> MSM8976_S2_P2_SHIFT; 257 p2[3] = (qfprom_cdata[1] & MSM8976_S3_P2_MASK) >> MSM8976_S3_P2_SHIFT; 258 p2[4] = (qfprom_cdata[2] & MSM8976_S4_P2_MASK) >> MSM8976_S4_P2_SHIFT; 259 p2[5] = (qfprom_cdata[2] & MSM8976_S5_P2_MASK) >> MSM8976_S5_P2_SHIFT; 260 p2[6] = (qfprom_cdata[3] & MSM8976_S6_P2_MASK) >> MSM8976_S6_P2_SHIFT; 261 p2[7] = (qfprom_cdata[3] & MSM8976_S7_P2_MASK) >> MSM8976_S7_P2_SHIFT; 262 p2[8] = (qfprom_cdata[4] & MSM8976_S8_P2_MASK) >> MSM8976_S8_P2_SHIFT; 263 p2[9] = (qfprom_cdata[4] & MSM8976_S9_P2_MASK) >> MSM8976_S9_P2_SHIFT; 264 p2[10] = (qfprom_cdata[5] & MSM8976_S10_P2_MASK) >> MSM8976_S10_P2_SHIFT;
265
266 for (i = 0; i < priv->num_sensors; i++)
267 p2[i] = ((base1 + p2[i]) << 2);
268 /* Fall through */
regards,
dan carpenter