Re: [PATCH v2] thermal: Add QPNP PMIC temperature alarm driver

Ivan T. Ivanov
2014-09-30T07:36:46Z

On Tue, 2014-09-30 at 10:00 +0530, Kiran Padwal wrote:
> On Monday 29 September 2014 07:24 PM, Ivan T. Ivanov wrote:
> > On Fri, 2014-09-26 at 16:51 +0530, Kiran Padwal wrote:
> >> On Thursday 25 September 2014 07:00 PM, Ivan T. Ivanov wrote:
> >>> Add support for the temperature alarm peripheral found inside
> >>> Qualcomm plug-and-play (QPNP) PMIC chips. The temperature alarm
> >>> peripheral outputs a pulse on an interrupt line whenever the
> >>> thermal over temperature stage value changes. Implement an ISR
> >>> to manage this interrupt.
> >>>
> >>
> >> <snip>
> >>
> >>> + * This function updates the internal temp value based on the
> >>> + * current thermal stage and threshold as well as the previous stage
> >>> + */
> >>> +static int qpnp_tm_update_temp_no_adc(struct qpnp_tm_chip *chip)
> >>> +{
> >>> + unsigned int stage;
> >>> + int rc;
> >>> + u8 reg;
> >>> +
> >>> + rc = qpnp_tm_read(chip, QPNP_TM_REG_STATUS, &reg);
> >>> + if (rc < 0)
> >>> + return rc;
> >>> +
> >>> + stage = reg & STATUS_STAGE_MASK;
> >>
> >> During compilation, getting a waring as below,
> >>
> >> drivers/thermal/qpnp-temp-alarm.c: In function ‘qpnp_tm_update_temp_no_adc’:
> >> drivers/thermal/qpnp-temp-alarm.c:135:8: warning: ‘reg’ may be used uninitialized in this function [-Wmaybe-uninitialized]
> >> stage = reg & STATUS_STAGE_MASK;
> >
> > Could you share compiler version and options which you are using.
> > I am unable to trigger this warning. Looking code I can not
> > see how this could happen.
>
> I have Linaro cross tool chain with version-4.8.3 and I am simply doing "make zImage" without any option.

Hm, no warnings with arm-unknown-linux-gnueabi-gcc (GCC) 4.6.3 and
arm-linux-gnueabihf-gcc (crosstool-NG linaro-1.13.1-4.9-2014.09, but
indeed arm-linux-gnueabihf-gcc (crosstool-NG linaro-1.13.1-4.8-2014.03.

I will say that this is false positive :-). Please update your tool-chain.

Regards,
Ivan