Re: [PATCH 13/13] staging: iio: tsl2x7x: add goto for TSL2X7X_LUX_CALC_OVER_FLOW

From: Jonathan Cameron
Date: Sat Oct 21 2017 - 13:46:56 EST


On Thu, 19 Oct 2017 16:06:32 -0400
Brian Masney <masneyb@xxxxxxxxxxxxx> wrote:

> This patch adds a return_max label for the two cases that need to set
> the lux to TSL2X7X_LUX_CALC_OVER_FLOW and return.
>
> Signed-off-by: Brian Masney <masneyb@xxxxxxxxxxxxx>
Sorry - don't like this last one. I think it hurts readability. Leave
this as it was.

Thanks

Jonathan
> ---
> drivers/staging/iio/light/tsl2x7x.c | 9 ++++-----
> 1 file changed, 4 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/staging/iio/light/tsl2x7x.c b/drivers/staging/iio/light/tsl2x7x.c
> index 42ed9c015aaf..898304d65f64 100644
> --- a/drivers/staging/iio/light/tsl2x7x.c
> +++ b/drivers/staging/iio/light/tsl2x7x.c
> @@ -364,10 +364,8 @@ static int tsl2x7x_get_lux(struct iio_dev *indio_dev)
> chip->als_cur_info.als_ch0 = ch0;
> chip->als_cur_info.als_ch1 = ch1;
>
> - if (ch0 >= chip->als_saturation || ch1 >= chip->als_saturation) {
> - lux = TSL2X7X_LUX_CALC_OVER_FLOW;
> + if (ch0 >= chip->als_saturation || ch1 >= chip->als_saturation)
> goto return_max;
> - }
>
> if (!ch0) {
> /* have no data, so return LAST VALUE */
> @@ -418,11 +416,12 @@ static int tsl2x7x_get_lux(struct iio_dev *indio_dev)
> lux = lux64;
> lux = (lux + 500) / 1000;
>
> - if (lux > TSL2X7X_LUX_CALC_OVER_FLOW) /* check for overflow */
> + if (lux > TSL2X7X_LUX_CALC_OVER_FLOW) { /* check for overflow */
> +return_max:
> lux = TSL2X7X_LUX_CALC_OVER_FLOW;
> + }
>
> /* Update the structure with the latest lux. */
> -return_max:
> chip->als_cur_info.lux = lux;
> ret = lux;
>