Re: [PATCH v2 2/2] iio: light: Add support for APDS9306 Light Sensor

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sun, Nov 05, 2023 at 10:22:07PM +0800, kernel test robot wrote:

> >> drivers/iio/light/apds9306.c:598:10: warning: variable 'ret' is uninitialized when used here [-Wuninitialized]
>      598 |                 return ret;
>          |                        ^~~
>    drivers/iio/light/apds9306.c:593:9: note: initialize the variable 'ret' to silence this warning
>      593 |         int ret, intg_old, gain_old, gain_new, gain_new_closest;
>          |                ^
>          |                 = 0
>    1 warning generated.

Bad advice, just use correct error code instead of ret.

>    590	static int apds9306_intg_time_set(struct apds9306_data *data, int val2)
>    591	{
>    592		struct device *dev = data->dev;
>    593		int ret, intg_old, gain_old, gain_new, gain_new_closest;
>    594		bool ok;
>    595	
>    596		if (!iio_gts_valid_time(&data->gts, val2)) {
>    597			dev_err(dev, "Unsupported integration time %u\n", val2);
>  > 598			return ret;
>    599		}
>    600	
>    601		intg_old = iio_gts_find_int_time_by_sel(&data->gts,
>    602							data->intg_time_idx);
>    603		if (ret < 0)
>    604			return ret;
>    605	
>    606		if (intg_old == val2)
>    607			return 0;
>    608	
>    609		gain_old = iio_gts_find_gain_by_sel(&data->gts, data->gain_idx);
>    610		if (gain_old < 0)
>    611			return gain_old;
>    612	
>    613		ret = iio_gts_find_new_gain_by_old_gain_time(&data->gts, gain_old,
>    614							     intg_old, val2, &gain_new);
>    615		if (gain_new < 0) {
>    616			dev_err(dev, "Unsupported gain with time\n");
>    617			return gain_new;
>    618		}
>    619	
>    620		gain_new_closest = iio_find_closest_gain_low(&data->gts, gain_new, &ok);
>    621		if (gain_new_closest < 0) {
>    622			gain_new_closest = iio_gts_get_min_gain(&data->gts);
>    623			if (gain_new_closest < 0)
>    624				return gain_new_closest < 0;
>    625		}
>    626		if (!ok)
>    627			dev_dbg(dev, "Unable to find optimum gain, setting minimum");
>    628	
>    629		ret = iio_gts_find_sel_by_int_time(&data->gts, val2);
>    630		if (ret < 0)
>    631			return ret;
>    632	
>    633		ret = apds9306_intg_time_set_hw(data, ret);
>    634		if (ret)
>    635			return ret;
>    636	
>    637		ret = iio_gts_find_sel_by_gain(&data->gts, gain_new_closest);
>    638		if (ret < 0)
>    639			return ret;
>    640	
>    641		return apds9306_gain_set_hw(data, ret);
>    642	}

-- 
With Best Regards,
Andy Shevchenko





[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Input]     [Linux Kernel]     [Linux SCSI]     [X.org]

  Powered by Linux